Lines Matching refs:axpy
357 if (shell->axpy) PetscCall(MatZeroRows(shell->axpy, n, rows, 0.0, NULL, NULL)); in MatZeroRows_Shell()
431 if (shell->axpy) PetscCall(MatZeroRowsColumns(shell->axpy, n, rowscols, 0.0, NULL, NULL)); in MatZeroRowsColumns_Shell()
452 PetscCall(MatDestroy(&shell->axpy)); in MatDestroy_Shell()
490 Mat axpy; member
501 PetscCall(MatDestroy(&mmdata->axpy)); in MatProductCtxDestroy_MatMatShell()
643 if (shell->axpy && shell->axpy_vscale != 0.0) { in MatProductNumeric_Shell_X()
648 PetscCall(MatShellGetContext(shell->axpy, &X)); in MatProductNumeric_Shell_X()
651 if (!mdata->axpy) { in MatProductNumeric_Shell_X()
653 PetscCall(MatProductCreate(shell->axpy, B, NULL, &mdata->axpy)); in MatProductNumeric_Shell_X()
654 PetscCall(MatProductSetType(mdata->axpy, product->type)); in MatProductNumeric_Shell_X()
655 PetscCall(MatProductSetFromOptions(mdata->axpy)); in MatProductNumeric_Shell_X()
656 PetscCall(MatProductSymbolic(mdata->axpy)); in MatProductNumeric_Shell_X()
660 PetscCall(MatProductReplaceMats(shell->axpy, B, NULL, mdata->axpy)); in MatProductNumeric_Shell_X()
661 PetscCall(MatHasOperation(mdata->axpy, MATOP_PRODUCTSYMBOLIC, &flg)); in MatProductNumeric_Shell_X()
664 PetscCall(MatProductSetFromOptions(mdata->axpy)); in MatProductNumeric_Shell_X()
665 PetscCall(MatProductSymbolic(mdata->axpy)); in MatProductNumeric_Shell_X()
668 PetscCall(MatProductNumeric(mdata->axpy)); in MatProductNumeric_Shell_X()
669 PetscCall(MatAXPY(D, shell->axpy_vscale, mdata->axpy, str)); in MatProductNumeric_Shell_X()
942 PetscCall(MatDestroy(&shellB->axpy)); in MatCopy_Shell()
945 if (shellA->axpy) { in MatCopy_Shell()
946 PetscCall(PetscObjectReference((PetscObject)shellA->axpy)); in MatCopy_Shell()
947 shellB->axpy = shellA->axpy; in MatCopy_Shell()
1005 if (shell->axpy) { in MatMult_Shell()
1009 PetscCall(MatShellGetContext(shell->axpy, &X)); in MatMult_Shell()
1013 …PetscCall(MatCreateVecs(shell->axpy, shell->axpy_right ? NULL : &shell->axpy_right, shell->axpy_le… in MatMult_Shell()
1015 PetscCall(MatMult(shell->axpy, shell->axpy_right, shell->axpy_left)); in MatMult_Shell()
1057 if (shell->axpy) { in MatMultTranspose_Shell()
1061 PetscCall(MatShellGetContext(shell->axpy, &X)); in MatMultTranspose_Shell()
1064 …PetscCall(MatCreateVecs(shell->axpy, shell->axpy_right ? NULL : &shell->axpy_right, shell->axpy_le… in MatMultTranspose_Shell()
1066 PetscCall(MatMultTranspose(shell->axpy, shell->axpy_left, shell->axpy_right)); in MatMultTranspose_Shell()
1092 if (shell->axpy) { in MatMultHermitianTranspose_Shell()
1096 PetscCall(MatShellGetContext(shell->axpy, &X)); in MatMultHermitianTranspose_Shell()
1099 …PetscCall(MatCreateVecs(shell->axpy, shell->axpy_right ? NULL : &shell->axpy_right, shell->axpy_le… in MatMultHermitianTranspose_Shell()
1101 PetscCall(MatMultHermitianTranspose(shell->axpy, shell->axpy_left, shell->axpy_right)); in MatMultHermitianTranspose_Shell()
1158 if (shell->axpy) { in MatGetDiagonal_Shell()
1162 PetscCall(MatShellGetContext(shell->axpy, &X)); in MatGetDiagonal_Shell()
1165 PetscCall(MatCreateVecs(shell->axpy, NULL, shell->axpy_left ? NULL : &shell->axpy_left)); in MatGetDiagonal_Shell()
1166 PetscCall(MatGetDiagonal(shell->axpy, shell->axpy_left)); in MatGetDiagonal_Shell()
1179 …PetscCheck(!shell->axpy, PetscObjectComm((PetscObject)A), PETSC_ERR_SUP, "Cannot call MatGetDiagon… in MatGetDiagonalBlock_Shell()
1317 if (shell->axpy) PetscCall(MatDiagonalScale(shell->axpy, left, right)); in MatDiagonalScale_Shell()
1334 PetscCall(MatDestroy(&shell->axpy)); in MatAssemblyEnd_Shell()
1354 if (!shell->axpy) { in MatAXPY_Shell()
1355 PetscCall(MatConvertFrom_Shell(X, MATSHELL, MAT_INITIAL_MATRIX, &shell->axpy)); in MatAXPY_Shell()
1359 PetscCall(MatAXPY(shell->axpy, a / shell->axpy_vscale, X, str)); in MatAXPY_Shell()
1576 A->ops->axpy = NULL; in MatShellSetManageScalingShifts_Shell()
1580 …ar *vshift, PetscScalar *vscale, Vec *dshift, Vec *left, Vec *right, Mat *axpy, IS *zrows, IS *zco… in MatShellGetScalingShifts_Shell() argument
1596 …if (axpy == MAT_SHELL_NOT_ALLOWED) PetscCheck(!shell->axpy, PetscObjectComm((PetscObject)A), PETSC… in MatShellGetScalingShifts_Shell()
1597 else if (axpy) *axpy = shell->axpy; in MatShellGetScalingShifts_Shell()
2011 …ar *vshift, PetscScalar *vscale, Vec *dshift, Vec *left, Vec *right, Mat *axpy, IS *zrows, IS *zco… in MatShellGetScalingShifts() argument
2015 …*, Vec *, Vec *, Mat *, IS *, IS *), (A, vshift, vscale, dshift, left, right, axpy, zrows, zcols)); in MatShellGetScalingShifts()