Create a bunch of stacks of matrices and a stack of operations. The operations include Strassen multiply, Create Submatrix, Add, Negate, Merge Submatrix, Clone, Pop, etc. Each operation specifies a matrix stack for each operation.
For each variable in the Strassen algorithm, have an individual stack. (This is easier than juggling stack depths)
The resulting algorithm ends up looking a lot like a recursive Strassen implementation, but instead you have a single loop that processes operations explicitly.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BRLast edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.