26template <
class LoadedProblem>
29 if (!direction.empty())
30 throw std::invalid_argument(
31 "FISTA solver does not support any directions");
36 return std::make_shared<SolverWrapper>(
37 [solver{std::move(solver)}, N_exp](
48 return make_fista_driver_impl<alpaqa::LoadedProblem>(direction, opts);
Augmented Lagrangian Method solver.
FISTAParams< config_t > Params
#define USING_ALPAQA_CONFIG(Conf)
unsigned print_interval
When to print progress.
unsigned max_iter
Maximum number of inner FISTA iterations.
PANOCStopCrit stop_crit
What stopping criterion to use.
auto make_inner_fista_solver(alpaqa::Options &opts)
SharedSolverWrapper make_fista_driver_impl(std::string_view direction, alpaqa::Options &opts)
alpaqa::FISTASolver< alpaqa::DefaultConfig > FISTASolver
SharedSolverWrapper make_fista_driver(std::string_view direction, alpaqa::Options &opts)
SolverResults run_alm_solver(LoadedProblem &problem, Solver &solver, std::ostream &os, unsigned N_exp)
std::shared_ptr< SolverWrapper > SharedSolverWrapper
auto make_alm_solver(InnerSolver &&inner_solver, Options &opts)
@ FPRNorm
∞-norm of fixed point residual:
void set_params(T &t, std::string_view prefix, Options &opts)
auto attach_cancellation(Solver &solver)
Attach SIGINT and SIGTERM handlers to stop the given solver.