Lines Matching refs:inv_diag

6   Vec              inv_diag;  member
20 PetscCall(VecCopy(ctx->inv_diag, ctx->diag)); in MatDiagonalSetUpDiagonal()
34 PetscCall(VecCopy(ctx->diag, ctx->inv_diag)); in MatDiagonalSetUpInverseDiagonal()
35 PetscCall(VecReciprocal(ctx->inv_diag)); in MatDiagonalSetUpInverseDiagonal()
136 PetscCall(VecCopy(actx->inv_diag, bctx->inv_diag)); in MatDuplicate_Diagonal()
247 PetscErrorCode MatDiagonalGetInverseDiagonal(Mat A, Vec *inv_diag) in MatDiagonalGetInverseDiagonal() argument
251 PetscAssertPointer(inv_diag, 2); in MatDiagonalGetInverseDiagonal()
252 *inv_diag = NULL; in MatDiagonalGetInverseDiagonal()
253 PetscUseMethod(A, "MatDiagonalGetInverseDiagonal_C", (Mat, Vec *), (A, inv_diag)); in MatDiagonalGetInverseDiagonal()
257 static PetscErrorCode MatDiagonalGetInverseDiagonal_Diagonal(Mat A, Vec *inv_diag) in MatDiagonalGetInverseDiagonal_Diagonal() argument
264 *inv_diag = ctx->inv_diag; in MatDiagonalGetInverseDiagonal_Diagonal()
265 PetscCall(PetscObjectStateGet((PetscObject)*inv_diag, &ctx->inv_diag_state)); in MatDiagonalGetInverseDiagonal_Diagonal()
280 PetscErrorCode MatDiagonalRestoreInverseDiagonal(Mat A, Vec *inv_diag) in MatDiagonalRestoreInverseDiagonal() argument
284 PetscAssertPointer(inv_diag, 2); in MatDiagonalRestoreInverseDiagonal()
285 PetscUseMethod(A, "MatDiagonalRestoreInverseDiagonal_C", (Mat, Vec *), (A, inv_diag)); in MatDiagonalRestoreInverseDiagonal()
289 static PetscErrorCode MatDiagonalRestoreInverseDiagonal_Diagonal(Mat A, Vec *inv_diag) in MatDiagonalRestoreInverseDiagonal_Diagonal() argument
295 …PetscCheck(ctx->inv_diag == *inv_diag, PetscObjectComm((PetscObject)A), PETSC_ERR_ARG_WRONG, "Rest… in MatDiagonalRestoreInverseDiagonal_Diagonal()
297 PetscCall(PetscObjectStateGet((PetscObject)*inv_diag, &inv_diag_state)); in MatDiagonalRestoreInverseDiagonal_Diagonal()
302 *inv_diag = NULL; in MatDiagonalRestoreInverseDiagonal_Diagonal()
338 PetscCall(VecDestroy(&ctx->inv_diag)); in MatDestroy_Diagonal()
469 PetscCall(VecConjugate(ctx->inv_diag)); in MatConjugate_Diagonal()
470 PetscCall(PetscObjectStateGet((PetscObject)ctx->inv_diag, &ctx->inv_diag_state)); in MatConjugate_Diagonal()
512 PetscCall(VecDuplicate(ctx->diag, &ctx->inv_diag)); in MatSetUp_Diagonal()
538 PetscCall(VecPointwiseMult(x, b, ctx->inv_diag)); in MatSolve_Diagonal()
597 PetscCall(VecDestroy(&ctx->inv_diag)); in MatCreateDiagonal()
602 PetscCall(VecDuplicate(ctx->diag, &ctx->inv_diag)); in MatCreateDiagonal()