Strassen's algorithm: Difference between revisions

Content added Content deleted
m (promoted to (full) task status, added highligting and whitespace.)
Line 1: Line 1:
{{draft task}}
{{task}}

;Description
;Description
In linear algebra, the Strassen algorithm, named after Volker Strassen, is an algorithm for matrix multiplication. It is faster than the standard matrix multiplication algorithm and is useful in practice for large matrices, but would be slower than the fastest known algorithms for extremely large matrices.
In linear algebra, the Strassen algorithm   (named after Volker Strassen),   is an algorithm for matrix multiplication.

It is faster than the standard matrix multiplication algorithm and is useful in practice for large matrices,   but would be slower than the fastest known algorithms for extremely large matrices.



;Task
;Task
Write a routine, function, procedure etc. in your language to implement the Strassen algorithm for matrix multiplication.
Write a routine, function, procedure etc. in your language to implement the Strassen algorithm for matrix multiplication.


While practical implementations of Strassen's algorithm usually switch to standard methods of matrix multiplication for small enough submatrices (currently anything < 512x512 according to wp), for the purposes of this task you should not switch until reaching a size of 1 or 2.
While practical implementations of Strassen's algorithm usually switch to standard methods of matrix multiplication for small enough sub-matrices (currently anything less than &nbsp; 512&times;512 &nbsp; according to Wikipedia), &nbsp; for the purposes of this task you should not switch until reaching a size of 1 or 2.



;Related task
;Related task
:* [[Matrix multiplication]]
:* [[Matrix multiplication]]



;See also
;See also
:* [[wp:Strassen algorithm|Wikipedia article]]
:* [[wp:Strassen algorithm|Wikipedia article]]
<br><br>



=={{header|Go}}==
=={{header|Go}}==