Class xlifepp::ApproximateMatrix#
-
template<class T>
class ApproximateMatrix#
-
Inheritence diagram for xlifepp::ApproximateMatrix:
Collaboration diagram for xlifepp::ApproximateMatrix:
base class of all approximate matrix methods
Subclassed by xlifepp::LowRankMatrix< T >
Public Functions
-
inline virtual ~ApproximateMatrix()#
-
virtual destructor
-
virtual ApproximateMatrix<T> *clone() const = 0#
-
virtual creation of a clone
-
virtual void extend(const std::vector<number_t> &rowIndex, const std::vector<number_t> &colIndex, number_t m = 0, number_t n = 0) = 0#
-
extend ApproximateMatrix to larger numbering
-
virtual ApproximateMatrix<T> *extract(const std::vector<number_t> &rowIndex, const std::vector<number_t> &colIndex) const = 0#
-
extract part of ApproximateMatrix (virtual)
-
virtual void luFactorize(bool withPermutation = false) = 0#
-
virtual LU factorization
-
virtual void multLeftMatrixCol(T *M, T *R, number_t p) const = 0#
-
left product by a col dense matrix (matCol*L)-> col matrix
-
virtual void multLeftMatrixRow(T *M, T *R, number_t p) const = 0#
-
left product by a row dense matrix (matRow*L)-> row matrix
-
virtual void multMatrixCol(T *M, T *R, number_t p) const = 0#
-
right product by a col dense matrix (L*matCol)-> col matrix
-
virtual void multMatrixRow(T *M, T *R, number_t p) const = 0#
-
right product by a row dense matrix (L*matRow)-> row matrix
-
virtual std::vector<T> &multMatrixVector(const std::vector<T>&, std::vector<T>&) const = 0#
-
virtual product matrix * vector
-
virtual std::vector<T> &multVectorMatrix(const std::vector<T>&, std::vector<T>&) const = 0#
-
virtual product vector * matrix
-
inline virtual real_t norm2() const#
-
Frobenius norm.
-
virtual real_t norminfty() const = 0#
-
infinite norm
-
virtual void print(std::ostream&) const = 0#
-
print to stream
-
virtual void restrict(const std::vector<number_t> &rowIndex, const std::vector<number_t> &colIndex) = 0#
-
restrict ApproximateMatrix to smaller numbering
-
virtual real_t squaredNorm() const = 0#
-
squared Frobenius norm
-
virtual LargeMatrix<T> toLargeMatrix(StorageType st = _dense, AccessType = _row) const = 0#
-
convert to LargeMatrix
Public Members
-
MatrixApproximationType approximationType#
-
type of approximation
-
bool isAllocated#
-
true if allocated
-
string_t name#
-
optional name, useful for documentation
-
inline virtual ~ApproximateMatrix()#