#include "MatrixDecomposition/getrf.hpp"
template < typename T, int NMAX, int NCU > void getrf ( int n, T* A, int lda, int* ipiv, int& info )
This function computes the LU decomposition (with partial pivoting) of matrix \(A\)
\[\begin{equation*} {P A = L U}\end{equation*}\]
where \(P\) is a permutation matrix, \(A\) is a dense matrix of size \(n \times n\) , \(L\) is a lower triangular matrix with unit diagonal, and \(U\) is an upper triangular matrix. This function does not implement pivoting.
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 |
n | number of rows/cols of matrix A |
A | input matrix, and overwritten by the output upper and lower triangular matrix |
lda | leading dimention of input matrix A |
pivot | indices, row i of matrix A is stored in row[i] |
info | output info (unused) |