Lines Matching refs:N
218 static PetscErrorCode MatMult_HT(Mat N, Vec x, Vec y) in MatMult_HT() argument
223 PetscCall(MatShellGetContext(N, &A)); in MatMult_HT()
228 static PetscErrorCode MatMultHermitianTranspose_HT(Mat N, Vec x, Vec y) in MatMultHermitianTranspose_HT() argument
233 PetscCall(MatShellGetContext(N, &A)); in MatMultHermitianTranspose_HT()
238 static PetscErrorCode MatSolve_HT_LU(Mat N, Vec b, Vec x) in MatSolve_HT_LU() argument
244 PetscCall(MatShellGetContext(N, &A)); in MatSolve_HT_LU()
254 static PetscErrorCode MatSolveAdd_HT_LU(Mat N, Vec b, Vec y, Vec x) in MatSolveAdd_HT_LU() argument
260 PetscCall(MatShellGetContext(N, &A)); in MatSolveAdd_HT_LU()
274 static PetscErrorCode MatMatSolve_HT_LU(Mat N, Mat B, Mat X) in MatMatSolve_HT_LU() argument
279 PetscCall(MatShellGetContext(N, &A)); in MatMatSolve_HT_LU()
288 static PetscErrorCode MatLUFactor_HT(Mat N, IS row, IS col, const MatFactorInfo *minfo) in MatLUFactor_HT() argument
293 PetscCall(MatShellGetContext(N, &A)); in MatLUFactor_HT()
295 PetscCall(MatShellSetOperation(N, MATOP_SOLVE, (PetscErrorCodeFn *)MatSolve_HT_LU)); in MatLUFactor_HT()
296 PetscCall(MatShellSetOperation(N, MATOP_SOLVE_ADD, (PetscErrorCodeFn *)MatSolveAdd_HT_LU)); in MatLUFactor_HT()
297 PetscCall(MatShellSetOperation(N, MATOP_MAT_SOLVE, (PetscErrorCodeFn *)MatMatSolve_HT_LU)); in MatLUFactor_HT()
301 static PetscErrorCode MatSolve_HT_Cholesky(Mat N, Vec b, Vec x) in MatSolve_HT_Cholesky() argument
306 PetscCall(MatShellGetContext(N, &A)); in MatSolve_HT_Cholesky()
311 static PetscErrorCode MatSolveAdd_HT_Cholesky(Mat N, Vec b, Vec y, Vec x) in MatSolveAdd_HT_Cholesky() argument
317 PetscCall(MatShellGetContext(N, &A)); in MatSolveAdd_HT_Cholesky()
331 static PetscErrorCode MatMatSolve_HT_Cholesky(Mat N, Mat B, Mat X) in MatMatSolve_HT_Cholesky() argument
336 PetscCall(MatShellGetContext(N, &A)); in MatMatSolve_HT_Cholesky()
345 static PetscErrorCode MatCholeskyFactor_HT(Mat N, IS perm, const MatFactorInfo *minfo) in MatCholeskyFactor_HT() argument
350 PetscCall(MatShellGetContext(N, &A)); in MatCholeskyFactor_HT()
353 PetscCall(MatShellSetOperation(N, MATOP_SOLVE, (PetscErrorCodeFn *)MatSolve_HT_Cholesky)); in MatCholeskyFactor_HT()
354 PetscCall(MatShellSetOperation(N, MATOP_SOLVE_ADD, (PetscErrorCodeFn *)MatSolveAdd_HT_Cholesky)); in MatCholeskyFactor_HT()
355 PetscCall(MatShellSetOperation(N, MATOP_MAT_SOLVE, (PetscErrorCodeFn *)MatMatSolve_HT_Cholesky)); in MatCholeskyFactor_HT()
359 static PetscErrorCode MatLUFactorNumeric_HT(Mat F, Mat N, const MatFactorInfo *info) in MatLUFactorNumeric_HT() argument
364 PetscCall(MatShellGetContext(N, &A)); in MatLUFactorNumeric_HT()
373 static PetscErrorCode MatLUFactorSymbolic_HT(Mat F, Mat N, IS row, IS col, const MatFactorInfo *inf… in MatLUFactorSymbolic_HT() argument
378 PetscCall(MatShellGetContext(N, &A)); in MatLUFactorSymbolic_HT()
385 static PetscErrorCode MatCholeskyFactorNumeric_HT(Mat F, Mat N, const MatFactorInfo *info) in MatCholeskyFactorNumeric_HT() argument
390 PetscCall(MatShellGetContext(N, &A)); in MatCholeskyFactorNumeric_HT()
399 static PetscErrorCode MatCholeskyFactorSymbolic_HT(Mat F, Mat N, IS perm, const MatFactorInfo *info) in MatCholeskyFactorSymbolic_HT() argument
404 PetscCall(MatShellGetContext(N, &A)); in MatCholeskyFactorSymbolic_HT()
411 static PetscErrorCode MatGetFactor_HT(Mat N, MatSolverType type, MatFactorType ftype, Mat *F) in MatGetFactor_HT() argument
416 PetscCall(MatShellGetContext(N, &A)); in MatGetFactor_HT()
424 …} else SETERRQ(PetscObjectComm((PetscObject)N), PETSC_ERR_SUP, "Support for factor type %s not imp… in MatGetFactor_HT()
430 static PetscErrorCode MatDestroy_HT(Mat N) in MatDestroy_HT() argument
435 PetscCall(MatShellGetContext(N, &A)); in MatDestroy_HT()
437 PetscCall(PetscObjectComposeFunction((PetscObject)N, "MatHermitianTransposeGetMat_C", NULL)); in MatDestroy_HT()
439 PetscCall(PetscObjectComposeFunction((PetscObject)N, "MatTransposeGetMat_C", NULL)); in MatDestroy_HT()
441 PetscCall(PetscObjectComposeFunction((PetscObject)N, "MatProductSetFromOptions_anytype_C", NULL)); in MatDestroy_HT()
442 PetscCall(PetscObjectComposeFunction((PetscObject)N, "MatShellSetContext_C", NULL)); in MatDestroy_HT()
443 PetscCall(PetscObjectComposeFunction((PetscObject)N, "MatFactorGetSolverType_C", NULL)); in MatDestroy_HT()
447 static PetscErrorCode MatGetInfo_HT(Mat N, MatInfoType flag, MatInfo *info) in MatGetInfo_HT() argument
452 PetscCall(MatShellGetContext(N, &A)); in MatGetInfo_HT()
457 static PetscErrorCode MatFactorGetSolverType_HT(Mat N, MatSolverType *type) in MatFactorGetSolverType_HT() argument
462 PetscCall(MatShellGetContext(N, &A)); in MatFactorGetSolverType_HT()
467 static PetscErrorCode MatDuplicate_HT(Mat N, MatDuplicateOption op, Mat *m) in MatDuplicate_HT() argument
472 PetscCall(MatShellGetContext(N, &A)); in MatDuplicate_HT()
475 if (op == MAT_COPY_VALUES) PetscCall(MatCopy(N, *m, SAME_NONZERO_PATTERN)); in MatDuplicate_HT()
496 static PetscErrorCode MatHermitianTransposeGetMat_HT(Mat N, Mat *M) in MatHermitianTransposeGetMat_HT() argument
499 PetscCall(MatShellGetContext(N, M)); in MatHermitianTransposeGetMat_HT()
528 static PetscErrorCode MatGetDiagonal_HT(Mat N, Vec v) in MatGetDiagonal_HT() argument
533 PetscCall(MatShellGetContext(N, &A)); in MatGetDiagonal_HT()
550 static PetscErrorCode MatConvert_HT(Mat N, MatType newtype, MatReuse reuse, Mat *newmat) in MatConvert_HT() argument
557 PetscCall(MatShellGetContext(N, &A)); in MatConvert_HT()
559 …if (flg || N->ops->getrow) { /* if this condition is false, MatConvert_Shell() will be called in M… in MatConvert_HT()
560 …PetscCall(MatShellGetScalingShifts(N, &vshift, &vscale, (Vec *)MAT_SHELL_NOT_ALLOWED, (Vec *)MAT_S… in MatConvert_HT()
571 PetscCall(MatHeaderReplace(N, &B)); in MatConvert_HT()
574 flg = (PetscBool)(N->ops->getrow != NULL); in MatConvert_HT()
575 PetscCall(MatConvert_Basic(N, newtype, reuse, newmat)); in MatConvert_HT()
618 PetscErrorCode MatCreateHermitianTranspose(Mat A, Mat *N) in MatCreateHermitianTranspose() argument
623 PetscCall(MatCreate(PetscObjectComm((PetscObject)A), N)); in MatCreateHermitianTranspose()
624 PetscCall(PetscLayoutReference(A->rmap, &((*N)->cmap))); in MatCreateHermitianTranspose()
625 PetscCall(PetscLayoutReference(A->cmap, &((*N)->rmap))); in MatCreateHermitianTranspose()
626 PetscCall(MatSetType(*N, MATSHELL)); in MatCreateHermitianTranspose()
627 PetscCall(MatShellSetContext(*N, A)); in MatCreateHermitianTranspose()
630 PetscCall(MatSetBlockSizes(*N, A->cmap->bs, A->rmap->bs)); in MatCreateHermitianTranspose()
632 PetscCall(MatSetVecType(*N, vtype)); in MatCreateHermitianTranspose()
634 PetscCall(MatBindToCPU(*N, A->boundtocpu)); in MatCreateHermitianTranspose()
636 PetscCall(MatSetUp(*N)); in MatCreateHermitianTranspose()
638 PetscCall(MatShellSetOperation(*N, MATOP_DESTROY, (PetscErrorCodeFn *)MatDestroy_HT)); in MatCreateHermitianTranspose()
639 PetscCall(MatShellSetOperation(*N, MATOP_MULT, (PetscErrorCodeFn *)MatMult_HT)); in MatCreateHermitianTranspose()
640 …PetscCall(MatShellSetOperation(*N, MATOP_MULT_HERMITIAN_TRANSPOSE, (PetscErrorCodeFn *)MatMultHerm… in MatCreateHermitianTranspose()
642 …PetscCall(MatShellSetOperation(*N, MATOP_MULT_TRANSPOSE, (PetscErrorCodeFn *)MatMultHermitianTrans… in MatCreateHermitianTranspose()
644 PetscCall(MatShellSetOperation(*N, MATOP_LUFACTOR, (PetscErrorCodeFn *)MatLUFactor_HT)); in MatCreateHermitianTranspose()
645 …PetscCall(MatShellSetOperation(*N, MATOP_CHOLESKYFACTOR, (PetscErrorCodeFn *)MatCholeskyFactor_HT)… in MatCreateHermitianTranspose()
646 PetscCall(MatShellSetOperation(*N, MATOP_GET_FACTOR, (PetscErrorCodeFn *)MatGetFactor_HT)); in MatCreateHermitianTranspose()
647 PetscCall(MatShellSetOperation(*N, MATOP_GETINFO, (PetscErrorCodeFn *)MatGetInfo_HT)); in MatCreateHermitianTranspose()
648 PetscCall(MatShellSetOperation(*N, MATOP_DUPLICATE, (PetscErrorCodeFn *)MatDuplicate_HT)); in MatCreateHermitianTranspose()
649 PetscCall(MatShellSetOperation(*N, MATOP_HAS_OPERATION, (PetscErrorCodeFn *)MatHasOperation_HT)); in MatCreateHermitianTranspose()
650 PetscCall(MatShellSetOperation(*N, MATOP_GET_DIAGONAL, (PetscErrorCodeFn *)MatGetDiagonal_HT)); in MatCreateHermitianTranspose()
651 PetscCall(MatShellSetOperation(*N, MATOP_COPY, (PetscErrorCodeFn *)MatCopy_HT)); in MatCreateHermitianTranspose()
652 PetscCall(MatShellSetOperation(*N, MATOP_CONVERT, (PetscErrorCodeFn *)MatConvert_HT)); in MatCreateHermitianTranspose()
654 …PetscCall(PetscObjectComposeFunction((PetscObject)*N, "MatHermitianTransposeGetMat_C", MatHermitia… in MatCreateHermitianTranspose()
656 …PetscCall(PetscObjectComposeFunction((PetscObject)*N, "MatTransposeGetMat_C", MatHermitianTranspos… in MatCreateHermitianTranspose()
658 …PetscCall(PetscObjectComposeFunction((PetscObject)*N, "MatProductSetFromOptions_anytype_C", MatPro… in MatCreateHermitianTranspose()
659 …PetscCall(PetscObjectComposeFunction((PetscObject)*N, "MatFactorGetSolverType_C", MatFactorGetSolv… in MatCreateHermitianTranspose()
660 …PetscCall(PetscObjectComposeFunction((PetscObject)*N, "MatShellSetContext_C", MatShellSetContext_I… in MatCreateHermitianTranspose()
661 …PetscCall(PetscObjectComposeFunction((PetscObject)*N, "MatShellSetContextDestroy_C", MatShellSetCo… in MatCreateHermitianTranspose()
662 …PetscCall(PetscObjectComposeFunction((PetscObject)*N, "MatShellSetManageScalingShifts_C", MatShell… in MatCreateHermitianTranspose()
663 PetscCall(PetscObjectChangeTypeName((PetscObject)*N, MATHERMITIANTRANSPOSEVIRTUAL)); in MatCreateHermitianTranspose()