Previous: , Up: Linear Algebra   [Contents][Index]


18.5 Specialized Solvers

: x = bicg (A, b, rtol, maxit, M1, M2, x0)
: x = bicg (A, b, rtol, maxit, P)
: [x, flag, relres, iter, resvec] = bicg (A, b, …)

Solve A x = b using the Bi-conjugate gradient iterative method.

A can be passed as a matrix or as a function handle or inline function f such that f(x, "notransp") = A*x and f(x, "transp") = A'*x.

The preconditioner P is given as P = M1 * M2. Both M1 and M2 can be passed as a matrix or as a function handle or inline function g such that g(x, "notransp") = M1 \ x or g(x, "notransp") = M2 \ x and g(x, "transp") = M1' \ x or g(x, "transp") = M2' \ x.

If called with more than one output parameter

See also: bicgstab, cgs, gmres, pcg, qmr.

: x = bicgstab (A, b, rtol, maxit, M1, M2, x0)
: x = bicgstab (A, b, rtol, maxit, P)
: [x, flag, relres, iter, resvec] = bicgstab (A, b, …)

Solve A x = b using the stabilizied Bi-conjugate gradient iterative method.

A can be passed as a matrix or as a function handle or inline function f such that f(x) = A*x.

The preconditioner P is given as P = M1 * M2. Both M1 and M2 can be passed as a matrix or as a function handle or inline function g such that g(x) = M1 \ x or g(x) = M2 \ x.

If called with more than one output parameter

See also: bicg, cgs, gmres, pcg, qmr.

: x = cgs (A, b, rtol, maxit, M1, M2, x0)
: x = cgs (A, b, rtol, maxit, P)
: [x, flag, relres, iter, resvec] = cgs (A, b, …)

Solve A x = b, where A is a square matrix, using the Conjugate Gradients Squared method.

A can be passed as a matrix or as a function handle or inline function f such that f(x) = A*x.

The preconditioner P is given as P = M1 * M2. Both M1 and M2 can be passed as a matrix or as a function handle or inline function g such that g(x) = M1 \ x or g(x) = M2 \ x.

If called with more than one output parameter

See also: pcg, bicgstab, bicg, gmres, qmr.

: x = gmres (A, b, m, rtol, maxit, M1, M2, x0)
: x = gmres (A, b, m, rtol, maxit, P)
: [x, flag, relres, iter, resvec] = gmres (…)

Solve A x = b using the Preconditioned GMRES iterative method with restart, a.k.a. PGMRES(m).

Argument A can be passed as a matrix, function handle, or inline function f such that f(x) = A*x.

The preconditioner P is given as P = M1 * M2. Both M1 and M2 can be passed as a matrix, function handle, or inline function g such that g(x) = M1\x or g(x) = M2\x.

Besides the vector x, additional outputs are:

See also: bicg, bicgstab, cgs, pcg, pcr, qmr.

: x = qmr (A, b, rtol, maxit, M1, M2, x0)
: x = qmr (A, b, rtol, maxit, P)
: [x, flag, relres, iter, resvec] = qmr (A, b, …)

Solve A x = b using the Quasi-Minimal Residual iterative method (without look-ahead).

A can be passed as a matrix or as a function handle or inline function f such that f(x, "notransp") = A*x and f(x, "transp") = A'*x.

The preconditioner P is given as P = M1 * M2. Both M1 and M2 can be passed as a matrix or as a function handle or inline function g such that g(x, "notransp") = M1 \ x or g(x, "notransp") = M2 \ x and g(x, "transp") = M1' \ x or g(x, "transp") = M2' \ x.

If called with more than one output parameter

References:

  1. R. Freund and N. Nachtigal, QMR: a quasi-minimal residual method for non-Hermitian linear systems, Numerische Mathematik, 1991, 60, pp. 315-339.
  2. R. Barrett, M. Berry, T. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhour, R. Pozo, C. Romine, and H. van der Vorst, Templates for the solution of linear systems: Building blocks for iterative methods, SIAM, 2nd ed., 1994.

See also: bicg, bicgstab, cgs, gmres, pcg.


Previous: , Up: Linear Algebra   [Contents][Index]