linbox
|
Generalized inverse of a blackbox. More...
#include <moore-penrose.h>
Inherits BlackboxInterface.
Public Member Functions | |
MoorePenrose (const Blackbox *A, size_t rank) | |
Constructor from field and dense vector of field elements. More... | |
MoorePenrose (const MoorePenrose &A) | |
Copy constructor. More... | |
~MoorePenrose () | |
Destructor. | |
template<class OutVector , class InVector > | |
OutVector & | apply (OutVector &y, const InVector &x) const |
Application of BlackBox matrix. More... | |
template<class OutVector , class InVector > | |
OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
Application of BlackBox matrix transpose. More... | |
size_t | rowdim (void) const |
Retreive _row dimensions of BlackBox matrix. More... | |
size_t | coldim (void) const |
Retreive _column dimensions of BlackBox matrix. More... | |
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.
|
inline |
Constructor from field and dense vector of field elements.
-param BB Black box from which to extract the submatrix -param row First row of the submatrix to extract (1.._BB->rowdim ()) -param col First column of the submatrix to extract (1.._BB->coldim ()) -param rowdim Row dimension -param coldim Column dimension
A | |
rank |
|
inline |
Copy constructor.
|
inline |
|
inline |
|
inline |
Retreive _row dimensions of BlackBox matrix.
This may be needed for applying preconditioners. Required by abstract base class.
|
inline |
Retreive _column dimensions of BlackBox matrix.
Required by abstract base class.