This is the matrix space for ExpansionMatrix. More...
#include <IpExpansionMatrix.hpp>
Inheritance diagram for Ipopt::ExpansionMatrixSpace:Public Member Functions | |
| ExpansionMatrix * | MakeNewExpansionMatrix () const |
| Method for creating a new matrix of this specific type. | |
| virtual Matrix * | MakeNew () const |
| Pure virtual method for creating a new Matrix of the corresponding type. | |
| const Index * | ExpandedPosIndices () const |
| Accessor Method to obtain the Index array (of length NSmallVec=NCols()) that stores the mapping from the small vector to the large vector. | |
| const Index * | CompressedPosIndices () const |
| Accessor Method to obtain the Index array (of length NLargeVec=NRows()) that stores the mapping from the large vector to the small vector. | |
Constructors / Destructors | |
| ExpansionMatrixSpace (Index NLargeVec, Index NSmallVec, const Index *ExpPos, const int offset=0) | |
| Constructor, given the list of elements of the large vector (of size NLargeVec) to be filtered into the small vector (of size NSmallVec). | |
| ~ExpansionMatrixSpace () | |
| Destructor. | |
Public Member Functions inherited from Ipopt::MatrixSpace | |
| Index | NRows () const |
| Accessor function for the number of rows. | |
| Index | NCols () const |
| Accessor function for the number of columns. | |
| bool | IsMatrixFromSpace (const Matrix &matrix) const |
| Method to test if a given matrix belongs to a particular matrix space. | |
| MatrixSpace (Index nRows, Index nCols) | |
| Constructor, given the number rows and columns of all matrices generated by this MatrixSpace. | |
| virtual | ~MatrixSpace () |
| Destructor. | |
Public Member Functions inherited from Ipopt::ReferencedObject | |
| ReferencedObject () | |
| virtual | ~ReferencedObject () |
| Index | ReferenceCount () const |
| void | AddRef (const Referencer *referencer) const |
| void | ReleaseRef (const Referencer *referencer) const |
Private Attributes | |
| Index * | expanded_pos_ |
| Index * | compressed_pos_ |
This is the matrix space for ExpansionMatrix.
Definition at line 161 of file IpExpansionMatrix.hpp.
| Ipopt::ExpansionMatrixSpace::ExpansionMatrixSpace | ( | Index | NLargeVec, |
| Index | NSmallVec, | ||
| const Index * | ExpPos, | ||
| const int | offset = 0 |
||
| ) |
Constructor, given the list of elements of the large vector (of size NLargeVec) to be filtered into the small vector (of size NSmallVec).
For each i=0..NSmallVec-1 the i-th element of the small vector will be put into the ExpPos[i] position of the large vector. The position counting in the vector is assumed to start at 0 (C-like array notation).
|
inline |
Destructor.
Definition at line 183 of file IpExpansionMatrix.hpp.
|
inline |
Method for creating a new matrix of this specific type.
Definition at line 191 of file IpExpansionMatrix.hpp.
Pure virtual method for creating a new Matrix of the corresponding type.
Implements Ipopt::MatrixSpace.
Definition at line 196 of file IpExpansionMatrix.hpp.
Accessor Method to obtain the Index array (of length NSmallVec=NCols()) that stores the mapping from the small vector to the large vector.
For each element i=0,..,NSmallVec in the small vector, ExpandedPosIndices()[i] give the corresponding index in the large vector.
Definition at line 209 of file IpExpansionMatrix.hpp.
Accessor Method to obtain the Index array (of length NLargeVec=NRows()) that stores the mapping from the large vector to the small vector.
For each element i=0,..,NLargeVec in the large vector, CompressedPosIndices()[i] gives the corresponding index in the small vector, unless CompressedPosIndices()[i] is negative.
Definition at line 223 of file IpExpansionMatrix.hpp.
|
private |
Definition at line 229 of file IpExpansionMatrix.hpp.
|
private |
Definition at line 230 of file IpExpansionMatrix.hpp.