![]() |
MAOS
Multithreaded Adaptive Optics Simulator
|
Data Structures | |
| struct | spchol |
Macros | |
| #define | chol_free(A) ({chol_free_do(A);A=NULL;}) |
Functions | |
| spchol * | chol_factorize (const dsp *A_in) |
| dsp * | chol_factorize2 (lmat **Cp, const dsp *A_in) |
| void | chol_solve (dmat **x, spchol *A, dmat *y) |
| dsp * | chol_spsolve (spchol *A, const dsp *y) |
| void | chol_free_do (spchol *A) |
| void | chol_save (spchol *A, const char *format,...) |
| spchol * | chol_read (const char *format,...) |
| void | chol_convert (spchol *A, int keep) |
Wraps the CHOLESKY Library to provide a simple interface.
| struct spchol |
Solve A*x=y where the cholesky factor of A is stored in A.
Solve A*x=y where Y is sparse. Not good idea to use dsp ** as chol_solve because the result may have different nzmax.
| void chol_free_do | ( | spchol * | A | ) |
Free cholesky factor.
| void chol_save | ( | spchol * | A, |
| const char * | format, | ||
| ... | |||
| ) |
Save cholesky factor and permutation vector to file.
| spchol * chol_read | ( | const char * | format, |
| ... | |||
| ) |
Read cholesky factor form file. In the matlab convention, the upper triangle is saved.
| void chol_convert | ( | spchol * | A, |
| int | keep | ||
| ) |
Convert the internal data type cholesky factor into the lower left diagonal and permutation vector. The internal data A->L is freed if keep is 0.
This routine works only if the factor is using simplicity factor. not supernodal. so, in chol_factorize, we have set c.final_super=0, so that the final result is always in simplicity factor.