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< SensBacksolver > Solver () const
 Accessor methods for data and backsolver.
 
SmartPtr< const SchurData > data_A () const
 
SmartPtr< SchurData > data_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< SensBacksolver > backsolver_
 
SmartPtr< const SchurData > data_A_init
 
SmartPtr< SchurData > data_A_
 

Additional Inherited Members

- Protected Member Functions inherited from Ipopt::AlgorithmStrategyObject
const Journalist & Jnlst () const
 
IpoptNLP & IpNLP () const
 
IpoptData & IpData () const
 
IpoptCalculatedQuantities & IpCq () 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: