9 #ifndef __IPEXPANDEDMULTIVECTORMATRIX_HPP__
10 #define __IPEXPANDEDMULTIVECTORMATRIX_HPP__
20 class ExpandedMultiVectorMatrixSpace;
89 const std::string& name,
91 const std::string& prefix)
const;
117 std::vector<SmartPtr<const Vector> >
vecs_;
virtual void ComputeRowAMaxImpl(Vector &rows_norms, bool init) const
Compute the max-norm of the rows in the matrix.
SmartPtr< ExpandedMultiVectorMatrix > MakeNewExpandedMultiVectorMatrix() const
Number * x
Input: Starting point Output: Optimal solution.
virtual void TransMultVectorImpl(Number alpha, const Vector &x, Number beta, Vector &y) const
Matrix(transpose) vector multiply.
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
Print detailed information about the matrix.
virtual ~ExpandedMultiVectorMatrixSpace()
Destructor.
SmartPtr< const VectorSpace > RowVectorSpace() const
Vector space for the rows.
SmartPtr< const ExpansionMatrix > GetExpansionMatrix() const
Return the Expansion matrix.
virtual Matrix * MakeNew() const
Overloaded MakeNew method for the MatrixSpace base class.
const ExpandedMultiVectorMatrixSpace * owner_space_
SmartPtr< const ExpansionMatrix > GetExpansionMatrix() const
double Number
Type of all numbers.
Index NRows() const
Number of rows.
SmartPtr< const VectorSpace > vec_space_
virtual bool HasValidNumbersImpl() const
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
EJournalLevel
Print Level Enum.
SmartPtr< const VectorSpace > RowVectorSpace() const
Accessor method for the VectorSpace for the rows.
ExpandedMultiVectorMatrix * MakeNewExpandedMultiVectorMatrix() const
Method for creating a new matrix of this specific type.
Template class for Smart Pointers.
SmartPtr< const ExpansionMatrix > exp_matrix_
VectorSpace base class, corresponding to the Vector base class.
MatrixSpace base class, corresponding to the Matrix base class.
Class for Matrices with few rows that consists of Vectors, together with a premultiplied Expansion ma...
ExpandedMultiVectorMatrix()
Default Constructor.
This is the matrix space for ExpandedMultiVectorMatrix.
int Index
Type of all indices of vectors, matrices etc.
virtual void ComputeColAMaxImpl(Vector &cols_norms, bool init) const
Compute the max-norm of the columns in the matrix.
std::vector< SmartPtr< const Vector > > vecs_
space for storing the const Vector's
Class responsible for all message output.
SmartPtr< const Vector > GetVector(Index i) const
Get a Vector in a particular row as a const Vector.
virtual void MultVectorImpl(Number alpha, const Vector &x, Number beta, Vector &y) const
Matrix-vector multiply.
void SetVector(Index i, SmartPtr< const Vector > vec)
Set a particular Vector at a given row position, replacing another vector if there has been one...
virtual ~ExpandedMultiVectorMatrix()
Destructor.
SmartPtr< const ExpandedMultiVectorMatrixSpace > ExpandedMultiVectorMatrixOwnerSpace() const
Return the ExpandedMultiVectorMatrixSpace.
EJournalCategory
Category Selection Enum.
ExpandedMultiVectorMatrixSpace(Index nrows, const VectorSpace &vec_space, SmartPtr< const ExpansionMatrix > exp_matrix)
Constructor, given the number of rows (i.e., Vectors to be stored) and given the VectorSpace for the ...
void operator=(const ExpandedMultiVectorMatrix &)
Overloaded Equals Operator.