|
| LABlockLanczosSolver (const Field &F, const Method::BlockLanczos &traits) |
| Constructor.
|
|
| LABlockLanczosSolver (const Field &F, const Method::BlockLanczos &traits, typename Field::RandIter r) |
| Constructor with a random iterator.
|
|
| ~LABlockLanczosSolver () |
| Destructor.
|
|
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.
|
|
template<class Blackbox > |
unsigned int | rank (const Blackbox &A) |
| Estimate the rank of A.
|
|
template<class Field, class
Matrix = BlasMatrix<Field>>
class LinBox::LABlockLanczosSolver< Field, Matrix >
Biorthogonalising block Lanczos iteration.
This is a biorthogonalising variant of Montgomery's block Lanczos iteration. The goal is to avoid having to symmetrise the input matrix by constructing two sequences of block vectors that have mutual orthogonality properties. This algorithm was proposed by Bradford Hovinen.