gesvdj - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#include "MatrixDecomposition/gesvdj.hpp"
template <
    typename T,
    int NMAX,
    int NCU
    >
void gesvdj (
    int m,
    T* A,
    int lda,
    T* S,
    T* U,
    int ldu,
    T* V,
    int ldv,
    int& info
    )

Symmetric Matrix Jacobi based Singular Value Decomposition (GESVDJ) .

\[\begin{equation*} {A = U \Sigma {V}^T}\end{equation*}\]

where \(A\) is a dense symmetric matrix of size \(m \times m\) , \(U\) and \(V\) are \(m \times m\) matrix with orthonormal columns, and \(\Sigma\) is diagonal matrix.

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
V right V matrix of SVD
lda leading dimension of matrix A
ldu leading dimension of matrix U
ldv leading dimension of matrix V
info output info (unused)