This is the matrix space for ExpansionMatrix. More...
#include <IpExpansionMatrix.hpp>
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.