:orphan:
# PC
Abstract PETSc object that manages all preconditioners including direct solvers such as `PCLU`
## Synopsis
```
typedef struct _p_PC *PC;
```
## See Also
[](doc_linsolve), [](sec_pc), `PCCreate()`, `PCSetType()`, `PCType`
## Level
beginner
## Location
include/petscpctypes.h
## Examples
src/dm/impls/stag/tutorials/ex4.c
src/ksp/ksp/tutorials/ex100.c
src/ksp/ksp/tutorials/ex12.c
src/ksp/ksp/tutorials/ex15.c
src/ksp/ksp/tutorials/ex60.c
src/ksp/ksp/tutorials/ex61f.F90
src/ksp/ksp/tutorials/ex64.c
src/snes/tutorials/ex3.c
src/snes/tutorials/ex69.c
src/snes/tutorials/ex70.c
src/tao/pde_constrained/tutorials/hyperbolic.c
## Implementations
PCTelescopeSetUp_default in src/ksp/pc/impls/telescope/telescope.c
PCTelescopeMatCreate_default in src/ksp/pc/impls/telescope/telescope.c
PCTelescopeSubNullSpaceCreate_Telescope in src/ksp/pc/impls/telescope/telescope.c
PCTelescopeMatNullSpaceCreate_default in src/ksp/pc/impls/telescope/telescope.c
PCTelescopeSetUp_CoarseDM in src/ksp/pc/impls/telescope/telescope_coarsedm.c
PCTelescopeSubNullSpaceCreate_CoarseDM in src/ksp/pc/impls/telescope/telescope_coarsedm.c
PCTelescopeMatNullSpaceCreate_CoarseDM in src/ksp/pc/impls/telescope/telescope_coarsedm.c
PCTelescopeSetUp_dmda in src/ksp/pc/impls/telescope/telescope_dmda.c
PCTelescopeMatCreate_dmda in src/ksp/pc/impls/telescope/telescope_dmda.c
PCTelescopeMatNullSpaceCreate_dmda in src/ksp/pc/impls/telescope/telescope_dmda.c
_p_PC in include/petsc/private/pcimpl.h
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscpctypes.h)
[Index of all PC routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)