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