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();
This is the base class for all algorithm strategy objects.
Class responsible for all message output.
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...
This class stores a list of user set options.
This class is the interface for implementations of any class that calculates the matrix of the follo...
SmartPtr< SchurData > data_A_nonconst() const
PCalculator(SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const =0
SmartPtr< SensBacksolver > Solver() const
Accessor methods for data and backsolver.
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_init
SmartPtr< SchurData > data_A_
virtual bool GetSchurMatrix(const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)=0
Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
SmartPtr< const SchurData > data_A() const
void Print(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const
virtual bool ComputeP()=0
Function to start the computation of P from E_0 and KKT.
virtual bool InitializeImpl(const OptionsList &, const std::string &)
Implementation of the initialization method that has to be overloaded by for each derived class.
SmartPtr< SensBacksolver > backsolver_
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
SmartPtr< const U > ConstPtr(const SmartPtr< U > &smart_ptr)
bool IsValid(const SmartPtr< U > &smart_ptr)
ipindex Index
Type of all indices of vectors, matrices etc.
EJournalCategory
Category Selection Enum.
EJournalLevel
Print Level Enum.