Collaboration diagram for DSPF_dp_lud_cmplx:
int | DSPF_dp_lud_cmplx (const int order, double *restrict A, double *restrict L, double *restrict U, unsigned short *restrict P) |
int DSPF_dp_lud_cmplx | ( | const int | order, | |
double *restrict | A, | |||
double *restrict | L, | |||
double *restrict | U, | |||
unsigned short *restrict | P | |||
) |
This function decomposes the square complex matrix A into a lower triangular matrix L, upper triangular matrix U, and a permutation matrix P where A=transpose(P)*L*U. The band Gaussian elimination outer product algorithm is used. The permutation matrix P keeps track of the reordering of rows in the A matrix such that the first element of the permuted matrix is maximum and nonzero. The values stored in the matrices are assumed to be double precision floating point values. This code is suitable for dense matrices. No optimizations are made for sparse matrices.
Nrows | = number of square complex matrix A | |
A | = pointer to complex matrix A[2*Nrows*Nrows] | |
L | = pointer to lower triangular complex matrix L[2*Nrows*Nrows] | |
U | = pointer to upper triangular complex matrix U[2*Nrows*Nrows] | |
P | = pointer to permutation complex matrix P[2*Nrows*Nrows] |