Lines Matching refs:lu
97 Mat_KLU *lu = (Mat_KLU *)A->data; in MatDestroy_KLU() local
100 if (lu->CleanUpKLU) { in MatDestroy_KLU()
101 klu_K_free_symbolic(&lu->Symbolic, &lu->Common); in MatDestroy_KLU()
102 klu_K_free_numeric(&lu->Numeric, &lu->Common); in MatDestroy_KLU()
103 PetscCall(PetscFree2(lu->perm_r, lu->perm_c)); in MatDestroy_KLU()
112 Mat_KLU *lu = (Mat_KLU *)A->data; in MatSolveTranspose_KLU() local
120 status = klu_K_solve(lu->Symbolic, lu->Numeric, A->rmap->n, 1, (PetscReal *)xa, &lu->Common); in MatSolveTranspose_KLU()
128 Mat_KLU *lu = (Mat_KLU *)A->data; in MatSolve_KLU() local
135 …PetscCheck(klu_K_tsolve(lu->Symbolic, lu->Numeric, A->rmap->n, 1, xa, 1, &lu->Common), PETSC_COMM_… in MatSolve_KLU()
142 Mat_KLU *lu = (Mat_KLU *)F->data; in MatLUFactorNumeric_KLU() local
150 if (lu->flg == SAME_NONZERO_PATTERN && lu->Numeric) klu_K_free_numeric(&lu->Numeric, &lu->Common); in MatLUFactorNumeric_KLU()
151 lu->Numeric = klu_K_factor(ai, aj, (PetscReal *)av, lu->Symbolic, &lu->Common); in MatLUFactorNumeric_KLU()
152 PetscCheck(lu->Numeric, PETSC_COMM_SELF, PETSC_ERR_LIB, "KLU Numeric factorization failed"); in MatLUFactorNumeric_KLU()
154 lu->flg = SAME_NONZERO_PATTERN; in MatLUFactorNumeric_KLU()
155 lu->CleanUpKLU = PETSC_TRUE; in MatLUFactorNumeric_KLU()
164 Mat_KLU *lu = (Mat_KLU *)F->data; in MatLUFactorSymbolic_KLU() local
169 if (lu->PetscMatOrdering) { in MatLUFactorSymbolic_KLU()
172 PetscCall(PetscMalloc2(m, &lu->perm_r, n, &lu->perm_c)); in MatLUFactorSymbolic_KLU()
174 for (i = 0; i < m; i++) lu->perm_r[i] = ra[i]; in MatLUFactorSymbolic_KLU()
175 for (i = 0; i < n; i++) lu->perm_c[i] = ca[i]; in MatLUFactorSymbolic_KLU()
182 lu->PetscMatOrdering = PETSC_TRUE; in MatLUFactorSymbolic_KLU()
183 lu->Symbolic = klu_K_analyze_given(n, ai, aj, lu->perm_c, lu->perm_r, &lu->Common); in MatLUFactorSymbolic_KLU()
185 lu->Symbolic = klu_K_analyze(n, ai, aj, &lu->Common); in MatLUFactorSymbolic_KLU()
187 PetscCheck(lu->Symbolic, PETSC_COMM_SELF, PETSC_ERR_LIB, "KLU Symbolic Factorization failed"); in MatLUFactorSymbolic_KLU()
189 lu->flg = DIFFERENT_NONZERO_PATTERN; in MatLUFactorSymbolic_KLU()
190 lu->CleanUpKLU = PETSC_TRUE; in MatLUFactorSymbolic_KLU()
197 Mat_KLU *lu = (Mat_KLU *)A->data; in MatView_Info_KLU() local
198 klu_K_numeric *Numeric = (klu_K_numeric *)lu->Numeric; in MatView_Info_KLU()
206 PetscCall(PetscViewerASCIIPrintf(viewer, " Partial pivoting tolerance: %g\n", lu->Common.tol)); in MatView_Info_KLU()
208 …erASCIIPrintf(viewer, " BTF preordering enabled: %" PetscInt_FMT "\n", (PetscInt)lu->Common.btf)); in MatView_Info_KLU()
210 …if (!lu->PetscMatOrdering) PetscCall(PetscViewerASCIIPrintf(viewer, " Ordering: %s (not using the… in MatView_Info_KLU()
212 …PetscCall(PetscViewerASCIIPrintf(viewer, " Matrix row scaling: %s\n", scale[(int)lu->Common.scale… in MatView_Info_KLU()
264 Mat_KLU *lu; in MatGetFactor_seqaij_klu() local
275 PetscCall(PetscNew(&lu)); in MatGetFactor_seqaij_klu()
277 B->data = lu; in MatGetFactor_seqaij_klu()
296 status = klu_K_defaults(&lu->Common); in MatGetFactor_seqaij_klu()
299 lu->Common.scale = 0; /* No row scaling */ in MatGetFactor_seqaij_klu()
303 …nsReal("-mat_klu_pivot_tol", "Partial pivoting tolerance", "None", lu->Common.tol, &lu->Common.tol… in MatGetFactor_seqaij_klu()
305 …at_klu_use_btf", "Enable BTF preordering", "None", (PetscInt)lu->Common.btf, (PetscInt *)&lu->Comm… in MatGetFactor_seqaij_klu()
308 lu->Common.ordering = (int)idx; in MatGetFactor_seqaij_klu()