Go to the documentation of this file.
7 #ifndef __ASPCALCULATOR_HPP__
8 #define __ASPCALCULATOR_HPP__
33 : backsolver_(backsolver),
34 data_A_init(
ConstPtr(A_data->MakeNewSchurDataCopy())),
66 const std::string& name,
68 const std::string& prefix
75 const std::string& name,
77 const std::string& prefix =
""
82 PrintImpl(jnlst, level, category, name, indent, prefix);
90 const std::string& name,
92 const std::string& prefix
95 if(
IsValid(jnlst) && jnlst->ProduceOutput(level, category) )
97 PrintImpl(*jnlst, level, category, name, indent, prefix);
124 data_A_ = data_A_init->MakeNewSchurDataCopy();
SmartPtr< const SchurData > data_A() const
SmartPtr< const SchurData > data_A_init
This file contains a base class for all exceptions and a set of macros to help with exceptions.
SmartPtr< SensBacksolver > Solver() const
Accessor methods for data and backsolver.
virtual bool InitializeImpl(const OptionsList &, const std::string &)
Implementation of the initialization method that has to be overloaded by for each derived class.
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const =0
EJournalLevel
Print Level Enum.
void Print(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const
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...
int Index
Type of all indices of vectors, matrices etc.
SmartPtr< SchurData > data_A_
virtual bool ComputeP()=0
Function to start the computation of P from E_0 and KKT.
Template class for Smart Pointers.
EJournalCategory
Category Selection Enum.
SmartPtr< SensBacksolver > backsolver_
virtual bool GetSchurMatrix(const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)=0
Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
PCalculator(SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
SmartPtr< const U > ConstPtr(const SmartPtr< U > &smart_ptr)
Class responsible for all message output.
This is the base class for all algorithm strategy objects.
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< SchurData > data_A_nonconst() const
bool IsValid(const SmartPtr< U > &smart_ptr)
This class stores a list of user set options.