|
linbox
|
Block Lanczos iteration. More...
#include <mg-block-lanczos.h>
Public Member Functions | |
| MGBlockLanczosSolver (const Field &F, const Method::BlockLanczos &traits) | |
| Constructor. | |
| MGBlockLanczosSolver (const Field &F, const Method::BlockLanczos &traits, typename Field::RandIter r) | |
| Constructor with a random iterator. | |
| template<class Blackbox , class Vector > | |
| bool | solve (const Blackbox &A, Vector &x, const Vector &b) |
| Solve the linear system Ax = b. | |
| template<class Blackbox , class Matrix1 > | |
| unsigned int | sampleNullspace (const Blackbox &A, Matrix1 &x) |
| Sample uniformly from the (right) nullspace of A. | |
Block Lanczos iteration.
This is a blocked version of the iteration given in LanczosSolver. The essential difference is that, rather than applying the black box $A$ to a single vector 





Currently, only dense vectors are supported for this iteration, and it is unlikely any other vector archetypes will be supported in the future.
|
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 |
|
inline |
Sample uniformly from the (right) nullspace of A.
| A | Black box for the matrix A |
| x | Matrix into whose columns to store nullspace elements |