7 #ifndef __IPMULTIVECTORMATRIX_HPP__
8 #define __IPMULTIVECTORMATRIX_HPP__
17 class MultiVectorMatrixSpace;
57 void SetVectorNonConst(
100 void AddOneMultiVectorMatrix(
110 void AddRightMultMatrix(
118 void FillWithNewVectors();
142 virtual void MultVectorImpl(
149 virtual void TransMultVectorImpl(
156 virtual bool HasValidNumbersImpl()
const;
158 virtual void ComputeRowAMaxImpl(
163 virtual void ComputeColAMaxImpl(
168 virtual void PrintImpl(
172 const std::string& name,
174 const std::string& prefix
218 if(
IsValid(non_const_vecs_[i]) )
266 return MakeNewMultiVectorMatrix();
bool IsValid(const SmartPtr< U > &smart_ptr)
virtual Matrix * MakeNew() const
Pure virtual method for creating a new Matrix of the corresponding type.
MultiVectorMatrix * MakeNewMultiVectorMatrix() const
Method for creating a new matrix of this specific type.
~MultiVectorMatrix()
Destructor.
double Number
Type of all numbers.
EJournalLevel
Print Level Enum.
std::vector< SmartPtr< const Vector > > const_vecs_
space for storing the const Vector's
Template class for Smart Pointers.
VectorSpace base class, corresponding to the Vector base class.
U * GetRawPtr(const SmartPtr< U > &smart_ptr)
SmartPtr< const Vector > GetVector(Index i) const
Get a Vector in a particular column as a const Vector.
const MultiVectorMatrixSpace * owner_space_
SmartPtr< const VectorSpace > vec_space_
Class for Matrices with few columns that consists of Vectors.
MatrixSpace base class, corresponding to the Matrix base class.
~MultiVectorMatrixSpace()
Destructor.
int Index
Type of all indices of vectors, matrices etc.
const Vector * ConstVec(Index i) const
Method for accessing the internal Vectors internally.
SmartPtr< const VectorSpace > ColVectorSpace() const
Accessor method for the VectorSpace for the columns.
SmartPtr< const MultiVectorMatrixSpace > MultiVectorMatrixOwnerSpace() const
Return the MultiVectorMatrixSpace.
Class responsible for all message output.
std::vector< SmartPtr< Vector > > non_const_vecs_
space for storing the non-const Vector's
This is the matrix space for MultiVectorMatrix.
SmartPtr< const VectorSpace > ColVectorSpace() const
Vector space for the columns.
SmartPtr< MultiVectorMatrix > MakeNewMultiVectorMatrix() const
Create a new MultiVectorMatrix from same MatrixSpace.
EJournalCategory
Category Selection Enum.
SmartPtr< Vector > GetVectorNonConst(Index i)
Get a Vector in a particular column as a non-const Vector.