# 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]

List of all members.

## 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.

## 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).

Reimplemented in Ipopt::IdentityMatrix.

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.

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, and Ipopt::SumSymMatrix.

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.

Reimplemented from Ipopt::Matrix.

Reimplemented in Ipopt::CompoundSymMatrix, Ipopt::DenseSymMatrix, Ipopt::LowRankUpdateSymMatrix, Ipopt::SumSymMatrix, Ipopt::SymScaledMatrix, and Ipopt::SymTMatrix.

Definition at line 75 of file IpSymMatrix.hpp.

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

- src/LinAlg/IpSymMatrix.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines