This is the matrix space for a SymTMatrix with fixed sparsity structure. More...
#include <IpSymTMatrix.hpp>
Public Member Functions | |
virtual SymMatrix * | MakeNewSymMatrix () const |
Overloaded MakeNew method for the sYMMatrixSpace base class. | |
SymTMatrix * | MakeNewSymTMatrix () const |
Method for creating a new matrix of this specific type. | |
Constructors / Destructors | |
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 and the position of the nonzero elements. | |
~SymTMatrixSpace () | |
Destructor. | |
Methods describing Matrix structure | |
Index | Nonzeros () const |
Number of non-zeros in the sparse matrix. | |
const Index * | Irows () const |
Row index of each non-zero element. | |
const Index * | Jcols () const |
Column index of each non-zero element. | |
Private Member Functions | |
Methods called by SymTMatrix for memory management | |
Number * | AllocateInternalStorage () const |
Allocate internal storage for the SymTMatrix values. | |
void | FreeInternalStorage (Number *values) const |
Deallocate internal storage for the SymTMatrix values. | |
Private Attributes | |
const Index | nonZeros_ |
Index * | iRows_ |
Index * | jCols_ |
Friends | |
class | SymTMatrix |
This is the matrix space for a SymTMatrix with fixed sparsity structure.
The sparsity structure is stored here in the matrix space.
Definition at line 159 of file IpSymTMatrix.hpp.
Ipopt::SymTMatrixSpace::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 and the position of the nonzero elements.
Note that the counting of the nonzeros starts a 1, i.e., iRows[i]==1 and jCols[i]==1 refers to the first element in the first row. This is in accordance with the HSL data structure. Off-diagonal elements are stored only once.
Ipopt::SymTMatrixSpace::~SymTMatrixSpace | ( | ) |
Destructor.
virtual SymMatrix* Ipopt::SymTMatrixSpace::MakeNewSymMatrix | ( | ) | const [inline, virtual] |
Overloaded MakeNew method for the sYMMatrixSpace base class.
Implements Ipopt::SymMatrixSpace.
Definition at line 181 of file IpSymTMatrix.hpp.
SymTMatrix* Ipopt::SymTMatrixSpace::MakeNewSymTMatrix | ( | ) | const [inline] |
Method for creating a new matrix of this specific type.
Definition at line 187 of file IpSymTMatrix.hpp.
Index Ipopt::SymTMatrixSpace::Nonzeros | ( | ) | const [inline] |
Number of non-zeros in the sparse matrix.
Definition at line 195 of file IpSymTMatrix.hpp.
const Index* Ipopt::SymTMatrixSpace::Irows | ( | ) | const [inline] |
Row index of each non-zero element.
Definition at line 201 of file IpSymTMatrix.hpp.
const Index* Ipopt::SymTMatrixSpace::Jcols | ( | ) | const [inline] |
Column index of each non-zero element.
Definition at line 207 of file IpSymTMatrix.hpp.
Number* Ipopt::SymTMatrixSpace::AllocateInternalStorage | ( | ) | const [private] |
Allocate internal storage for the SymTMatrix values.
void Ipopt::SymTMatrixSpace::FreeInternalStorage | ( | Number * | values | ) | const [private] |
Deallocate internal storage for the SymTMatrix values.
friend class SymTMatrix [friend] |
Definition at line 227 of file IpSymTMatrix.hpp.
const Index Ipopt::SymTMatrixSpace::nonZeros_ [private] |
Definition at line 223 of file IpSymTMatrix.hpp.
Index* Ipopt::SymTMatrixSpace::iRows_ [private] |
Definition at line 224 of file IpSymTMatrix.hpp.
Index* Ipopt::SymTMatrixSpace::jCols_ [private] |
Definition at line 225 of file IpSymTMatrix.hpp.