Click or drag to resize

MlkBiCgStab Class

A Multiple-Lanczos Bi-Conjugate Gradient stabilized iterative matrix solver.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.LinearAlgebra.Double.SolversMlkBiCgStab

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

The MlkBiCgStab type exposes the following members.

Constructors
 NameDescription
Public methodMlkBiCgStabInitializes a new instance of the MlkBiCgStab class
Top
Properties
 NameDescription
Public propertyNumberOfStartingVectors Gets or sets the number of starting vectors.
Public propertyStartingVectors Gets or sets a series of orthonormal vectors which will be used as basis for the Krylov sub-space.
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 methodResetNumberOfStartingVectors Resets the number of starting vectors to the default value.
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 Multiple-Lanczos Bi-Conjugate Gradient stabilized (ML(k)-BiCGStab) solver is an 'improvement' of the standard BiCgStab solver.

The algorithm was taken from:
ML(k)BiCGSTAB: A BiCGSTAB variant based on multiple Lanczos starting vectors
Man-Chung Yeung and Tony F. Chan
SIAM Journal of Scientific Computing
Volume 21, Number 4, pp. 1263 - 1290

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

See Also