LowRankUpdateSymMatrix Class Reference

#include <IpLowRankUpdateSymMatrix.hpp>

Inheritance diagram for LowRankUpdateSymMatrix:

SymMatrix Matrix TaggedObject ReferencedObject Subject

List of all members.


Detailed Description

Class for symmetric matrices, represented as low-rank updates.

The matrix M is represented as M = P_LR(D + V V^T - U U^T)P_LR^T (if reduced_diag is true), or M = D + P_LR(V V^T - U U^T)P_LR^T (if reduced_diag is false). D is a diagonal matrix, and V and U are MultiVectorMatrices, and P_LR is an ExpansionMatrix. The vectors in the low-rank update (before expansion) live in the LowRankVectorSpace. If P_LR is NULL, P_LR is assumed to be the identity matrix. If V or U is NULL, it is assume to be a matrix of zero columns.

Public Member Functions

void SetDiag (const Vector &D)
 Method for setting the diagonal elements (as a Vector).
SmartPtr< const VectorGetDiag () const
 Method for getting the diagonal elements.
void SetV (const MultiVectorMatrix &V)
 Method for setting the positive low-rank update part.
SmartPtr< const MultiVectorMatrixGetV () const
 Method for getting the positive low-rank update part.
void SetU (const MultiVectorMatrix &U)
 Method for setting the negative low-rank update part.
SmartPtr< const MultiVectorMatrixGetU () const
 Method for getting the negative low-rank update part.
SmartPtr< const MatrixP_LowRank () const
 Return the expansion matrix to lift the low-rank update to the higher-dimensional space.
SmartPtr< const VectorSpaceLowRankVectorSpace () const
 Return the vector space in with the low-rank update vectors live.
bool ReducedDiag () const
 Flag indicating whether the diagonal term lives in the smaller space (from P_LowRank) or in the full space.
Constructors / Destructors
 LowRankUpdateSymMatrix (const LowRankUpdateSymMatrixSpace *owner_space)
 Constructor, given the corresponding matrix space.
 ~LowRankUpdateSymMatrix ()
 Destructor.

Protected Member Functions

Methods overloaded from matrix
virtual void MultVectorImpl (Number alpha, const Vector &x, Number beta, Vector &y) const
 Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
virtual bool HasValidNumbersImpl () const
 Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
virtual void PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
 Method for determining if all stored numbers are valid (i.e., no Inf or Nan).


Constructor & Destructor Documentation

LowRankUpdateSymMatrix ( const LowRankUpdateSymMatrixSpace owner_space  ) 

Constructor, given the corresponding matrix space.

Destructor.


Member Function Documentation

void SetDiag ( const Vector D  )  [inline]

Method for setting the diagonal elements (as a Vector).

References TaggedObject::ObjectChanged().

SmartPtr<const Vector> GetDiag (  )  const [inline]

Method for getting the diagonal elements.

void SetV ( const MultiVectorMatrix V  )  [inline]

Method for setting the positive low-rank update part.

References TaggedObject::ObjectChanged().

SmartPtr<const MultiVectorMatrix> GetV (  )  const [inline]

Method for getting the positive low-rank update part.

void SetU ( const MultiVectorMatrix U  )  [inline]

Method for setting the negative low-rank update part.

References TaggedObject::ObjectChanged().

SmartPtr<const MultiVectorMatrix> GetU (  )  const [inline]

Method for getting the negative low-rank update part.

SmartPtr< const Matrix > P_LowRank (  )  const [inline]

Return the expansion matrix to lift the low-rank update to the higher-dimensional space.

Referenced by LowRankUpdateSymMatrix::MultVectorImpl().

SmartPtr< const VectorSpace > LowRankVectorSpace (  )  const [inline]

Return the vector space in with the low-rank update vectors live.

Referenced by LowRankUpdateSymMatrix::MultVectorImpl().

bool ReducedDiag (  )  const [inline]

Flag indicating whether the diagonal term lives in the smaller space (from P_LowRank) or in the full space.

Referenced by LowRankUpdateSymMatrix::MultVectorImpl(), and LowRankUpdateSymMatrix::PrintImpl().

void MultVectorImpl ( Number  alpha,
const Vector x,
Number  beta,
Vector y 
) const [protected, virtual]

bool HasValidNumbersImpl (  )  const [protected, virtual]

Method for determining if all stored numbers are valid (i.e., no Inf or Nan).

Reimplemented from Matrix.

References DBG_ASSERT, and Ipopt::IsValid().

void PrintImpl ( const Journalist jnlst,
EJournalLevel  level,
EJournalCategory  category,
const std::string &  name,
Index  indent,
const std::string &  prefix 
) const [protected, virtual]

Method for determining if all stored numbers are valid (i.e., no Inf or Nan).

Implements Matrix.

References SymMatrix::Dim(), Ipopt::IsValid(), Journalist::Printf(), Journalist::PrintfIndented(), and LowRankUpdateSymMatrix::ReducedDiag().


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

Generated on Fri Sep 26 07:44:26 2008 for SimTKcore by  doxygen 1.5.6