Lines Matching refs:diag
4 PetscScalar diag; member
13 yctx->diag += a * xctx->diag; in MatAXPY_ConstantDiagonal()
23 *equal = (yctx->diag == xctx->diag) ? PETSC_TRUE : PETSC_FALSE; in MatEqual_ConstantDiagonal()
39 (*vals)[0] = ctx->diag; in MatGetRow_ConstantDiagonal()
58 PetscCall(VecAXPBY(v3, ctx->diag, 1.0, v1)); in MatMultAdd_ConstantDiagonal()
60 PetscCall(VecAXPBYPCZ(v3, ctx->diag, 1.0, 0.0, v1, v2)); in MatMultAdd_ConstantDiagonal()
71 PetscCall(VecAXPBY(v3, PetscConj(ctx->diag), 1.0, v1)); in MatMultHermitianTransposeAdd_ConstantDiagonal()
73 PetscCall(VecAXPBYPCZ(v3, PetscConj(ctx->diag), 1.0, 0.0, v1, v2)); in MatMultHermitianTransposeAdd_ConstantDiagonal()
84 *nrm = PetscAbsScalar(ctx->diag); in MatNorm_ConstantDiagonal()
112 bctx->diag = actx->diag; in MatDuplicate_ConstantDiagonal()
137 if (PetscImaginaryPart(ctx->diag) == 0) { in MatView_ConstantDiagonal()
138 …etscCall(PetscViewerASCIIPrintf(viewer, "Diagonal value: %g\n", (double)PetscRealPart(ctx->diag))); in MatView_ConstantDiagonal()
140 …agonal value: %g + i %g\n", (double)PetscRealPart(ctx->diag), (double)PetscImaginaryPart(ctx->diag… in MatView_ConstantDiagonal()
151 PetscCall(VecAXPBY(y, ctx->diag, 0.0, x)); in MatMult_ConstantDiagonal()
160 PetscCall(VecAXPBY(y, PetscConj(ctx->diag), 0.0, x)); in MatMultHermitianTranspose_ConstantDiagonal()
169 PetscCall(VecSet(x, ctx->diag)); in MatGetDiagonal_ConstantDiagonal()
178 ctx->diag += a; in MatShift_ConstantDiagonal()
187 ctx->diag *= a; in MatScale_ConstantDiagonal()
196 ctx->diag = 0.0; in MatZeroEntries_ConstantDiagonal()
205 ctx->diag = PetscConj(ctx->diag); in MatConjugate_ConstantDiagonal()
221 …tscObjectComm((PetscObject)A), A->cmap->n, A->rmap->n, A->cmap->N, A->rmap->N, ctx->diag, matout)); in MatTranspose_ConstantDiagonal()
224 PetscCall(MatShift(*matout, ctx->diag)); in MatTranspose_ConstantDiagonal()
242 ctx->diag = v; in MatSetRandom_ConstantDiagonal()
251 if (ctx->diag == 0.0) matin->factorerrortype = MAT_FACTOR_NUMERIC_ZEROPIVOT; in MatSolve_ConstantDiagonal()
253 PetscCall(VecAXPBY(x, 1.0 / ctx->diag, 0.0, b)); in MatSolve_ConstantDiagonal()
313 …ntDiagonal(MPI_Comm comm, PetscInt m, PetscInt n, PetscInt M, PetscInt N, PetscScalar diag, Mat *J) in MatCreateConstantDiagonal() argument
319 PetscCall(MatShift(*J, diag)); in MatCreateConstantDiagonal()
351 *value = ctx->diag; in MatConstantDiagonalGetConstant_ConstantDiagonal()
369 ctx->diag = 0.0; in MatCreate_ConstantDiagonal()
417 if (actx->diag == 0.0) fact->factorerrortype = MAT_FACTOR_NUMERIC_ZEROPIVOT; in MatFactorNumeric_ConstantDiagonal()
419 fctx->diag = 1.0 / actx->diag; in MatFactorNumeric_ConstantDiagonal()