7#ifndef __IPINEXACTPDTERMINATIONTESTER_HPP__
8#define __IPINEXACTPDTERMINATIONTESTER_HPP__
33 const std::string& prefix
This class implements the termination tests for the primal-dual system.
Number tt_kappa1_
kappa_1 factor in termination test 1
Number tcc_zeta_
zeta factor in the tangential component condition
Number rho_
rho constant from penalty parameter update.
virtual void Clear()
This method can be called after the Solve is over and we can delete anything that has been allocated ...
virtual Index GetSolverIterations() const
Return the number of iterative solver iteration from the most recent solve.
Number inexact_desired_pd_residual_
Desired reduction of residual.
virtual bool InitializeSolve()
Method for initializing for the next iterative solve.
bool requires_scaling_
Is set to true if the linear system is scaled via slacks.
SmartPtr< const Vector > curr_grad_barrier_obj_s_
SmartPtr< const Vector > curr_Wv_s_
SmartPtr< const Vector > curr_Av_c_
Index last_iter_
Last iterative solver iteration counter.
SmartPtr< const Vector > curr_Wv_x_
InexactPDTerminationTester()
Default constructor.
SmartPtr< const Vector > curr_Av_d_
virtual ~InexactPDTerminationTester()
Destructor.
SmartPtr< const Matrix > curr_jac_c_
SmartPtr< const Matrix > curr_jac_d_
Index inexact_desired_pd_residual_iter_
Number of iterations allowed for desired pd residual.
Number tcc_theta_
theta factor in the tangential component condition
Number tt_kappa2_
kappa_2 factor in termination test 2
virtual ETerminationTest TestTermination(Index ndim, const Number *sol, const Number *resid, Index iter, Number norm2_rhs)
This method checks if the current solution of the iterative linear solver is good enough (by returnin...
Number tt_eps3_
eps_3 constant in termination test 3
Number tcc_psi_
Psi factor in the tangential component condition.
Number tt_eps2_
eps_2 constant in termination test 2
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class.
Number tcc_theta_mu_exponent_
mu exponent when multiplied to theta in the tangential component condition
SmartPtr< const Vector > curr_grad_barrier_obj_x_
SmartPtr< Vector > curr_nabla_phi_plus_ATy_s_
SmartPtr< const Vector > curr_scaling_slacks_
SmartPtr< Vector > curr_nabla_phi_plus_ATy_x_
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
InexactPDTerminationTester & operator=(const InexactPDTerminationTester &)
Overloaded Assignment Operator.
This base class is for the termination tests for the iterative linear solver in the inexact version o...
ETerminationTest
Enum to report result of termination test.
This class stores a list of user set options.
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
ipnumber Number
Type of all numbers.