Public Member Functions |
const Index * | ExpandedPosIndices () const |
| Return the vector of indices marking the expanded position.
|
const Index * | CompressedPosIndices () const |
| Return the vector of indices marking the compressed position.
|
|
| ExpansionMatrix (const ExpansionMatrixSpace *owner_space) |
| Constructor, taking the owner_space.
|
| ~ExpansionMatrix () |
| Destructor.
|
bool | HasValidNumbers () const |
| Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
|
SmartPtr< const MatrixSpace > | OwnerSpace () const |
| Return the owner MatrixSpace.
|
| Matrix (const MatrixSpace *owner_space) |
| Constructor.
|
virtual | ~Matrix () |
| Destructor.
|
void | MultVector (Number alpha, const Vector &x, Number beta, Vector &y) const |
| Matrix-vector multiply.
|
void | TransMultVector (Number alpha, const Vector &x, Number beta, Vector &y) const |
| Matrix(transpose) vector multiply.
|
void | AddMSinvZ (Number alpha, const Vector &S, const Vector &Z, Vector &X) const |
| X = X + alpha*(Matrix S^{-1} Z).
|
void | SinvBlrmZMTdBr (Number alpha, const Vector &S, const Vector &R, const Vector &Z, const Vector &D, Vector &X) const |
| X = S^{-1} (r + alpha*Z*M^Td).
|
Index | NRows () const |
| Number of rows.
|
Index | NCols () const |
| Number of columns.
|
void | ComputeRowAMax (Vector &rows_norms, bool init=true) const |
| Compute the max-norm of the rows in the matrix.
|
void | ComputeColAMax (Vector &cols_norms, bool init=true) const |
| Compute the max-norm of the columns in the matrix.
|
virtual void | Print (SmartPtr< const Journalist > jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const |
| Print detailed information about the matrix.
|
virtual void | Print (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const |
| Print detailed information about the matrix.
|
| TaggedObject () |
| Constructor.
|
virtual | ~TaggedObject () |
| Destructor.
|
Tag | GetTag () const |
| Users of TaggedObjects call this to update their own internal tags every time they perform the expensive operation.
|
bool | HasChanged (const Tag comparison_tag) const |
| Users of TaggedObjects call this to check if the object HasChanged since they last updated their own internal tag.
|
| ReferencedObject () |
virtual | ~ReferencedObject () |
Index | ReferenceCount () const |
void | AddRef (const Referencer *referencer) const |
void | ReleaseRef (const Referencer *referencer) const |
| Subject () |
| Default Constructor.
|
virtual | ~Subject () |
| Default destructor.
|
void | AttachObserver (Observer::NotifyType notify_type, Observer *observer) const |
| Attach the specified observer (i.e., begin recieving notifications).
|
void | DetachObserver (Observer::NotifyType notify_type, Observer *observer) const |
| Detach the specified observer (i.e., no longer recieve notifications).
|
Protected Member Functions |
void | PrintImplOffset (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix, Index row_offset, Index col_offset) const |
|
virtual void | MultVectorImpl (Number alpha, const Vector &x, Number beta, Vector &y) const |
| X = beta*X + alpha*(Matrix S^{-1} Z).
|
virtual void | TransMultVectorImpl (Number alpha, const Vector &x, Number beta, Vector &y) const |
| X = beta*X + alpha*(Matrix S^{-1} Z).
|
virtual void | AddMSinvZImpl (Number alpha, const Vector &S, const Vector &Z, Vector &X) const |
| X = beta*X + alpha*(Matrix S^{-1} Z).
|
virtual void | SinvBlrmZMTdBrImpl (Number alpha, const Vector &S, const Vector &R, const Vector &Z, const Vector &D, Vector &X) const |
| X = S^{-1} (r + alpha*Z*M^Td).
|
virtual void | ComputeRowAMaxImpl (Vector &rows_norms, bool init) const |
| X = beta*X + alpha*(Matrix S^{-1} Z).
|
virtual void | ComputeColAMaxImpl (Vector &cols_norms, bool init) const |
| X = beta*X + alpha*(Matrix S^{-1} Z).
|
virtual void | PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const |
| X = beta*X + alpha*(Matrix S^{-1} Z).
|
virtual bool | HasValidNumbersImpl () const |
| Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
|
void | ObjectChanged () |
| Objects derived from TaggedObject MUST call this method every time their internal state changes to update the internal tag for comparison.
|
void | Notify (Observer::NotifyType notify_type) const |
Class for expansion/projection matrices.
These matrices allow to lift a vector to a vector with larger dimension, keeping some elements of the larger vector zero. This operation is achieved by the MultVector operation. The transpose operation then filters some elements from a large vector into a smaller vector.
Definition at line 27 of file IpExpansionMatrix.hpp.
const Index * Ipopt::ExpansionMatrix::CompressedPosIndices |
( |
| ) |
const |
|
inline |
Return the vector of indices marking the compressed position.
The result is 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 206 of file IpExpansionMatrix.hpp.