1 #ifndef ABSTRACTSOLVER_HPP     2 #define ABSTRACTSOLVER_HPP     9 #include <eigen3/Eigen/Dense>    10 #include <eigen3/Eigen/Core>    18 #include "../Generic/generics.hpp"    19 #include "../Generic/debug.hpp"    25 template < 
typename T >
    60     virtual Eigen::Matrix< T, Eigen::Dynamic, 1 > 
operator()(
    61         const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic >& X,
    62         const Eigen::Matrix< T, Eigen::Dynamic, 1 >& Y,
    63         const Eigen::Matrix< T, Eigen::Dynamic, 1 >& Beta_0,
    65         unsigned int num_iterations ) = 0;
    90     virtual Eigen::Matrix< T, Eigen::Dynamic, 1 > 
operator()(
    91         const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic >& X,
    92         const Eigen::Matrix< T, Eigen::Dynamic, 1 >& Y,
    93         const Eigen::Matrix< T, Eigen::Dynamic, 1 >& Beta_0,
    95         T duality_gap_target ) = 0;
    99     virtual Eigen::Matrix< T, Eigen::Dynamic, 1 > update_rule(
   100         const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic >& X,
   101         const Eigen::Matrix< T, Eigen::Dynamic, 1 >& Y,
   102         const Eigen::Matrix< T, Eigen::Dynamic, 1 >& Beta_0,
   107 template < 
typename T >
   115 #endif // ABSTRACTSOLVER_HPP 
virtual Eigen::Matrix< T, Eigen::Dynamic, 1 > operator()(const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &X, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &Y, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &Beta_0, T lambda, unsigned int num_iterations)=0
Run the AbstractSolver for a fixed number of steps, specified by num_iterations. 
Abstract base class for all iterative solvers.