|
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) |
|
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. |
◆ 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 |