43 A[0][0] = 1.0/A[0][0];
47 for (row=1; row<n; row++) {
49 for (col=1; col<n; col++) {
53 for (kdx=0; kdx<col; kdx++)
54 val += A[row][kdx] * A[kdx][col];
55 A[row][col] = (A[row][col] - val)/A[col][col];
61 for (kdx=0; kdx<row; kdx++)
62 val += A[row][kdx]*A[kdx][col];
85 for (row=1; row<n; row++) {
87 for (col=0; col<row; col++)
88 val += LU[row][col]*b[col];
93 b[n-1] /= LU[n-1][n-1];
94 for (row=n-2; row>-1; row--) {
96 for (col=row+1; col<n; col++)
97 val += LU[row][col]*b[col];
98 b[row] = (b[row] - val)/LU[row][row];
void lusub(UCFD_FLOAT *LU, UCFD_FLOAT *b)
Forward/Backward substitution function.
void ludcmp(UCFD_FLOAT *A)
LU Decomposition function.