|
Ipopt
3.12.12
|
This is the base class for all derived symmetric matrix types. More...
#include <IpSymMatrix.hpp>
Inheritance diagram for Ipopt::SymMatrix: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... | |
This is the base class for all derived symmetric matrix types.
Definition at line 23 of file IpSymMatrix.hpp.
|
inline |
Constructor, taking the owner_space.
Definition at line 142 of file IpSymMatrix.hpp.
|
inlinevirtual |
Destructor.
Definition at line 34 of file IpSymMatrix.hpp.
|
inline |
Dimension of the matrix (number of rows and columns)
Definition at line 149 of file IpSymMatrix.hpp.
|
inline |
Definition at line 155 of file IpSymMatrix.hpp.
|
inlineprotectedvirtual |
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.
|
inlineprotectedvirtual |
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.
|
private |
Copy of the owner space ptr as a SymMatrixSpace instead of a MatrixSpace.
Definition at line 75 of file IpSymMatrix.hpp.
1.8.5