7 #ifndef __ASPCALCULATOR_HPP__
8 #define __ASPCALCULATOR_HPP__
46 const std::string& prefix)
60 const std::string& name,
62 const std::string& prefix)
const =0;
67 const std::string& name,
69 const std::string& prefix=
"")
const
72 PrintImpl(jnlst, level, category, name, indent, prefix);
79 const std::string& name,
81 const std::string& prefix)
const
83 if (
IsValid(jnlst) && jnlst->ProduceOutput(level, category)) {
84 PrintImpl(*jnlst, level, category, name, indent, prefix);
SmartPtr< const SchurData > data_A_init
bool IsValid(const SmartPtr< U > &smart_ptr)
SmartPtr< SensBacksolver > backsolver_
This is the base class for all algorithm strategy objects.
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
SmartPtr< SchurData > data_A_nonconst() const
virtual bool GetSchurMatrix(const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)=0
Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
SmartPtr< SensBacksolver > Solver() const
Accessor methods for data and backsolver.
EJournalLevel
Print Level Enum.
Template class for Smart Pointers.
This class stores a list of user set options.
PCalculator(SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
This class is the interface for implementations of any class that calculates the matrix of the follo...
void Print(SmartPtr< const Journalist > jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
SmartPtr< const SchurData > data_A() const
int Index
Type of all indices of vectors, matrices etc.
SmartPtr< const U > ConstPtr(const SmartPtr< U > &smart_ptr)
SmartPtr< SchurData > data_A_
Class responsible for all message output.
virtual bool ComputeP()=0
Function to start the computation of P from E_0 and KKT.
virtual bool ProduceOutput(EJournalLevel level, EJournalCategory category) const
Method that returns true if there is a Journal that would write output for the given JournalLevel and...
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Overloaded from AlgorithmStrategyObject.
EJournalCategory
Category Selection Enum.