This is the base class for all derived symmetric matrix types. More...
#include <IpSymMatrix.hpp>
Public Member Functions | |
SmartPtr< const SymMatrixSpace > | OwnerSymMatrixSpace () const |
Constructor/Destructor | |
SymMatrix (const SymMatrixSpace *owner_space) | |
Constructor, taking the owner_space. | |
virtual | ~SymMatrix () |
Destructor. | |
Information about the size of the matrix | |
Index | Dim () const |
Dimension of the matrix (number of rows and columns) | |
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. | |
virtual void | ComputeColAMaxImpl (Vector &cols_norms, bool init) const |
Since the matrix is symmetric, the row and column max norms are identical. | |
Private Attributes | |
const SymMatrixSpace * | owner_space_ |
Copy of the owner space ptr as a SymMatrixSpace instead of a MatrixSpace. |
This is the base class for all derived symmetric matrix types.
Definition at line 23 of file IpSymMatrix.hpp.
Ipopt::SymMatrix::SymMatrix | ( | const SymMatrixSpace * | owner_space | ) | [inline] |
Constructor, taking the owner_space.
Definition at line 139 of file IpSymMatrix.hpp.
virtual Ipopt::SymMatrix::~SymMatrix | ( | ) | [inline, virtual] |
Destructor.
Definition at line 33 of file IpSymMatrix.hpp.
Index Ipopt::SymMatrix::Dim | ( | ) | const [inline] |
Dimension of the matrix (number of rows and columns)
Reimplemented in Ipopt::IdentityMatrix.
Definition at line 146 of file IpSymMatrix.hpp.
SmartPtr< const SymMatrixSpace > Ipopt::SymMatrix::OwnerSymMatrixSpace | ( | ) | const [inline] |
Definition at line 152 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.
Definition at line 53 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, and Ipopt::SumSymMatrix.
Definition at line 62 of file IpSymMatrix.hpp.
const SymMatrixSpace* Ipopt::SymMatrix::owner_space_ [private] |
Copy of the owner space ptr as a SymMatrixSpace instead of a MatrixSpace.
Reimplemented from Ipopt::Matrix.
Reimplemented in Ipopt::CompoundSymMatrix, Ipopt::DenseSymMatrix, Ipopt::LowRankUpdateSymMatrix, Ipopt::SumSymMatrix, Ipopt::SymScaledMatrix, and Ipopt::SymTMatrix.
Definition at line 72 of file IpSymMatrix.hpp.