linbox
|
Solve a linear system using the conjugate Lanczos iteration. More...
#include <lanczos.h>
Public Member Functions | |
LanczosSolver (const Field &F, const Method::Lanczos &traits) | |
Constructor. More... | |
LanczosSolver (const Field &F, const Method::Lanczos &traits, typename Field::RandIter r) | |
Constructor with a random iterator. More... | |
template<class Blackbox > | |
Vector & | solve (const Blackbox &A, Vector &x, const Vector &b) |
Solve the linear system Ax = b. More... | |
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
|
inline |
Constructor.
F | Field over which to operate |
traits | SolverTraits structure describing user options for the solver |
|
inline |
Constructor with a random iterator.
F | Field over which to operate |
traits | SolverTraits structure describing user options for the solver |
r | Random iterator to use for randomization |
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.
A | Black box for the matrix A |
x | Vector in which to store solution |
b | Right-hand side of system |