namespace solver¶
syevj¶
#include "EigenSolver/syevj.hpp"
template < typename T, int NMAX, int NCU > void syevj ( int m, T* A, int lda, T* S, T* U, int ldu, int& info )
Symmetric Matrix Jacobi based Eigenvalue Decomposition (SYEVJ) .
\[\begin{equation*} {A U = U \Sigma, }\end{equation*}\]
where \(A\) is a dense symmetric matrix of size \(m \times m\) , \(U\) is a \(m \times m\) matrix with orthonormal columns, each column of U is the eigenvector \(v_{i}\) , and \(\Sigma\) is diagonal matrix, which contains the eigenvalues \(\lambda_{i}\) of matrix A.
The maximum matrix size supported in FPGA is templated by NMAX.
Parameters:
| T | data type (support float and double). |
| NMAX | maximum number of rows/columns of input matrix |
| NCU | number of computation unit |
| m | number of rows/cols of matrix A |
| A | input matrix of size \(m \times m\) |
| S | decomposed diagonal singular matrix of size \(m \times m\) |
| U | left U matrix of SVD |
| lda | leading dimension of matrix A |
| ldu | leading dimension of matrix U |
| info | output info (unused) |