# Ipopt::ExpansionMatrixSpace Class Reference

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

`#include <IpExpansionMatrix.hpp>`

Inheritance diagram for Ipopt::ExpansionMatrixSpace:
[legend]

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.
## 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`[inline, virtual]`

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:

- src/LinAlg/IpExpansionMatrix.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines