Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Attributes | List of all members
Ipopt::PCalculator Class Referenceabstract

#include <SensPCalculator.hpp>

+ Inheritance diagram for Ipopt::PCalculator:

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:

\[ \left(\begin{array}{cc} K & A\\ B & 0 \end{array}\right) \]

. More...

 
virtual ~PCalculator ()
 
virtual bool InitializeImpl (const OptionsList &options, const std::string &prefix)
 Overloaded from AlgorithmStrategyObject. More...
 
virtual bool ComputeP ()=0
 Function to start the computation of P from E_0 and KKT. More...
 
virtual bool GetSchurMatrix (const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)=0
 Function to extract a SchurMatrix corresponding to $B K^{-1} A$. More...
 
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. More...
 
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. More...
 
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. More...
 
 AlgorithmStrategyObject ()
 Default Constructor. More...
 
virtual ~AlgorithmStrategyObject ()
 Default Destructor. More...
 
- 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:

\[ \left(\begin{array}{cc} K & A\\ B & 0 \end{array}\right) \]

.

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: