Types in MathNet.Numerics.LinearAlgebra.Complex32.Solvers

Type GpBiCg

Namespace MathNet.Numerics.LinearAlgebra.Complex32.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.




Public Constructors


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.
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.