|
linbox 1
|
Generalized inverse of a blackbox. Efficiency concerns when many applications are used. More...
#include <moore-penrose.h>
Public Member Functions | |
| MoorePenrose (const Blackbox *A, size_t rank) | |
| MoorePenrose (const MoorePenrose &A) | |
| ~MoorePenrose () | |
| template<class OutVector , class InVector > | |
| OutVector & | apply (OutVector &y, const InVector &x) const |
| template<class OutVector , class InVector > | |
| OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
| size_t | rowdim (void) const |
| size_t | coldim (void) const |
Generalized inverse of a blackbox. Efficiency concerns when many applications are used.
Given an arbitrary matrix in black box representation, this black box represents the Moore-Penrose inverse of the matrix.
This implementation assumes that A already has a nonsingular principal r x r minor. It is the caller's responsibility to ensure that that condition holds.
Given MoorePenrose M(A, r), and vector b, we have that M.apply(u, b) provides the least norm, least squares solution x = u to Ax = b.
TODO: remove the requirement that lpm is nonsingular. Specialize for dense matrices.
| MoorePenrose | ( | const Blackbox * | A, |
| size_t | rank | ||
| ) | [inline] |
Constructor from field and dense vector of field elements.
| BB | Black box from which to extract the submatrix |
| row | First row of the submatrix to extract (1.._BB->rowdim ()) |
| col | First column of the submatrix to extract (1.._BB->coldim ()) |
| rowdim | Row dimension |
| coldim | Column dimension |
| MoorePenrose | ( | const MoorePenrose< Blackbox > & | A | ) | [inline] |
Copy constructor
| ~MoorePenrose | ( | ) | [inline] |
Destructor
| OutVector& apply | ( | OutVector & | y, |
| const InVector & | x | ||
| ) | const [inline] |
| OutVector& applyTranspose | ( | OutVector & | y, |
| const InVector & | x | ||
| ) | const [inline] |
| size_t rowdim | ( | void | ) | const [inline] |
Retreive _row dimensions of BlackBox matrix. This may be needed for applying preconditioners. Required by abstract base class.
| size_t coldim | ( | void | ) | const [inline] |
Retreive _column dimensions of BlackBox matrix. Required by abstract base class.
1.7.4