Sparse Decomposition for Matrix Multiplication Leading Coefficient Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current matrix multiplication algorithms, despite asymptotic improvements, often have large leading coefficients that render them impractical due to high hidden constants, and are mainly applicable to large matrices, limiting their practicality for smaller matrices.
Innovation Solution
The implementation of sparse decomposition techniques that allow for non-homomorphic transformations into a linear space of any intermediate dimension, reducing the leading coefficient of arithmetic complexity to match that of classical matrix multiplication algorithms, thereby accelerating existing fast matrix multiplication algorithms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If fast matrix multiplication algorithms (e.g., Strassen's algorithm) are used to reduce asymptotic complexity, then the theoretical computational efficiency is improved, but the leading coefficient becomes large making the algorithm impractical for smaller matrices
Solution Approach 1:
The patent segments the matrix multiplication process into distinct phases: transformation phase (applying non-homomorphic transformations to input matrices), multiplication phase (performing bilinear computation on transformed matrices), and inversion phase (applying inverse transformations to obtain final result). This segmentation allows optimization of each phase independently, reducing the overall leading coefficient while preserving asymptotic efficiency.
Solution Approach 2:
The patent changes the parameter space by introducing non-homomorphic transformations that map matrices into linear spaces of intermediate dimensions. By transforming the problem into different dimensional spaces and then back, the algorithm reduces the leading coefficient from O(n^2.81) to match classical algorithms, making fast matrix multiplication practical for smaller matrices while maintaining improved asymptotic complexity.
2Loss of time
If fast matrix multiplication algorithms are used to achieve sub-cubic complexity, then the scalability to large matrices is improved, but the hidden constants become large limiting practical applicability
Solution Approach 1:
The patent introduces non-homomorphic transformations as intermediary steps that map input matrices into intermediate linear spaces. These transformations serve as mediators that enable the multiplication phase to operate more efficiently, reducing hidden constants. The intermediary transformations are carefully designed to be computationally lightweight compared to the overall multiplication process, thus reducing total computational time without significantly increasing complexity.
Solution Approach 2:
The patent utilizes dimensionality change by transforming matrices into linear spaces of different intermediate dimensions before multiplication. This dimensional transformation allows the algorithm to exploit structure more effectively, reducing the impact of hidden constants. By working in transformed dimensions and then mapping back, the algorithm achieves both better asymptotic behavior and reduced practical overhead.
3Device complexity
If classical matrix multiplication is used, then the leading coefficient remains small ensuring practicality for smaller matrices, but the asymptotic complexity remains cubic limiting efficiency for large matrices
Solution Approach 1:
The patent creates a dynamic algorithm that adapts its behavior based on matrix size and structure. By incorporating non-homomorphic transformations that can be adjusted for different problem sizes, the algorithm maintains small leading coefficients for smaller matrices while achieving sub-cubic asymptotic complexity for larger matrices. This dynamic approach allows the same algorithm to be practical across a wider range of matrix sizes.
Data Source
AI summary
A system comprising: at least one hardware processor; and a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions executable by said at least one hardware processor to: receive a first matrix and a second matrix, compute a first transformation of said first matrix, to obtain a transformed said first matrix, compute a second transformation of said second matrix, to obtain a transformed said second matrix, apply a bilinear computation to said transformed first matrix and said transformed second matrix, thereby producing a transformed multiplied matrix; and apply a third transformation to said transformed multiplied matrix, to obtain a product of said first and second matrices, wherein at least one of said first, second, and third transformations is a non-homomorphic transformation into a linear space of any intermediate dimension.


