Collaboration diagram for DSPF_sp_lud_inverse:
int | DSPF_sp_lud_inverse (const int order, unsigned short *restrict P, float *restrict L, float *restrict U, float *restrict inv_A) |
int DSPF_sp_lud_inverse | ( | const int | order, | |
unsigned short *restrict | P, | |||
float *restrict | L, | |||
float *restrict | U, | |||
float *restrict | inv_A | |||
) |
This function processes a permutation matrix P, a lower triangular matrix L, and an upper triangular matrix U generated by DSPF_sp_lud_inv and generates the inverse of the A matrix where inv_A=inv(U)*inv(L)*P. In place processing is performed on the L and U matrices such that their original contents are modified. The values stored in the matrices are assumed to be single precision floating point values. This code is suitable for dense matrices. No optimizations are made for sparse matrices.
order | = order of matrix A | |
P | = pointer to permutation matrix P[order*order] | |
L | = pointer to lower triangular matrix L[order*order] | |
U | = pointer to upper triangular matrix U[order*order] | |
inv_A | = pointer to inverse of A matrix[order*order] |