linbox  1
Public Member Functions
LanczosSolver< Field, Vector > Class Template Reference

Solve a linear system using the conjugate Lanczos iteration. More...

#include <lanczos.h>

List of all members.

Public Member Functions

 LanczosSolver (const Field &F, const LanczosTraits &traits)
 LanczosSolver (const Field &F, const LanczosTraits &traits, typename Field::RandIter r)
template<class Blackbox >
Vector & solve (const Blackbox &A, Vector &x, const Vector &b)

Detailed Description

template<class Field, class Vector>
class LinBox::LanczosSolver< Field, Vector >

Solve a linear system using the conjugate Lanczos iteration.

Lanczos system solver class. This class encapsulates the functionality required for solving a linear system through the conjugate Lanczos iteration


Constructor & Destructor Documentation

LanczosSolver ( const Field F,
const LanczosTraits &  traits 
) [inline]

Constructor

Parameters:
FField over which to operate
traitsSolverTraits} structure describing user options for the solver
LanczosSolver ( const Field F,
const LanczosTraits &  traits,
typename Field::RandIter  r 
) [inline]

Constructor with a random iterator

Parameters:
FField over which to operate
traitsSolverTraits} structure describing user options for the solver
rRandom iterator to use for randomization

Member Function Documentation

Vector& solve ( const Blackbox &  A,
Vector &  x,
const Vector &  b 
)

Solve the linear system Ax = b.

If the system is nonsingular, this method computes the unique solution to the system Ax = b. If the system is singular, it computes a random solution.

If the matrix A is nonsymmetric, this method preconditions the matrix A with the preconditioner D_1 A^T D_2 A D_1, where D_1 and D_2 are random nonsingular diagonal matrices. If the matrix A is symmetric, this method preconditions the system with A D, where D is a random diagonal matrix.

Parameters:
ABlack box for the matrix A
xVector in which to store solution
bRight-hand side of system
Returns:
Reference to solution vector

The documentation for this class was generated from the following file: