7 #ifndef __IPMULTIVECTORMATRIX_HPP__ 8 #define __IPMULTIVECTORMATRIX_HPP__ 17 class MultiVectorMatrixSpace;
57 void SetVectorNonConst(
100 void AddOneMultiVectorMatrix(
110 void AddRightMultMatrix(
118 void FillWithNewVectors();
141 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
211 inline const Vector* ConstVec(
218 if(
IsValid(non_const_vecs_[i]) )
266 return MakeNewMultiVectorMatrix();
MultiVectorMatrix * MakeNewMultiVectorMatrix() const
Method for creating a new matrix of this specific type.
SmartPtr< const VectorSpace > ColVectorSpace() const
Accessor method for the VectorSpace for the columns.
bool IsValid(const SmartPtr< U > &smart_ptr)
virtual Matrix * MakeNew() const
Pure virtual method for creating a new Matrix of the corresponding 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
This file contains a base class for all exceptions and a set of macros to help with exceptions...
SmartPtr< const MultiVectorMatrixSpace > MultiVectorMatrixOwnerSpace() const
Return the MultiVectorMatrixSpace.
Template class for Smart Pointers.
VectorSpace base class, corresponding to the Vector base class.
SmartPtr< const Vector > GetVector(Index i) const
Get a Vector in a particular column as a const Vector.
U * GetRawPtr(const SmartPtr< U > &smart_ptr)
SmartPtr< const VectorSpace > ColVectorSpace() const
Vector space for the columns.
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.
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< 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.