:orphan:
# PCREDUNDANT
Runs a `KSP` solver with preconditioner for the entire problem on subgroups of processors 
## Options Database Key

- ***-pc_redundant_number <n> -*** number of redundant solves, for example if you are using 64 MPI processes and
use an n of 4 there will be 4 parallel solves each on 16 = 64/4 processes.





## Notes
Options for the redundant preconditioners can be set using the options database prefix -redundant_

The default `KSP` is preonly and the default `PC` is `PCLU` or `PCCHOLESKY` if Pmat is of type `MATSBAIJ`.

`PCFactorSetShiftType()` applied to this `PC` will convey they shift type into the inner `PC` if it is factorization based.


## Developer Note
`PCSetInitialGuessNonzero()` is not used by this class but likely should be.


## See Also
 `PCCreate()`, `PCSetType()`, `PCType`, `PCRedundantSetScatter()`,
`PCRedundantGetKSP()`, `PCRedundantGetOperators()`, `PCRedundantSetNumber()`, `PCREDISTRIBUTE`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/redundant/redundant.c.html#PCREDUNDANT">src/ksp/pc/impls/redundant/redundant.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/redundant/redundant.c)


[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)  
