Collaboration diagram for DSPF_dp_cholesky_solver_cmplx:
Functions | |
int | DSPF_dp_cholesky_solver_cmplx (const int Nrows, double *restrict L, double *restrict y, double *restrict b, double *restrict x) |
int DSPF_dp_cholesky_solver_cmplx | ( | const int | Nrows, | |
double *restrict | L, | |||
double *restrict | y, | |||
double *restrict | b, | |||
double *restrict | x | |||
) |
This function solves A*x=b for x using forward and backward substitution using the decomposed lower triangular matrix L as shown in the following steps. The values stored in the matrices are assumed to be double precision floating point values. 1. A*x = L*U*b = L*L_transpose*x = b 2. y = inverse(L)*b - done using forward substitution 3. x = inverse(L_transpose)*y - done using backward substitution
Nrows | = Nrows of square matrix A | |
L | = pointer to input square matrix L[Nrows*Nrows] | |
y | = pointer to intermediate vector y[Nrows] | |
b | = pointer to input vector b[Nrows] | |
x | = pointer to output vector x[Nrows] |