Click or drag to resize

BiCgStab Class

A Bi-Conjugate Gradient stabilized iterative matrix solver.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.LinearAlgebra.Complex32.SolversBiCgStab

Namespace: Altaxo.Calc.LinearAlgebra.Complex32.Solvers
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public sealed class BiCgStab : IIterativeSolver<Complex32>

The BiCgStab type exposes the following members.

Constructors
 NameDescription
Public methodBiCgStabInitializes a new instance of the BiCgStab class
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodSolve Solves the matrix equation Ax = b, where A is the coefficient matrix, b is the solution vector and x is the unknown vector.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Remarks

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: http://www.netlib.org/templates/Templates.html
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.

See Also