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.