Loading...
Searching...
No Matches
LU matrix decomposition
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
-
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\).
Function Documentation
◆ hal_ni_LU32f()
|
inline |
#include <core/src/hal_replacement.hpp>
◆ hal_ni_LU64f()
|
inline |
#include <core/src/hal_replacement.hpp>