Collaboration diagram for DSPF_sp_cholesky_solver_cmplx:
int | DSPF_sp_cholesky_solver_cmplx (const int Nrows, float *restrict L, float *restrict y, float *restrict b, float *restrict x) |
int DSPF_sp_cholesky_solver_cmplx | ( | const int | Nrows, | |
float *restrict | L, | |||
float *restrict | y, | |||
float *restrict | b, | |||
float *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 float 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 A[Nrows*2*Nrows] | |
y | = pointer to intermediate vector y[2*Nrows] | |
b | = pointer to input vector b[2*Nrows] | |
x | = pointer to output vector x[2*Nrows] |