Matrix Power Series Calculation via Pointer Swapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for calculating matrix power series are inefficient due to high memory consumption, as they require storing all intermediate results, making them impractical for large values of n, where each matrix power must be calculated and stored before summation.
Innovation Solution
A recursive method is employed where only four data elements are maintained: the matrix, the previous series term, the current series term, and the partial sum, utilizing a recursion relation Ai = AAi-1 and Si = Si-1 + Ai, with pointers exchanged at each phase to efficiently compute the series.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all intermediate results (matrix powers A1, A2, ..., An) are stored in memory, then the complete path matrix can be calculated, but memory consumption becomes very large
Solution Approach 1:
The patent extracts only the essential information needed for the final result. Instead of storing all intermediate matrix powers, it maintains only the current partial sum and the current matrix power, discarding unnecessary intermediate results. This extraction principle reduces memory consumption from O(n²) matrices to O(1) matrices while preserving the ability to compute the complete path matrix.
Solution Approach 2:
The patent implements a iterative process where intermediate matrix powers are computed, added to the partial sum, and then discarded in the next iteration. The current matrix power is recovered in the subsequent step by multiplying the previous power by the adjacency matrix. This discard-and-recover approach maintains only essential data while preserving computational completeness.
2Manufacturing precision
If n is large (e.g., n=1000), then the path matrix contains many entries (10^6), but storing all intermediate results requires excessive memory (4 GB or more)
Solution Approach 1:
The patent segments the computation into iterative steps where the path matrix is built incrementally. Instead of computing and storing all n matrix powers simultaneously, it computes one power at a time, adds it to the partial sum, and proceeds to the next power. This segmentation reduces memory requirements from storing all intermediate results to storing only the current iteration's data, making large-scale computations feasible.
Solution Approach 2:
The patent performs partial computation in each iteration, calculating only the current matrix power and its contribution to the partial sum rather than computing all powers upfront. This partial action approach processes the computation in manageable chunks, reducing peak memory usage while maintaining the ability to compute the complete result with high precision for large n values.
Data Source
AI summary
The present invention provides a method and system for computing a matrix power series according to one embodiment of the present invention. Memory structures for storing a partial sum, current and previous series terms are allocated. First and second pointers are assigned to refer to a memory location storing a current series term and a previous series term respectively. During each phase of a process to compute a current partial sum, the pointers are exchanged.


