Namespaces

Types in MathNet.Numerics.LinearAlgebra.Single.Solvers

Type GpBiCg

Namespace MathNet.Numerics.LinearAlgebra.Single.Solvers

Interfaces IIterativeSolver<T>

A Generalized Product Bi-Conjugate Gradient iterative matrix solver.

The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an alternative version of the Bi-Conjugate Gradient stabilized (CG) solver. Unlike the CG solver the GPBiCG solver 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 GPBiCG algorithm was taken from: GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with efficiency and robustness S. Fujino Applied Numerical Mathematics, Volume 41, 2002, pp 107 - 117

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

Constructors

Methods

Properties

Public Constructors

GpBiCg()

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()

Public Properties

int NumberOfBiCgStabSteps get; set;

Gets or sets the number of steps taken with the BiCgStab algorithm before switching over to the GPBiCG algorithm.

int NumberOfGpBiCgSteps get; set;

Gets or sets the number of steps taken with the GPBiCG algorithm before switching over to the BiCgStab algorithm.