Public Member Functions | Private Attributes
Ipopt::PCalculator Class Reference

#include <SensPCalculator.hpp>

Inheritance diagram for Ipopt::PCalculator:
Ipopt::AlgorithmStrategyObject Ipopt::ReferencedObject Ipopt::IndexPCalculator

List of all members.

Public Member Functions

 PCalculator (SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
 This class is the interface for implementations of any class that calculates the matrix $P =K^{-1}A of the following matrix: {eqnarray} ({array}{cc} K & A\ B & 0 {array} {eqnarray}.
virtual ~PCalculator ()
virtual bool InitializeImpl (const OptionsList &options, const std::string &prefix)
 Overloaded from AlgorithmStrategyObject.
virtual bool ComputeP ()=0
 Function to start the computation of P from E_0 and KKT.
virtual bool GetSchurMatrix (const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)=0
 Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
virtual void PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const =0
void Print (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const
void Print (SmartPtr< const Journalist > jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
SmartPtr< SensBacksolverSolver () const
 Accessor methods for data and backsolver.
SmartPtr< const SchurDatadata_A () const
SmartPtr< SchurDatadata_A_nonconst () const
void reset_data_A ()
- Public Member Functions inherited from Ipopt::AlgorithmStrategyObject
bool Initialize (const Journalist &jnlst, IpoptNLP &ip_nlp, IpoptData &ip_data, IpoptCalculatedQuantities &ip_cq, const OptionsList &options, const std::string &prefix)
 This method is called every time the algorithm starts again - it is used to reset any internal state.
bool ReducedInitialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
 Reduced version of the Initialize method, which does not require special Ipopt information.
 AlgorithmStrategyObject ()
 Default Constructor.
virtual ~AlgorithmStrategyObject ()
 Default Destructor.
- Public Member Functions inherited from Ipopt::ReferencedObject
 ReferencedObject ()
virtual ~ReferencedObject ()
Index ReferenceCount () const
void AddRef (const Referencer *referencer) const
void ReleaseRef (const Referencer *referencer) const

Private Attributes

SmartPtr< SensBacksolverbacksolver_
SmartPtr< const SchurDatadata_A_init
SmartPtr< SchurDatadata_A_

Additional Inherited Members

- Protected Member Functions inherited from Ipopt::AlgorithmStrategyObject
const JournalistJnlst () const
IpoptNLPIpNLP () const
IpoptDataIpData () const
IpoptCalculatedQuantitiesIpCq () const
bool HaveIpData () const

Detailed Description

Definition at line 17 of file SensPCalculator.hpp.


Constructor & Destructor Documentation

Ipopt::PCalculator::PCalculator ( SmartPtr< SensBacksolver backsolver,
SmartPtr< SchurData A_data 
)
inline

This class is the interface for implementations of any class that calculates the matrix $P =K^{-1}A of the following matrix: {eqnarray} ({array}{cc} K & A\ B & 0 {array} {eqnarray}.

Definition at line 31 of file SensPCalculator.hpp.

virtual Ipopt::PCalculator::~PCalculator ( )
inlinevirtual

Definition at line 40 of file SensPCalculator.hpp.


Member Function Documentation

virtual bool Ipopt::PCalculator::InitializeImpl ( const OptionsList options,
const std::string &  prefix 
)
inlinevirtual

Overloaded from AlgorithmStrategyObject.

Implements Ipopt::AlgorithmStrategyObject.

Reimplemented in Ipopt::IndexPCalculator.

Definition at line 45 of file SensPCalculator.hpp.

virtual bool Ipopt::PCalculator::ComputeP ( )
pure virtual

Function to start the computation of P from E_0 and KKT.

Implemented in Ipopt::IndexPCalculator.

virtual bool Ipopt::PCalculator::GetSchurMatrix ( const SmartPtr< const SchurData > &  B,
SmartPtr< Matrix > &  S 
)
pure virtual

Function to extract a SchurMatrix corresponding to $B K^{-1} A$.

If B==NULL, use A=B

Implemented in Ipopt::IndexPCalculator.

virtual void Ipopt::PCalculator::PrintImpl ( const Journalist jnlst,
EJournalLevel  level,
EJournalCategory  category,
const std::string &  name,
Index  indent,
const std::string &  prefix 
) const
pure virtual

Implemented in Ipopt::IndexPCalculator.

void Ipopt::PCalculator::Print ( const Journalist jnlst,
EJournalLevel  level,
EJournalCategory  category,
const std::string &  name,
Index  indent = 0,
const std::string &  prefix = "" 
) const
inline

Definition at line 64 of file SensPCalculator.hpp.

void Ipopt::PCalculator::Print ( SmartPtr< const Journalist jnlst,
EJournalLevel  level,
EJournalCategory  category,
const std::string &  name,
Index  indent,
const std::string &  prefix 
) const
inline

Definition at line 76 of file SensPCalculator.hpp.

SmartPtr<SensBacksolver> Ipopt::PCalculator::Solver ( ) const
inline

Accessor methods for data and backsolver.

This unconstness seems kind of dangerous but I don't think there is a way around it. Anyway, there is no difference between this and the IpData() method of AlgStrategy.

Definition at line 91 of file SensPCalculator.hpp.

SmartPtr<const SchurData> Ipopt::PCalculator::data_A ( ) const
inline

Definition at line 96 of file SensPCalculator.hpp.

SmartPtr<SchurData> Ipopt::PCalculator::data_A_nonconst ( ) const
inline

Definition at line 101 of file SensPCalculator.hpp.

void Ipopt::PCalculator::reset_data_A ( )
inline

Definition at line 106 of file SensPCalculator.hpp.


Member Data Documentation

SmartPtr<SensBacksolver> Ipopt::PCalculator::backsolver_
private

Definition at line 113 of file SensPCalculator.hpp.

SmartPtr<const SchurData> Ipopt::PCalculator::data_A_init
private

Definition at line 115 of file SensPCalculator.hpp.

SmartPtr<SchurData> Ipopt::PCalculator::data_A_
private

Definition at line 116 of file SensPCalculator.hpp.


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