Skip to main content
`Ctrl`+`K`

# KSPTFQMR

An implementation of transpose-free QMR (quasi minimal residual) [Fre93].

## Notes

Transpose-free QMR is an algorithm somewhat similar to QMR, but unlike QMR it does not need the application of the transpose of the matrix or preconditioner.

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. For left preconditioning it is a bound on the preconditioned residual norm and for right preconditioning it is a bound on the true residual norm.

The solver has a two-step inner iteration, each of which computes and updates 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

intermediate

## 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