qmr
Solve system of linear equations — quasi-minimal residual method
Syntax
Description
attempts to solve the system of linear equations x
= qmr(A
,b
)A*x = b
for
x
using the Quasi-minimal Residual Method. When the attempt is
successful, qmr
displays a message to confirm convergence. If
qmr
fails to converge after the maximum number of iterations or halts
for any reason, it displays a diagnostic message that includes the relative residual
norm(b-A*x)/norm(b)
and the iteration number at which the method
stopped.
[
returns a flag that specifies whether the algorithm successfully converged. When
x
,flag
] = qmr(___)flag = 0
, convergence was successful. You can use this output syntax
with any of the previous input argument combinations. When you specify the
flag
output, qmr
does not display any diagnostic
messages.
Examples
Input Arguments
Output Arguments
More About
Tips
Convergence of most iterative methods depends on the condition number of the coefficient matrix,
cond(A)
. WhenA
is square, you can useequilibrate
to improve its condition number, and on its own this makes it easier for most iterative solvers to converge. However, usingequilibrate
also leads to better quality preconditioner matrices when you subsequently factor the equilibrated matrixB = R*P*A*C
.You can use matrix reordering functions such as
dissect
andsymrcm
to permute the rows and columns of the coefficient matrix and minimize the number of nonzeros when the coefficient matrix is factored to generate a preconditioner. This can reduce the memory and time required to subsequently solve the preconditioned linear system.
References
[1] Barrett, R., M. Berry, T. F. Chan, et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM, Philadelphia, 1994.
[2] Freund, Roland W. and Nöel M. Nachtigal, “QMR: A quasi-minimal residual method for non-Hermitian linear systems,” SIAM Journal: Numer. Math. 60, 1991, pp. 315–339.
Extended Capabilities
Version History
Introduced before R2006a