Ipopt 3.12.10

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Ipopt::IndexSchurData Class Reference

`#include <SensIndexSchurData.hpp>`

Inheritance diagram for Ipopt::IndexSchurData:
[legend]

## Public Member Functions
| IndexSchurData ()
| This class is the implementation aimed at applications where only SchurData matrices with entries 1 or -1 appear. More...
| IndexSchurData (const std::vector< Index > idx, const std::vector< Index > val)
virtual | ~IndexSchurData ()
virtual SmartPtr< SchurData > | MakeNewSchurDataCopy () const
virtual Index | GetNRowsAdded () const
| Returns number of rows/columns in schur matrix. More...
virtual void | SetData_Flag (Index dim, const Index *flags, Number v=1.0)
| Functions to set the Schurdata. More...
virtual void | SetData_Flag (Index dim, const Index *flags, const Number *values)
| Set Data to corresponing Number. More...
virtual Index | SetData_Index (Index dim, const Index *index, Number v=1.0)
virtual void | SetData_List (const std::vector< Index > &list, Number v=1.0)
virtual void | GetRow (Index i, IteratesVector &v) const
| Returns the i-th column vector of the matrix. More...
virtual void | GetMultiplyingVectors (Index i, std::vector< Index > &indices, std::vector< Number > &factors) const
| Returns two vectors that are needed for matrix-vector multiplication of B and P. More...
virtual void | Multiply (const IteratesVector &v, Vector &u) const
| Computes B*v with B in R(mxn) More...
virtual void | TransMultiply (const Vector &u, IteratesVector &v) const
| Computes A*u with A in R(nxm), KKT in R(n,n) More...
virtual void | PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
void | AddData_Flag (Index dim, Index *flags, std::vector< Index > &delta_u_sort, Index v)
| Functions specific to IndexSchurData. More...
void | AddData_List (std::vector< Index > cols, std::vector< Index > &delta_u_sort, Index &new_du_size, Index v)
const std::vector< Index > * | GetColIndices () const
Public Member Functions inherited from Ipopt::SchurData
| SchurData ()
| This interface serves as a reference point for multiple classes that need to use SchurData (PCalculator, SchurDriver). More...
virtual | ~SchurData ()
virtual bool | Is_Initialized () const
void | Print (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const
void | Print (SmartPtr< const Journalist > jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
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 Member Functions
Index * | GetVectorLengths (const IteratesVector &v) const
| returns a vector that holds the accumulated length of each vector component: v_len[0] = v.GetComp(0)->Dim() v_len[i] = sum(k=0..i, v.GetComp(k)->Dim()) More...

## Private Attributes
std::vector< Index > | idx_
std::vector< Index > | val_

## Additional Inherited Members
Protected Member Functions inherited from Ipopt::SchurData
virtual void | Set_Initialized ()
virtual void | Set_NRows (Index nrows)

## Detailed Description

Definition at line 15 of file SensIndexSchurData.hpp.

## Constructor & Destructor Documentation

Ipopt::IndexSchurData::IndexSchurData | ( |  | ) |

This class is the implementation aimed at applications where only SchurData matrices with entries 1 or -1 appear.

Ipopt::IndexSchurData::IndexSchurData | ( | const std::vector< Index > | idx,
|  | const std::vector< Index > | val
| ) |  |

virtual Ipopt::IndexSchurData::~IndexSchurData | ( |  | ) |
| virtual

## Member Function Documentation

virtual SmartPtr<SchurData> Ipopt::IndexSchurData::MakeNewSchurDataCopy | ( |  | ) | const
| virtual

Implements Ipopt::SchurData.

virtual Index Ipopt::IndexSchurData::GetNRowsAdded | ( |  | ) | const
| virtual

Returns number of rows/columns in schur matrix.

Reimplemented from Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::SetData_Flag | ( | Index | dim,
|  | const Index * | flags,
|  | Number | v = `1.0`
| ) |  |
| virtual

Functions to set the Schurdata.

At least one must be overloaded Set Data to one for given indices. Size of vector is ipopt_x_<full_x_

Implements Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::SetData_Flag | ( | Index | dim,
|  | const Index * | flags,
|  | const Number * | values
| ) |  |
| virtual

Set Data to corresponing Number.

Implements Ipopt::SchurData.

virtual Index Ipopt::IndexSchurData::SetData_Index | ( | Index | dim,
|  | const Index * | index,
|  | Number | v = `1.0`
| ) |  |
| virtual

Implements Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::SetData_List | ( | const std::vector< Index > & | list,
|  | Number | v = `1.0`
| ) |  |
| virtual

Implements Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::GetRow | ( | Index | i,
|  | IteratesVector & | v
| ) |  | const
| virtual

Returns the i-th column vector of the matrix.

Implements Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::GetMultiplyingVectors | ( | Index | row,
|  | std::vector< Index > & | indices,
|  | std::vector< Number > & | factors
| ) |  | const
| virtual

Returns two vectors that are needed for matrix-vector multiplication of B and P.

The index is the row, the first vector are the indices of non-zero components, in this row of B, the second vector gives the numbers in B(row,indices)

Implements Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::Multiply | ( | const IteratesVector & | v,
|  | Vector & | u
| ) |  | const
| virtual

Computes B*v with B in R(mxn)

Implements Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::TransMultiply | ( | const Vector & | u,
|  | IteratesVector & | v
| ) |  | const
| virtual

Computes A*u with A in R(nxm), KKT in R(n,n)

Implements Ipopt::SchurData.

virtual void Ipopt::IndexSchurData::PrintImpl | ( | const Journalist & | jnlst,
|  | EJournalLevel | level,
|  | EJournalCategory | category,
|  | const std::string & | name,
|  | Index | indent,
|  | const std::string & | prefix
| ) |  | const
| virtual

Implements Ipopt::SchurData.

void Ipopt::IndexSchurData::AddData_Flag | ( | Index | dim,
|  | Index * | flags,
|  | std::vector< Index > & | delta_u_sort,
|  | Index | v
| ) |  |

Functions specific to IndexSchurData.

This function is for adding data to a SchurData object. It takes a set of column-indices a value v and adds indices accordingly. If the column is already set in the data, it stays at the same place, otherwise the new indices are added at the bottom, in the order specified by the indices. The vector delta_u_sort returns the actual sorting so that the user knows how to place the new values inside the elongated delta_u vector. These places are in C++ index style, so they correspond exactly to the indices used for the C++-array of the delta_u DenseVector

void Ipopt::IndexSchurData::AddData_List | ( | std::vector< Index > | cols,
|  | std::vector< Index > & | delta_u_sort,
|  | Index & | new_du_size,
|  | Index | v
| ) |  |
| virtual

Implements Ipopt::SchurData.

const std::vector<Index>* Ipopt::IndexSchurData::GetColIndices | ( |  | ) | const

Index* Ipopt::IndexSchurData::GetVectorLengths | ( | const IteratesVector & | v | ) | const
| private

returns a vector that holds the accumulated length of each vector component: v_len[0] = v.GetComp(0)->Dim() v_len[i] = sum(k=0..i, v.GetComp(k)->Dim())

## Member Data Documentation

std::vector<Index> Ipopt::IndexSchurData::idx_
| private

Definition at line 77 of file SensIndexSchurData.hpp.

std::vector<Index> Ipopt::IndexSchurData::val_
| private

Definition at line 78 of file SensIndexSchurData.hpp.

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

- contrib/sIPOPT/src/SensIndexSchurData.hpp