7#ifndef __IPSYMTMATRIX_HPP__
8#define __IPSYMTMATRIX_HPP__
70 Index Nonzeros()
const;
77 const Index* Irows()
const;
84 const Index* Jcols()
const;
136 const std::string&
name,
209 return MakeNewSymTMatrix();
Templated class which stores one entry for the CachedResult class.
Class responsible for all message output.
SymMatrixSpace base class, corresponding to the SymMatrix base class.
This is the base class for all derived symmetric matrix types.
This is the matrix space for a SymTMatrix with fixed sparsity structure.
Index Nonzeros() const
Number of non-zeros in the sparse matrix.
void FreeInternalStorage(Number *values) const
Deallocate internal storage for the SymTMatrix values.
~SymTMatrixSpace()
Destructor.
SymTMatrixSpace(Index dim, Index nonZeros, const Index *iRows, const Index *jCols)
Constructor, given the number of rows and columns (both as dim), as well as the number of nonzeros an...
const Index * Irows() const
Row index of each non-zero element.
virtual SymMatrix * MakeNewSymMatrix() const
Pure virtual method for creating a new matrix of this specific type.
SymTMatrix * MakeNewSymTMatrix() const
Method for creating a new matrix of this specific type.
const Index * Jcols() const
Column index of each non-zero element.
Number * AllocateInternalStorage() const
Allocate internal storage for the SymTMatrix values.
Class for symmetric matrices stored in triplet format.
void operator=(const SymTMatrix &)
Default Assignment Operator.
const Index * Jcols() const
Obtain pointer to the internal Index array jcn_ without the intention to change the matrix data.
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 void ComputeRowAMaxImpl(Vector &rows_norms, bool init) const
Compute the max-norm of the rows in the matrix.
const SymTMatrixSpace * owner_space_
Copy of the owner_space ptr as a SymTMatrixSpace instead of a MatrixSpace.
virtual bool HasValidNumbersImpl() const
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
const Number * Values() const
Obtain pointer to the internal Number array values_ without the intention to change the matrix data.
Index Nonzeros() const
Number of nonzero entries.
Number * values_
Values of nonzeros.
void FillStruct(Index *Irn, Index *Jcn) const
Copy the nonzero structure into provided space.
const Index * Irows() const
Obtain pointer to the internal Index array irn_ without the intention to change the matrix data.
Number * Values()
Obtain pointer to the internal Number array values_ with the intention to change the matrix data.
SymTMatrix(const SymTMatrixSpace *owner_space)
Constructor, taking the corresponding matrix space.
bool initialized_
Flag for Initialization.
SymTMatrix()
Default Constructor.
virtual void MultVectorImpl(Number alpha, const Vector &x, Number beta, Vector &y) const
Matrix-vector multiply.
void SetValues(const Number *Values)
Set values of nonzero elements.
void FillValues(Number *Values) const
Copy the value data into provided space.
SymTMatrix(const SymTMatrix &)
Copy Constructor.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
EJournalCategory
Category Selection Enum.
EJournalLevel
Print Level Enum.
ipnumber Number
Type of all numbers.