Namespaces

Types in MathNet.Numerics.LinearAlgebra.Single.Solvers

Type BiCgStab

Namespace MathNet.Numerics.LinearAlgebra.Single.Solvers

Interfaces IIterativeSolver<T>

A Bi-Conjugate Gradient stabilized iterative matrix solver.

The Bi-Conjugate Gradient Stabilized (BiCGStab) solver is an 'improvement' of the standard Conjugate Gradient (CG) solver. Unlike the CG solver the BiCGStab can be used on non-symmetric matrices. Note that much of the success of the solver depends on the selection of the proper preconditioner.

The Bi-CGSTAB algorithm was taken from: Templates for the solution of linear systems: Building blocks for iterative methods Richard Barrett, Michael Berry, Tony F. Chan, James Demmel, June M. Donato, Jack Dongarra, Victor Eijkhout, Roldan Pozo, Charles Romine and Henk van der Vorst Url: Algorithm is described in Chapter 2, section 2.3.8, page 27

The example code below provides an indication of the possible use of the solver.

Constructors

Methods

Public Constructors

BiCgStab()

Public Methods

bool Equals(object obj)

int GetHashCode()

Type GetType()

void Solve(Matrix<T> matrix, Vector<T> input, Vector<T> result, Iterator<T> iterator, IPreconditioner<T> preconditioner)

Solves the matrix equation Ax = b, where A is the coefficient matrix, b is the solution vector and x is the unknown vector.
Parameters
Matrix<T> matrix

The coefficient Matrix , A.

Vector<T> input

The solution Vector , b.

Vector<T> result

The result Vector , x.

Iterator<T> iterator

The iterator to use to control when to stop iterating.

IPreconditioner<T> preconditioner

The preconditioner to use for approximations.

string ToString()