SymScaledMatrix Class Reference

#include <IpSymScaledMatrix.hpp>

Inheritance diagram for SymScaledMatrix:

SymMatrix Matrix TaggedObject ReferencedObject Subject

List of all members.


Detailed Description

Class for a Matrix in conjunction with its scaling factors for row and column scaling.

Operations on the matrix are performed using the scaled matrix. You can pull out the pointer to the unscaled matrix for unscaled calculations.

Public Member Functions

void SetUnscaledMatrix (const SmartPtr< const SymMatrix > unscaled_matrix)
 Set the unscaled matrix.
void SetUnscaledMatrixNonConst (const SmartPtr< SymMatrix > &unscaled_matrix)
 Set the unscaled matrix in a non-const version.
SmartPtr< const SymMatrixGetUnscaledMatrix () const
 Return the unscaled matrix in const form.
SmartPtr< SymMatrixGetUnscaledMatrixNonConst ()
 Return the unscaled matrix in non-const form.
SmartPtr< const VectorRowColScaling () const
 return the vector for the row and column scaling
Constructors / Destructors
 SymScaledMatrix (const SymScaledMatrixSpace *owner_space)
 Constructor, taking the owner_space.
 ~SymScaledMatrix ()
 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

SymScaledMatrix ( const SymScaledMatrixSpace owner_space  ) 

Constructor, taking the owner_space.

~SymScaledMatrix (  ) 

Destructor.


Member Function Documentation

void SetUnscaledMatrix ( const SmartPtr< const SymMatrix unscaled_matrix  )  [inline]

Set the unscaled matrix.

References TaggedObject::ObjectChanged().

void SetUnscaledMatrixNonConst ( const SmartPtr< SymMatrix > &  unscaled_matrix  )  [inline]

Set the unscaled matrix in a non-const version.

References Ipopt::GetRawPtr(), and TaggedObject::ObjectChanged().

Referenced by SymScaledMatrixSpace::MakeNewSymScaledMatrix().

SmartPtr< const SymMatrix > GetUnscaledMatrix (  )  const [inline]

Return the unscaled matrix in const form.

Referenced by TripletHelper::GetNumberEntries().

SmartPtr< SymMatrix > GetUnscaledMatrixNonConst (  )  [inline]

Return the unscaled matrix in non-const form.

References DBG_ASSERT, Ipopt::IsValid(), and TaggedObject::ObjectChanged().

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

return the vector for the row and column scaling

References Ipopt::ConstPtr().

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

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

It is assumed here that the scaling factors are always valid numbers.

Implements Matrix.

References Vector::Axpy(), DBG_ASSERT, Ipopt::IsValid(), Vector::MakeNew(), Vector::MakeNewCopy(), Vector::Scal(), and Vector::Set().

bool HasValidNumbersImpl (  )  const [protected, virtual]

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

It is assumed here that the scaling factors are always valid numbers.

Reimplemented from Matrix.

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

It is assumed here that the scaling factors are always valid numbers.

Implements Matrix.

References Ipopt::IsValid(), Matrix::NCols(), Matrix::NRows(), Journalist::Printf(), and Journalist::PrintfIndented().


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

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