How can we speed up matrix multiplication?
SIAM Review
Algorithms: their complexity and efficiency (2nd ed.)
Algorithms: their complexity and efficiency (2nd ed.)
Superoptimizer: a look at the smallest program
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
Exploiting fast matrix multiplication within the level 3 BLAS
ACM Transactions on Mathematical Software (TOMS)
Stability of a method for multiplying complex matrices with three real matrix multiplications
SIAM Journal on Matrix Analysis and Applications
Numerical recipes in C (2nd ed.): the art of scientific computing
Numerical recipes in C (2nd ed.): the art of scientific computing
A massively parallel optimizer for expression evaluation
ICS '93 Proceedings of the 7th international conference on Supercomputing
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
A practical method for code generation based on exhaustive search
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Software Manual for the Elementary Functions (Prentice-Hall series in computational mathematics)
Software Manual for the Elementary Functions (Prentice-Hall series in computational mathematics)
SFCS '78 Proceedings of the 19th Annual Symposium on Foundations of Computer Science
Hi-index | 0.00 |
A number of "tricks" are known that trade multiplications for additions. The term "tricks" reflects the way these methods seem not to proceed from any general theory, but instead jump into existence as recipes that work. The Strassen method for 2 × 2 matrix product with seven multiplications is a well-known example, as is the method for finding a complex number product in three multiplications. We have created a practical computer program for finding such tricks automatically, where massive parallelism makes the combinatorially explosive search tolerable for small problems. One result of this program is a method for cross products of three-vectors that requires only five multiplications.