![]() |
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 |
Data Fields | ||
---|---|---|
struct cholmod_factor_struct * | L | |
struct cholmod_common_struct * | c | |
dsp * | Cl | |
dsp * | Cu | |
spint * | Cp |
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.
Save cholesky factor and permutation vector to file.
Read cholesky factor form file. In the matlab convention, the upper triangle is saved.
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.