petsc-3.7.1 2016-05-15
Report Typos and Errors

# PCFieldSplitSetSchurFactType

sets which blocks of the approximate block factorization to retain

### Synopsis

    #include "petscpc.h"
    PetscErrorCode  PCFieldSplitSetSchurFactType(PC pc,PCFieldSplitSchurFactType ftype)

Collective on PC Many br

### Input Parameters

| pc | - the preconditioner context Many br
| ftype | - which blocks of factorization to retain, PC_FIELDSPLIT_SCHUR_FACT_FULL is default Many br

### Options Database

-pc_fieldsplit_schur_fact_type <diag,lower,upper,full> default is full - Many br

Many br

### Notes

The FULL factorization is Many br

      (A   B)  = (1       0) (A   0) (1  Ainv*B)

      (C   D)    (C*Ainv  1) (0   S) (0     1  )

where S = D - C*Ainv*B. In practice, the full factorization is applied via block triangular solves with the grouping L*(D*U). UPPER uses D*U, LOWER uses L*D, Many brand DIAG is the diagonal part with the sign of S flipped (because this makes the preconditioner positive definite for many formulations, thus allowing the use of KSPMINRES). Many br

If applied exactly, FULL factorization is a direct solver. The preconditioned operator with LOWER or UPPER has all eigenvalues equal to 1 and minimal polynomial Many brof degree 2, so KSPGMRES converges in 2 iterations. If the iteration count is very low, consider using KSPFGMRES or KSPGCR which can use one less preconditioner Many brapplication in this case. Note that the preconditioned operator may be highly non-normal, so such fast convergence may not be observed in practice. With DIAG, Many brthe preconditioned operator has three distinct nonzero eigenvalues and minimal polynomial of degree at most 4, so KSPGMRES converges in at most 4 iterations. Many br

For symmetric problems in which A is positive definite and S is negative definite, DIAG can be used with KSPMINRES. Note that a flexible method like KSPFGMRES Many bror KSPGCR must be used if the fieldsplit preconditioner is nonlinear (e.g. a few iterations of a Krylov method is used inside a split). Many br

### References

| 1. | - Murphy, Golub, and Wathen, A note on preconditioning indefinite linear systems, SIAM J. Sci. Comput., 21 (2000). Many br
| 2. | - Ipsen, A note on preconditioning nonsymmetric matrices, SIAM J. Sci. Comput., 23 (2001). Many br

### See Also

PCFieldSplitGetSubKSP(), PCFIELDSPLIT, PCFieldSplitSetFields(), PCFieldSplitSchurPreType

Level:intermediate
Location:src/ksp/pc/impls/fieldsplit/fieldsplit.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages