Public Member Functions | Private Attributes
Ipopt::ExpansionMatrixSpace Class Reference

This is the matrix space for ExpansionMatrix. More...

#include <IpExpansionMatrix.hpp>

Inheritance diagram for Ipopt::ExpansionMatrixSpace:
Ipopt::MatrixSpace Ipopt::ReferencedObject

List of all members.

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.
- 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_

Detailed Description

This is the matrix space for ExpansionMatrix.

Definition at line 132 of file IpExpansionMatrix.hpp.


Constructor & Destructor Documentation

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 150 of file IpExpansionMatrix.hpp.


Member Function Documentation

ExpansionMatrix* Ipopt::ExpansionMatrixSpace::MakeNewExpansionMatrix ( ) const
inline

Method for creating a new matrix of this specific type.

Definition at line 158 of file IpExpansionMatrix.hpp.

virtual Matrix* Ipopt::ExpansionMatrixSpace::MakeNew ( ) const
inlinevirtual

Overloaded MakeNew method for the MatrixSpace base class.

Implements Ipopt::MatrixSpace.

Definition at line 165 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 176 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 188 of file IpExpansionMatrix.hpp.


Member Data Documentation

Index* Ipopt::ExpansionMatrixSpace::expanded_pos_
private

Definition at line 194 of file IpExpansionMatrix.hpp.

Index* Ipopt::ExpansionMatrixSpace::compressed_pos_
private

Definition at line 195 of file IpExpansionMatrix.hpp.


The documentation for this class was generated from the following file: