:orphan: # PCFieldSplitSchurFactType determines which off-diagonal parts of the approximate block factorization to use ## Synopsis ``` typedef enum { PC_FIELDSPLIT_SCHUR_FACT_DIAG, PC_FIELDSPLIT_SCHUR_FACT_LOWER, PC_FIELDSPLIT_SCHUR_FACT_UPPER, PC_FIELDSPLIT_SCHUR_FACT_FULL } PCFieldSplitSchurFactType; ``` ## Values - ***`PC_FIELDSPLIT_SCHUR_FACT_DIAG` -*** the preconditioner is solving `D` - ***`PC_FIELDSPLIT_SCHUR_FACT_LOWER` -*** the preconditioner is solving `L D` - ***`PC_FIELDSPLIT_SCHUR_FACT_UPPER` -*** the preconditioner is solving `D U` - ***`PC_FIELDSPLIT_SCHUR_FACT_FULL` -*** the preconditioner is solving `L(D U)` where the matrix is factorized as ```none (A B) = (1 0) (A 0) (1 Ainv*B) = L D U (C E) (C*Ainv 1) (0 S) (0 1) ``` ## See Also [](sec_pc), `PCFIELDSPLIT`, `PCFieldSplitSetSchurFactType()`, `PC` ## Level intermediate ## Location include/petscpctypes.h ## Examples src/dm/impls/stag/tutorials/ex4.c
--- [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)