#include <AsPCalculator.hpp>
Inheritance diagram for Ipopt::PCalculator:
Public Member Functions | |
PCalculator (SmartPtr< AsBacksolver > 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< AsBacksolver > | Solver () const |
Accessor methods for data and backsolver. | |
SmartPtr< const SchurData > | data_A () const |
SmartPtr< SchurData > | data_A_nonconst () const |
void | reset_data_A () |
Private Attributes | |
SmartPtr< AsBacksolver > | backsolver_ |
SmartPtr< const SchurData > | data_A_init |
SmartPtr< SchurData > | data_A_ |
Definition at line 17 of file AsPCalculator.hpp.
Ipopt::PCalculator::PCalculator | ( | SmartPtr< AsBacksolver > | 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 AsPCalculator.hpp.
virtual Ipopt::PCalculator::~PCalculator | ( | ) | [inline, virtual] |
Definition at line 40 of file AsPCalculator.hpp.
virtual bool Ipopt::PCalculator::InitializeImpl | ( | const OptionsList & | options, | |
const std::string & | prefix | |||
) | [inline, virtual] |
Overloaded from AlgorithmStrategyObject.
Implements Ipopt::AlgorithmStrategyObject.
Reimplemented in Ipopt::IndexPCalculator, and Ipopt::StdPCalculator.
Definition at line 45 of file AsPCalculator.hpp.
virtual bool Ipopt::PCalculator::ComputeP | ( | ) | [pure virtual] |
Function to start the computation of P from E_0 and KKT.
Implemented in Ipopt::IndexPCalculator, and Ipopt::StdPCalculator.
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, and Ipopt::StdPCalculator.
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] |
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 AsPCalculator.hpp.
References PrintImpl(), and Ipopt::Journalist::ProduceOutput().
void Ipopt::PCalculator::Print | ( | SmartPtr< const Journalist > | jnlst, | |
EJournalLevel | level, | |||
EJournalCategory | category, | |||
const std::string & | name, | |||
Index | indent, | |||
const std::string & | prefix | |||
) | const [inline] |
SmartPtr<AsBacksolver> 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 AsPCalculator.hpp.
References backsolver_.
void Ipopt::PCalculator::reset_data_A | ( | ) | [inline] |
SmartPtr<AsBacksolver> Ipopt::PCalculator::backsolver_ [private] |
SmartPtr<const SchurData> Ipopt::PCalculator::data_A_init [private] |
SmartPtr<SchurData> Ipopt::PCalculator::data_A_ [private] |
Definition at line 116 of file AsPCalculator.hpp.
Referenced by data_A(), data_A_nonconst(), and reset_data_A().