Skip to main content
`Ctrl`+`K`

# KSPTFQMR

A transpose-free QMR (quasi minimal residual) [Fre93]

## Notes

Supports left and right preconditioning, but not symmetric

The “residual norm” computed in this algorithm is actually just an upper bound on the actual residual norm. That is for left preconditioning it is a bound on the preconditioned residual and for right preconditioning it is a bound on the true residual.

The solver has a two-step inner iteration, each of which computes and updates to the solution and the residual norm. Hence the values from `KSPGetResidualHistory()` and `KSPGetIterationNumber()` will differ.

## References

[Fre93]

Roland W. Freund. A transpose-free quasi-minimal residual algorithm for non-Hermitian linear systems. SIAM J. Sci. Stat. Comput., 14:470–482, 1993.

## See Also

KSP: Linear System Solvers, `KSPCreate()`, `KSPSetType()`, `KSPType`, `KSP`, `KSPTCQMR`

## Level

beginner

## Location

src/ksp/ksp/impls/tfqmr/tfqmr.c

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