void factorize(ldl_matrix *ldl, csc *A){ int *p = malloc(sizeof(int)*A->n); int *pinv = malloc(sizeof(int)*A->n); amd(A, p); invert_p(p, pinv, A->n); alloc_ldl(ldl, A, p, pinv); factorize_numeric(A, ldl); }
Ordering *SparseConectivityMtxII :: GenerateAMD_AA(IntArrayList *fixed) { MD_Qqraph amd(this); amd.aggressive_absorbtion = true; return new Ordering( amd.GenerateMD(true, fixed) ); }
void SparseConectivityMtxII :: GenerateFillInPresorted(Ordering *ord) { MD_Qqraph amd(this); amd.keep_sorted_order = true; amd.GenerateMD(false, ord->order); }
Ordering *SparseConectivityMtxII :: GenerateAMD(IntArrayList *fixed) { MD_Qqraph amd(this); return new Ordering( amd.GenerateMD(true, fixed) ); }