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: