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