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 Attributes | List of all members
Ipopt::SymMatrix Class Reference

This is the base class for all derived symmetric matrix types. More...

`#include <IpSymMatrix.hpp>`

Inheritance diagram for Ipopt::SymMatrix:
[legend]

## Public Member Functions
SmartPtr< const SymMatrixSpace > | OwnerSymMatrixSpace () const
Constructor/Destructor
| SymMatrix (const SymMatrixSpace *owner_space)
| Constructor, taking the owner_space. More...
virtual | ~SymMatrix ()
| Destructor. More...
Information about the size of the matrix
Index | Dim () const
| Dimension of the matrix (number of rows and columns) More...
Public Member Functions inherited from Ipopt::Matrix
bool | HasValidNumbers () const
| Method for determining if all stored numbers are valid (i.e., no Inf or Nan). More...
SmartPtr< const MatrixSpace > | OwnerSpace () const
| Return the owner MatrixSpace. More...
| Matrix (const MatrixSpace *owner_space)
| Constructor. More...
virtual | ~Matrix ()
| Destructor. More...
void | MultVector (Number alpha, const Vector &x, Number beta, Vector &y) const
| Matrix-vector multiply. More...
void | TransMultVector (Number alpha, const Vector &x, Number beta, Vector &y) const
| Matrix(transpose) vector multiply. More...
void | AddMSinvZ (Number alpha, const Vector &S, const Vector &Z, Vector &X) const
| X = X + alpha*(Matrix S^{-1} Z). More...
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). More...
Index | NRows () const
| Number of rows. More...
Index | NCols () const
| Number of columns. More...
void | ComputeRowAMax (Vector &rows_norms, bool init=true) const
| Compute the max-norm of the rows in the matrix. More...
void | ComputeColAMax (Vector &cols_norms, bool init=true) const
| Compute the max-norm of the columns in the matrix. More...
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. More...
virtual void | Print (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const
Public Member Functions inherited from Ipopt::TaggedObject
| TaggedObject ()
| Constructor. More...
virtual | ~TaggedObject ()
| Destructor. More...
Tag | GetTag () const
| Users of TaggedObjects call this to update their own internal tags every time they perform the expensive operation. More...
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. More...
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
Public Member Functions inherited from Ipopt::Subject
| Subject ()
| Default Constructor. More...
virtual | ~Subject ()
| Default destructor. More...
void | AttachObserver (Observer::NotifyType notify_type, Observer *observer) const
| Attach the specified observer (i.e., begin recieving notifications). More...
void | DetachObserver (Observer::NotifyType notify_type, Observer *observer) const
| Detach the specified observer (i.e., no longer recieve notifications). More...

## Protected Member Functions
Overloaded methods from Matrix.
virtual void | TransMultVectorImpl (Number alpha, const Vector &x, Number beta, Vector &y) const
| Since the matrix is symmetric, it is only necessary to implement the MultVectorImpl method in a class that inherits from this base class. More...
virtual void | ComputeColAMaxImpl (Vector &cols_norms, bool init) const
| Since the matrix is symmetric, the row and column max norms are identical. More...
Protected Member Functions inherited from Ipopt::Matrix
virtual void | MultVectorImpl (Number alpha, const Vector &x, Number beta, Vector &y) const =0
| Matrix-vector multiply. More...
virtual void | AddMSinvZImpl (Number alpha, const Vector &S, const Vector &Z, Vector &X) const
| X = X + alpha*(Matrix S^{-1} Z). More...
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). More...
virtual bool | HasValidNumbersImpl () const
| Method for determining if all stored numbers are valid (i.e., no Inf or Nan). More...
virtual void | ComputeRowAMaxImpl (Vector &rows_norms, bool init) const =0
| Compute the max-norm of the rows in the matrix. More...
virtual void | PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const =0
| Print detailed information about the matrix. More...
Protected Member Functions inherited from Ipopt::TaggedObject
void | ObjectChanged ()
| Objects derived from TaggedObject MUST call this method every time their internal state changes to update the internal tag for comparison. More...
Protected Member Functions inherited from Ipopt::Subject
void | Notify (Observer::NotifyType notify_type) const

## Private Attributes
const SymMatrixSpace * | owner_space_
| Copy of the owner space ptr as a SymMatrixSpace instead of a MatrixSpace. More...

## Additional Inherited Members
Public Types inherited from Ipopt::TaggedObject
typedef unsigned int | Tag
| Type for the Tag values. More...

## Detailed Description

This is the base class for all derived symmetric matrix types.

Definition at line 23 of file IpSymMatrix.hpp.

## Constructor & Destructor Documentation

Ipopt::SymMatrix::SymMatrix | ( | const SymMatrixSpace * | owner_space | ) |
| inline

Constructor, taking the owner_space.

Definition at line 142 of file IpSymMatrix.hpp.

virtual Ipopt::SymMatrix::~SymMatrix | ( |  | ) |
| inline virtual

Destructor.

Definition at line 34 of file IpSymMatrix.hpp.

## Member Function Documentation

Index Ipopt::SymMatrix::Dim | ( |  | ) | const
| inline

Dimension of the matrix (number of rows and columns)

Definition at line 149 of file IpSymMatrix.hpp.

SmartPtr< const SymMatrixSpace > Ipopt::SymMatrix::OwnerSymMatrixSpace | ( |  | ) | const
| inline

Definition at line 155 of file IpSymMatrix.hpp.

virtual void Ipopt::SymMatrix::TransMultVectorImpl | ( | Number | alpha,
|  | const Vector & | x,
|  | Number | beta,
|  | Vector & | y
| ) |  | const
| inline protected virtual

Since the matrix is symmetric, it is only necessary to implement the MultVectorImpl method in a class that inherits from this base class.

If the TransMultVectorImpl is called, this base class automatically calls MultVectorImpl instead.

Implements Ipopt::Matrix.

Reimplemented in Ipopt::ZeroSymMatrix.

Definition at line 56 of file IpSymMatrix.hpp.

virtual void Ipopt::SymMatrix::ComputeColAMaxImpl | ( | Vector & | cols_norms,
|  | bool | init
| ) |  | const
| inline protected virtual

Since the matrix is symmetric, the row and column max norms are identical.

Implements Ipopt::Matrix.

Reimplemented in Ipopt::LowRankUpdateSymMatrix, Ipopt::SumSymMatrix, and Ipopt::ZeroSymMatrix.

Definition at line 65 of file IpSymMatrix.hpp.

## Member Data Documentation

const SymMatrixSpace* Ipopt::SymMatrix::owner_space_
| private

Copy of the owner space ptr as a SymMatrixSpace instead of a MatrixSpace.

Definition at line 75 of file IpSymMatrix.hpp.

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

- src/LinAlg/IpSymMatrix.hpp