Solving linear matrices in an integrated circuit device
First Claim
1. Circuitry for solving linear matrix equations involving a resultant matrix, an unknown matrix and a product matrix that is a product of said resultant matrix and said unknown matrix, said circuitry comprising:
- matrix decomposition circuitry for triangulating an input matrix to create a resultant matrix having a plurality of resultant matrix elements on a diagonal, and having a further plurality of resultant matrix elements arranged in columns below said resultant matrix elements on said diagonal, said matrix decomposition circuitry comprising an inverse square root multiplication path that computes diagonal elements of said resultant matrix; and
first, second and third matrix memories for respectively storing said resultant matrix, said unknown matrix and said product matrix;
wherein;
said inverse square root multiplication path includes an inverse square root module, andsaid inverse square root module computes inverses of said diagonal elements.
1 Assignment
0 Petitions
Accused Products
Abstract
Circuitry for solving linear matrix equations involving a resultant matrix, an unknown matrix and a product matrix that is a product of the resultant matrix and the unknown matrix includes matrix decomposition circuitry for triangulating an input matrix to create a resultant matrix having a plurality of resultant matrix elements on a diagonal, and having a further plurality of resultant matrix elements arranged in columns below the resultant matrix elements on the diagonal. The matrix decomposition circuitry includes an inverse square root multiplication path that computes diagonal elements of the resultant matrix having an inverse square root module, and the said inverse square root module computes inverses of the diagonal elements to be used in multiplication in place of division by a diagonal element. Latency is hidden by operating on each nth row of a plurality of matrices prior to any (n+1)th row.
339 Citations
13 Claims
-
1. Circuitry for solving linear matrix equations involving a resultant matrix, an unknown matrix and a product matrix that is a product of said resultant matrix and said unknown matrix, said circuitry comprising:
-
matrix decomposition circuitry for triangulating an input matrix to create a resultant matrix having a plurality of resultant matrix elements on a diagonal, and having a further plurality of resultant matrix elements arranged in columns below said resultant matrix elements on said diagonal, said matrix decomposition circuitry comprising an inverse square root multiplication path that computes diagonal elements of said resultant matrix; and first, second and third matrix memories for respectively storing said resultant matrix, said unknown matrix and said product matrix;
wherein;said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements. - View Dependent Claims (2, 3)
-
-
4. A method of operating circuitry for solving linear matrix equations involving a resultant matrix, an unknown matrix and a product matrix that is a product of said resultant matrix and said unknown matrix, said circuitry comprising matrix decomposition circuitry for triangulating an input matrix to create a resultant matrix having a plurality of resultant matrix elements on a diagonal, and having a further plurality of resultant matrix elements arranged in columns below said resultant matrix elements on said diagonal, said matrix decomposition circuitry comprising an inverse square root multiplication path that computes diagonal elements of said resultant matrix, said circuitry further comprising first, second and third matrix memories for respectively storing said resultant matrix, said unknown matrix and said product matrix;
- wherein said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements wherein said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements;
said method comprising;storing a respective plurality of at least one of said resultant matrix and said product matrix in a respective one of said first and third matrix memories, each row of each matrix in said first and third matrix memories having a row index, wherein row indices repeat from one matrix in each respective plurality of matrices to another matrix in said respective plurality of matrices; and for each row index, processing all rows in each matrix in at least one of said respective plurality of matrices having said row index prior to processing any rows of any matrix in said at least one of said respective plurality of matrices having any other row index.
- wherein said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements wherein said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements;
-
5. A method of configuring a programmable integrated circuit device as circuitry for solving linear matrix equations involving a resultant matrix, an unknown matrix and a product matrix that is a product of said resultant matrix and said unknown matrix, said method comprising:
-
configuring logic of said programmable integrated circuit device as matrix decomposition circuitry for triangulating an input matrix to create a resultant matrix having a plurality of resultant matrix elements on a diagonal, and having a further plurality of resultant matrix elements arranged in columns below said resultant matrix elements on said diagonal, comprising configuring logic of said programmable integrated circuit device as an inverse square root multiplication path that computes diagonal elements of said resultant matrix; and configuring memory of said programmable integrated circuit device as first, second and third matrix memories for respectively storing said resultant matrix, said unknown matrix and said product matrix;
wherein;said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements. - View Dependent Claims (6, 7)
-
-
8. A programmable integrated circuit device configured as circuitry for solving linear matrix equations involving a resultant matrix, an unknown matrix and a product matrix that is a product of said resultant matrix and said unknown matrix, said programmable integrated circuit device comprising:
-
logic configured as matrix decomposition circuitry for triangulating an input matrix to create a resultant matrix having a plurality of resultant matrix elements on a diagonal, and having a further plurality of resultant matrix elements arranged in columns below said resultant matrix elements on said diagonal, comprising logic configured as an inverse square root multiplication path that computes diagonal elements of said resultant matrix; and logic configured as first, second and third matrix memories for respectively storing said resultant matrix, said unknown matrix and said product matrix;
wherein;said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements. - View Dependent Claims (9, 10)
-
-
11. A machine-readable data storage medium encoded with machine-executable instructions for configuring a programmable integrated circuit device as circuitry for solving linear matrix equations involving a resultant matrix, an unknown matrix and a product matrix that is a product of said resultant matrix and said unknown matrix, said instructions comprising:
-
instructions to configure logic of said programmable integrated circuit device as matrix decomposition circuitry for triangulating an input matrix to create a resultant matrix having a plurality of resultant matrix elements on a diagonal, and having a further plurality of resultant matrix elements arranged in columns below said resultant matrix elements on said diagonal, comprising instructions to configure logic of said programmable integrated circuit device as an inverse square root multiplication path that computes diagonal elements of said resultant matrix; and instructions to configure memory of said programmable integrated circuit device as first, second and third matrix memories for respectively storing said resultant matrix, said unknown matrix and said product matrix;
wherein;said inverse square root multiplication path includes an inverse square root module, and said inverse square root module computes inverses of said diagonal elements. - View Dependent Claims (12, 13)
-
Specification