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 |
Overloaded MakeNew method for the MatrixSpace base class. | |
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. | |
Private Attributes | |
Index * | expanded_pos_ |
Index * | compressed_pos_ |
This is the matrix space for ExpansionMatrix.
Definition at line 115 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).
Ipopt::ExpansionMatrixSpace::~ExpansionMatrixSpace | ( | ) | [inline] |
Destructor.
Definition at line 133 of file IpExpansionMatrix.hpp.
ExpansionMatrix* Ipopt::ExpansionMatrixSpace::MakeNewExpansionMatrix | ( | ) | const [inline] |
Method for creating a new matrix of this specific type.
Definition at line 141 of file IpExpansionMatrix.hpp.
virtual Matrix* Ipopt::ExpansionMatrixSpace::MakeNew | ( | ) | const [inline, virtual] |
Overloaded MakeNew method for the MatrixSpace base class.
Implements Ipopt::MatrixSpace.
Definition at line 148 of file IpExpansionMatrix.hpp.
const Index* Ipopt::ExpansionMatrixSpace::ExpandedPosIndices | ( | ) | const [inline] |
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 159 of file IpExpansionMatrix.hpp.
const Index* Ipopt::ExpansionMatrixSpace::CompressedPosIndices | ( | ) | const [inline] |
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 171 of file IpExpansionMatrix.hpp.
Index* Ipopt::ExpansionMatrixSpace::expanded_pos_ [private] |
Definition at line 177 of file IpExpansionMatrix.hpp.
Definition at line 178 of file IpExpansionMatrix.hpp.