Lines Matching defs:A

48     A       - matrix in aij, baij or sbaij format
52 spm - The SPM built from A
54 static PetscErrorCode MatConvertToSPM(Mat A, MatReuse reuse, Mat_Pastix *pastix)
66 /* Get A datas */
67 PetscCall(PetscObjectBaseTypeCompare((PetscObject)A, MATSEQAIJ, &isseqaij));
68 PetscCall(PetscObjectBaseTypeCompare((PetscObject)A, MATMPIAIJ, &ismpiaij));
70 PetscCall(PetscObjectBaseTypeCompare((PetscObject)A, MATSEQSBAIJ, &isseqsbaij));
71 PetscCall(PetscObjectBaseTypeCompare((PetscObject)A, MATMPISBAIJ, &ismpisbaij));
73 if (isseqsbaij || ismpisbaij) PetscCall(MatConvert(A, MATAIJ, reuse, &A_aij));
74 else A_aij = A;
78 else SETERRQ(PetscObjectComm((PetscObject)A_aij), PETSC_ERR_SUP, "Not for type %s", ((PetscObject)A)->type_name);
92 spm->replicated = !(A->rmap->n != A->rmap->N);
99 for (i = A->rmap->rstart; i < A->rmap->rend; i++) spm->loc2glob[i - A->rmap->rstart] = i;
142 static PetscErrorCode MatDestroy_PaStiX(Mat A)
144 Mat_Pastix *pastix = (Mat_Pastix *)A->data;
154 PetscCall(PetscObjectComposeFunction((PetscObject)A, "MatFactorGetSolverType_C", NULL));
160 PetscCall(PetscFree(A->data));
169 static PetscErrorCode MatSolve_PaStiX(Mat A, Vec b, Vec x)
171 Mat_Pastix *pastix = (Mat_Pastix *)A->data;
199 A - PETSc matrix in aij, bail or sbaij format
201 static PetscErrorCode MatFactorNumeric_PaStiX(Mat F, Mat A, const MatFactorInfo *info)
216 static PetscErrorCode MatLUFactorNumeric_PaStiX(Mat F, Mat A, const MatFactorInfo *info)
223 PetscCall(MatFactorNumeric_PaStiX(F, A, info));
227 static PetscErrorCode MatCholeskyFactorNumeric_PaStiX(Mat F, Mat A, const MatFactorInfo *info)
234 PetscCall(MatFactorNumeric_PaStiX(F, A, info));
244 A - matrix in aij, bail or sbaij format
251 static PetscErrorCode MatFactorSymbolic_PaStiX(Mat F, Mat A, IS r, IS c, const MatFactorInfo *info)
259 PetscCall(MatConvertToSPM(A, MAT_INITIAL_MATRIX, pastix));
267 static PetscErrorCode MatLUFactorSymbolic_PaStiX(Mat F, Mat A, IS r, IS c, const MatFactorInfo *info)
273 PetscCall(MatFactorSymbolic_PaStiX(F, A, r, c, info));
278 static PetscErrorCode MatCholeskyFactorSymbolic_PaStiX(Mat F, Mat A, IS r, const MatFactorInfo *info)
288 PetscCall(MatFactorSymbolic_PaStiX(F, A, r, NULL, info));
292 static PetscErrorCode MatView_PaStiX(Mat A, PetscViewer viewer)
302 Mat_Pastix *pastix = (Mat_Pastix *)A->data;
318 MATSOLVERPASTIX - A solver package providing direct solvers (LU) for distributed
347 static PetscErrorCode MatGetInfo_PaStiX(Mat A, MatInfoType flag, MatInfo *info)
349 Mat_Pastix *pastix = (Mat_Pastix *)A->data;
365 static PetscErrorCode MatFactorGetSolverType_PaStiX(Mat A, MatSolverType *type)
373 static PetscErrorCode MatSetFromOptions_PaStiX(Mat A)
375 Mat_Pastix *pastix = (Mat_Pastix *)A->data;
383 PetscOptionsBegin(PetscObjectComm((PetscObject)A), ((PetscObject)A)->prefix, "PaStiX Options", "Mat");
422 static PetscErrorCode MatGetFactor_pastix(Mat A, MatFactorType ftype, Mat *F, const char *mattype)
429 PetscCall(MatCreate(PetscObjectComm((PetscObject)A), &B));
430 PetscCall(MatSetSizes(B, A->rmap->n, A->cmap->n, A->rmap->N, A->cmap->N));
461 PetscCall(PetscObjectGetComm((PetscObject)A, &pastix->comm));
477 static PetscErrorCode MatGetFactor_mpiaij_pastix(Mat A, MatFactorType ftype, Mat *F)
481 PetscCall(MatGetFactor_pastix(A, ftype, F, MATMPIAIJ));
485 static PetscErrorCode MatGetFactor_seqaij_pastix(Mat A, MatFactorType ftype, Mat *F)
489 PetscCall(MatGetFactor_pastix(A, ftype, F, MATSEQAIJ));
493 static PetscErrorCode MatGetFactor_mpisbaij_pastix(Mat A, MatFactorType ftype, Mat *F)
497 PetscCall(MatGetFactor_pastix(A, ftype, F, MATMPISBAIJ));
501 static PetscErrorCode MatGetFactor_seqsbaij_pastix(Mat A, MatFactorType ftype, Mat *F)
505 PetscCall(MatGetFactor_pastix(A, ftype, F, MATSEQSBAIJ));