Skip to main content
`Ctrl`+`K`

# NEPRefineScheme

The scheme used for solving linear systems during iterative refinement.

## Synopsis

    typedef enum { NEP_REFINE_SCHEME_SCHUR    = 1,
                   NEP_REFINE_SCHEME_MBE      = 2,
                   NEP_REFINE_SCHEME_EXPLICIT = 3 } NEPRefineScheme;

## Values

- `NEP_REFINE_SCHEME_SCHUR` - use the Schur complement

- `NEP_REFINE_SCHEME_MBE` - use the mixed block elimination (MBE) scheme

- `NEP_REFINE_SCHEME_EXPLICIT` - build the full matrix explicitly

## Note

Iterative refinement may be very costly, due to the expensive linear solves. These linear systems have a particular structure that can be exploited in different ways, as described in [Campos and Roman, 2016]. See `NEPSetRefine()` for additional details.

## References

[Cam16b]

C. Campos and J. E. Roman. Parallel iterative refinement in polynomial eigenvalue problems. Numer. Linear Algebra Appl., 23(4):730–745, 2016. doi:10.1002/nla.2052.

## See Also

NEP: Nonlinear Eigenvalue Problems, Iterative Refinement, `NEPSetRefine()`

## Level

intermediate

## Location

include/slepcnep.h

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