Loading...
Searching...
No Matches

Functions

int hal_ni_LU32f (float *src1, size_t src1_step, int m, float *src2, size_t src2_step, int n, int *info)
 
int hal_ni_LU64f (double *src1, size_t src1_step, int m, double *src2, size_t src2_step, int n, int *info)
 

Detailed Description

Performs \(LU\) decomposition of square matrix \(A=P*L*U\) (where \(P\) is permutation matrix) and solves matrix equation \(A*X=B\). Function returns the \(sign\) of permutation \(P\) via parameter info.

Parameters
src1pointer to input matrix \(A\) stored in row major order. After finish of work src1 contains at least \(U\) part of \(LU\) decomposition which is appropriate for determainant calculation: \(det(A)=sign*\prod_{j=1}^{M}a_{jj}\).
src1_stepnumber of bytes between two consequent rows of matrix \(A\).
msize of square matrix \(A\).
src2pointer to \(M\times N\) matrix \(B\) which is the right-hand side of system \(A*X=B\). \(B\) stored in row major order. If src2 is null pointer only \(LU\) decomposition will be performed. After finish of work src2 contains solution \(X\) of system \(A*X=B\).
src2_stepnumber of bytes between two consequent rows of matrix \(B\).
nnumber of right-hand vectors in \(M\times N\) matrix \(B\).
infoindicates success of decomposition. If *info is equals to zero decomposition failed, othervise *info is equals to \(sign\).

Function Documentation

◆ hal_ni_LU32f()

int hal_ni_LU32f ( float *  src1,
size_t  src1_step,
int  m,
float *  src2,
size_t  src2_step,
int  n,
int *  info 
)
inline

◆ hal_ni_LU64f()

int hal_ni_LU64f ( double *  src1,
size_t  src1_step,
int  m,
double *  src2,
size_t  src2_step,
int  n,
int *  info 
)
inline