Lines Matching defs:y
162 static PetscErrorCode MatMult_AAt(Mat A, Vec x, Vec y)
170 PetscCall(MatMult(aat->A, aat->w, y));
203 static PetscErrorCode PCApplyKernel_H2OPUS(PC pc, Vec x, Vec y, PetscBool t)
208 if (t) PetscCall(MatMultTranspose(pch2opus->M, x, y));
209 else PetscCall(MatMult(pch2opus->M, x, y));
237 static PetscErrorCode PCApply_H2OPUS(PC pc, Vec x, Vec y)
240 PetscCall(PCApplyKernel_H2OPUS(pc, x, y, PETSC_FALSE));
244 static PetscErrorCode PCApplyTranspose_H2OPUS(PC pc, Vec x, Vec y)
247 PetscCall(PCApplyKernel_H2OPUS(pc, x, y, PETSC_TRUE));
252 static PetscErrorCode MatMultKernel_MAmI(Mat M, Vec x, Vec y, PetscBool t)
268 PetscCall(MatMultTranspose(A, pch2opus->w, y));
271 PetscCall(PCApplyTranspose_H2OPUS(pc, pch2opus->w, y));
276 PetscCall(PCApply_H2OPUS(pc, pch2opus->w, y));
279 PetscCall(MatMult(A, pch2opus->w, y));
282 PetscCall(VecAXPY(y, -1.0, x));
286 static PetscErrorCode MatMult_MAmI(Mat A, Vec x, Vec y)
289 PetscCall(MatMultKernel_MAmI(A, x, y, PETSC_FALSE));
293 static PetscErrorCode MatMultTranspose_MAmI(Mat A, Vec x, Vec y)
296 PetscCall(MatMultKernel_MAmI(A, x, y, PETSC_TRUE));
307 static PetscErrorCode MatMultKernel_Hyper(Mat M, Vec x, Vec y, PetscBool t)
332 PetscCall(PCApplyTranspose_H2OPUS(pc, pch2opus->wns[3], y));
340 PetscCall(PCApply_H2OPUS(pc, pch2opus->wns[3], y));
345 static PetscErrorCode MatMult_Hyper(Mat M, Vec x, Vec y)
348 PetscCall(MatMultKernel_Hyper(M, x, y, PETSC_FALSE));
352 static PetscErrorCode MatMultTranspose_Hyper(Mat M, Vec x, Vec y)
355 PetscCall(MatMultKernel_Hyper(M, x, y, PETSC_TRUE));
417 static PetscErrorCode MatMultKernel_NS(Mat M, Vec x, Vec y, PetscBool t)
431 PetscCall(PCApplyTranspose_H2OPUS(pc, x, y));
432 PetscCall(MatMultTranspose(A, y, pch2opus->wns[1]));
434 PetscCall(VecAXPBY(y, -1., 2., pch2opus->wns[0]));
436 PetscCall(PCApply_H2OPUS(pc, x, y));
437 PetscCall(MatMult(A, y, pch2opus->wns[0]));
439 PetscCall(VecAXPBY(y, -1., 2., pch2opus->wns[1]));
444 static PetscErrorCode MatMult_NS(Mat M, Vec x, Vec y)
447 PetscCall(MatMultKernel_NS(M, x, y, PETSC_FALSE));
451 static PetscErrorCode MatMultTranspose_NS(Mat M, Vec x, Vec y)
454 PetscCall(MatMultKernel_NS(M, x, y, PETSC_TRUE));