Ipopt Documentation  
 
Loading...
Searching...
No Matches
Ipopt::PCalculator Class Referenceabstract

This class is the interface for implementations of any class that calculates the matrix \(P =K^{-1}A\) of the following matrix: More...

#include <SensPCalculator.hpp>

+ Inheritance diagram for Ipopt::PCalculator:

Public Member Functions

 PCalculator (SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
 
virtual ~PCalculator ()
 
virtual bool InitializeImpl (const OptionsList &, const std::string &)
 Implementation of the initialization method that has to be overloaded by for each derived class.
 
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 ()
 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

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 26 of file SensPCalculator.hpp.

Constructor & Destructor Documentation

◆ PCalculator()

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

Definition at line 29 of file SensPCalculator.hpp.

◆ ~PCalculator()

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

Definition at line 38 of file SensPCalculator.hpp.

Member Function Documentation

◆ InitializeImpl()

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

Implementation of the initialization method that has to be overloaded by for each derived class.

Implements Ipopt::AlgorithmStrategyObject.

Reimplemented in Ipopt::IndexPCalculator.

Definition at line 42 of file SensPCalculator.hpp.

◆ ComputeP()

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

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

Implemented in Ipopt::IndexPCalculator.

◆ GetSchurMatrix()

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.

◆ PrintImpl()

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.

◆ Print() [1/2]

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 71 of file SensPCalculator.hpp.

◆ Print() [2/2]

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 86 of file SensPCalculator.hpp.

◆ Solver()

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 107 of file SensPCalculator.hpp.

◆ data_A()

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

Definition at line 112 of file SensPCalculator.hpp.

◆ data_A_nonconst()

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

Definition at line 117 of file SensPCalculator.hpp.

◆ reset_data_A()

void Ipopt::PCalculator::reset_data_A ( )
inline

Definition at line 122 of file SensPCalculator.hpp.

Member Data Documentation

◆ backsolver_

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

Definition at line 129 of file SensPCalculator.hpp.

◆ data_A_init

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

Definition at line 131 of file SensPCalculator.hpp.

◆ data_A_

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

Definition at line 132 of file SensPCalculator.hpp.


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