9 #ifndef __IPSYMMATRIX_HPP__ 10 #define __IPSYMMATRIX_HPP__ 101 virtual SymMatrix* MakeNewSymMatrix()
const=0;
107 return MakeNewSymMatrix();
Number * x
Input: Starting point Output: Optimal solution.
virtual void ComputeRowAMaxImpl(Vector &rows_norms, bool init) const =0
Compute the max-norm of the rows in the matrix.
SmartPtr< const SymMatrixSpace > OwnerSymMatrixSpace() const
SymMatrixSpace(Index dim)
Constructor, given the dimension (identical to the number of rows and columns).
virtual Matrix * MakeNew() const
Overloaded MakeNew method for the MatrixSpace base class.
double Number
Type of all numbers.
Index NRows() const
Number of rows.
SymMatrix(const SymMatrixSpace *owner_space)
Constructor, taking the owner_space.
This is the base class for all derived symmetric matrix types.
Template class for Smart Pointers.
Matrix & operator=(const Matrix &)
Overloaded Equals Operator.
virtual void ComputeColAMaxImpl(Vector &cols_norms, bool init) const
Since the matrix is symmetric, the row and column max norms are identical.
const SymMatrixSpace * owner_space_
Copy of the owner space ptr as a SymMatrixSpace instead of a MatrixSpace.
MatrixSpace base class, corresponding to the Matrix base class.
Index Dim() const
Accessor method for the dimension of the matrices in this matrix space.
int Index
Type of all indices of vectors, matrices etc.
virtual ~SymMatrixSpace()
Destructor.
Index NCols() const
Number of columns.
SymMatrixSpace base class, corresponding to the SymMatrix base class.
virtual ~SymMatrix()
Destructor.
virtual void TransMultVectorImpl(Number alpha, const Vector &x, Number beta, Vector &y) const
Since the matrix is symmetric, it is only necessary to implement the MultVectorImpl method in a class...
void MultVector(Number alpha, const Vector &x, Number beta, Vector &y) const
Matrix-vector multiply.
Index Dim() const
Dimension of the matrix (number of rows and columns)