Singular Value Decomposition on FPGA for Matrix Inversion
Ashutosh Yadav
Abstract
Ashutosh Yadav
Abstract
Matrix inverse plays a vital role in many applications such as optimization problems, data analysis and solutions of linear equations. The inverse of any matrix A exist only if A is non-singular matrix. However, in many areas, for example in MIMO system in wireless communication, the need of some kind of inversion is felt for singular or rectangular matrix. The inversion in these cases is possible with the concept of pseudo-inverse. This work presents a hardware architecture for matrix inversion through SVD. The FPGA-based matrix inversion processor uses the two-sided rotation Jacobi SVD algorithm for computing the SVD. A mesh connected array structure is used to shorten the iteration of the computation and improve the implementation speed of the processor. The array is divided into an n/2×n/2 array of 2×2 processor elements to calculate the SVD of an n×n matrix. The trigonometric functions and the vector multiplication in the algorithm are suitable to use the CORDIC (Coordinate Rotation Digital Computer) algorithms for hardware-efficient solutions
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Matrix inverse plays a vital role in many applications such as optimization problems, data analysis and solutions of linear equations. The inverse of any matrix A exist only if A is non-singular matrix. However, in many areas, for example in MIMO system in wireless communication, the need of some kind of inversion is felt for singular or rectangular matrix. The inversion in these cases is possible with the concept of pseudo-inverse. This work presents a hardware architecture for matrix inversion through SVD. The FPGA-based matrix inversion processor uses the two-sided rotation Jacobi SVD algorithm for computing the SVD. A mesh connected array structure is used to shorten the iteration of the computation and improve the implementation speed of the processor. The array is divided into an n/2×n/2 array of 2×2 processor elements to calculate the SVD of an n×n matrix. The trigonometric functions and the vector multiplication in the algorithm are suitable to use the CORDIC (Coordinate Rotation Digital Computer) algorithms for hardware-efficient solutions
Key concepts: CORDIC, Singular value decomposition, Inversion (geology), Computer science, Matrix (chemical analysis), QR decomposition, Systolic array, Matrix decomposition