Skip to main content
`Ctrl`+`K`

# PCMatApply

Applies the preconditioner to multiple vectors stored as a `MATDENSE`. Like `PCApply()`, `Y` and `X` must be different matrices.

## Synopsis

    #include "petscksp.h"
    PetscErrorCode PCMatApply(PC pc, Mat X, Mat Y)

Collective

## Input Parameters

- pc - the `PC` preconditioner context

- X - block of input vectors

## Output Parameter

- Y - block of output vectors

## See Also

KSP: Linear System Solvers, `PC`, `PCApply()`, `KSPMatSolve()`

## Level

developer

## Location

src/ksp/pc/interface/precon.c

## Examples

src/ksp/ksp/tutorials/ex79.c

## Implementations

PCMatApply_ASM() in src/ksp/pc/impls/asm/asm.c
PCMatApply_Cholesky() in src/ksp/pc/impls/factor/cholesky/cholesky.c
PCMatApply_ICC() in src/ksp/pc/impls/factor/icc/icc.c
PCMatApply_ILU() in src/ksp/pc/impls/factor/ilu/ilu.c
PCMatApply_LU() in src/ksp/pc/impls/factor/lu/lu.c
PCMatApply_QR() in src/ksp/pc/impls/factor/qr/qr.c
PCMatApply_FieldSplit() in src/ksp/pc/impls/fieldsplit/fieldsplit.c
PCMatApply_GASM() in src/ksp/pc/impls/gasm/gasm.c
PCMatApply_HPDDM() in src/ksp/pc/impls/hpddm/pchpddm.cxx
PCMatApply_HPDDMShell() in src/ksp/pc/impls/hpddm/pchpddm.cxx
PCMatApply_KSP() in src/ksp/pc/impls/ksp/pcksp.c
PCMatApply_Mat() in src/ksp/pc/impls/mat/pcmat.c
PCMatApply_MG() in src/ksp/pc/impls/mg/mg.c
PCMatApply_None() in src/ksp/pc/impls/none/none.c
PCMatApply_Shell() in src/ksp/pc/impls/shell/shellpc.c
PCMatApply_SPAI() in src/ksp/pc/impls/spai/impl/iispai.c
PCMatApply_SVD() in src/ksp/pc/impls/svd/svd.c

Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages