Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
Ipopt::SumSymMatrix Class Reference

Class for Matrices which are sum of symmetric matrices. More...

#include <IpSumSymMatrix.hpp>

+ Inheritance diagram for Ipopt::SumSymMatrix:

List of all members.

Public Member Functions

void SetTerm (Index iterm, Number factor, const SymMatrix &matrix)
 Method for setting term iterm for the sum.
void GetTerm (Index iterm, Number &factor, SmartPtr< const SymMatrix > &matrix) const
 Method for getting term iterm for the sum.
Index NTerms () const
 Return the number of terms.
Constructors / Destructors
 SumSymMatrix (const SumSymMatrixSpace *owner_space)
 Constructor, initializing with dimensions of the matrix and the number of terms in the sum.
 ~SumSymMatrix ()
 Destructor.

Protected Member Functions

Methods overloaded from matrix
virtual void MultVectorImpl (Number alpha, const Vector &x, Number beta, Vector &y) const
 Matrix-vector multiply.
virtual bool HasValidNumbersImpl () const
 Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
virtual void ComputeRowAMaxImpl (Vector &rows_norms, bool init) const
 Compute the max-norm of the rows in the matrix.
virtual void ComputeColAMaxImpl (Vector &cols_norms, bool init) const
 Since the matrix is symmetric, the row and column max norms are identical.
virtual void PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
 Print detailed information about the matrix.

Private Member Functions

Default Compiler Generated Methods

(Hidden to avoid implicit creation/calling).

These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called.

 SumSymMatrix ()
 Default Constructor.
 SumSymMatrix (const SumSymMatrix &)
 Copy Constructor.
void operator= (const SumSymMatrix &)
 Overloaded Equals Operator.

Private Attributes

std::vector< Numberfactors_
 std::vector storing the factors for each term.
std::vector< SmartPtr< const
SymMatrix > > 
matrices_
 std::vector storing the matrices for each term.
const SumSymMatrixSpaceowner_space_
 Copy of the owner_space as a SumSymMatrixSpace.

Detailed Description

Class for Matrices which are sum of symmetric matrices.

For each term in the we store the matrix and a factor.

Definition at line 24 of file IpSumSymMatrix.hpp.


Constructor & Destructor Documentation

Constructor, initializing with dimensions of the matrix and the number of terms in the sum.

Destructor.

Default Constructor.

Copy Constructor.


Member Function Documentation

void Ipopt::SumSymMatrix::SetTerm ( Index  iterm,
Number  factor,
const SymMatrix matrix 
)

Method for setting term iterm for the sum.

Note that counting of terms starts at 0.

void Ipopt::SumSymMatrix::GetTerm ( Index  iterm,
Number factor,
SmartPtr< const SymMatrix > &  matrix 
) const

Method for getting term iterm for the sum.

Note that counting of terms starts at 0.

Return the number of terms.

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

Matrix-vector multiply.

Computes y = alpha * Matrix * x + beta * y

Implements Ipopt::Matrix.

virtual bool Ipopt::SumSymMatrix::HasValidNumbersImpl ( ) const [protected, virtual]

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

Reimplemented from Ipopt::Matrix.

virtual void Ipopt::SumSymMatrix::ComputeRowAMaxImpl ( Vector rows_norms,
bool  init 
) const [protected, virtual]

Compute the max-norm of the rows in the matrix.

The result is stored in rows_norms. The vector is assumed to be initialized.

Implements Ipopt::Matrix.

virtual void Ipopt::SumSymMatrix::ComputeColAMaxImpl ( Vector cols_norms,
bool  init 
) const [protected, virtual]

Since the matrix is symmetric, the row and column max norms are identical.

Reimplemented from Ipopt::SymMatrix.

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

Print detailed information about the matrix.

Implements Ipopt::Matrix.

void Ipopt::SumSymMatrix::operator= ( const SumSymMatrix ) [private]

Overloaded Equals Operator.


Member Data Documentation

std::vector<Number> Ipopt::SumSymMatrix::factors_ [private]

std::vector storing the factors for each term.

Definition at line 93 of file IpSumSymMatrix.hpp.

std::vector<SmartPtr<const SymMatrix> > Ipopt::SumSymMatrix::matrices_ [private]

std::vector storing the matrices for each term.

Definition at line 96 of file IpSumSymMatrix.hpp.

Copy of the owner_space as a SumSymMatrixSpace.

Reimplemented from Ipopt::SymMatrix.

Definition at line 99 of file IpSumSymMatrix.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines