Collaboration diagram for DSPF_dp_cholesky_solver:
int | DSPF_dp_cholesky_solver (const int order, double *restrict L, double *restrict y, double *restrict b, double *restrict x) |
int DSPF_dp_cholesky_solver | ( | const int | order, | |
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
order | = order of matrix A | |
L | = pointer to input matrix | |
y | = pointer to intermediate vector | |
b | = pointer to input vector | |
x | = pointer to output vector |