#include "LinearSolver/polinearsolver.hpp"
template < typename T, int NMAX, int NCU > void polinearsolver ( int n, T* A, int b, T* B, int lda, int ldb, int& info )
This function solves a system of linear equation with symmetric positive definite (SPD) matrix along with multiple right-hand side vector
\[\begin{equation*} {Ax=B}\end{equation*}\]
where \(A\) is a dense SPD triangular matrix of size \(m \times m\) , \(x\) is a vector need to be computed, and \(B\) is input vector.
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 of size \(n \times n\) |
b | number of columns of matrix B |
B | input matrix of size \(b \times n\) , and overwritten by the output matrix x |
lda | leading dimention of input matrix A |
ldb | leading dimention of input matrix B |
info | output info (unused) |