LU matrix decomposition
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:
| src1 | pointer 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_step | number of bytes between two consequent rows of matrix \(A\). | 
| m | size of square matrix \(A\). | 
| src2 | pointer 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_step | number of bytes between two consequent rows of matrix \(B\). | 
| n | number of right-hand vectors in \(M\times N\) matrix \(B\). | 
| info | indicates success of decomposition. If *info is equals to zero decomposition failed, othervise *info is equals to \(sign\). | 
// global 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 );