|
PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
|
Namespaces | |
| detail | |
| problems | |
| vec_util | |
Typedefs | |
| using | real_t = double |
| Default floating point type. More... | |
| using | realvec = Eigen::Matrix< real_t, Eigen::Dynamic, 1 > |
| Default type for floating point vectors. More... | |
| using | realmat = Eigen::Matrix< real_t, Eigen::Dynamic, Eigen::Dynamic > |
| Default type for floating point matrices. More... | |
| using | vec = realvec |
| Default type for vectors. More... | |
| using | rvec = Eigen::Ref< vec > |
| Default type for mutable references to vectors. More... | |
| using | crvec = Eigen::Ref< const vec > |
| Default type for immutable references to vectors. More... | |
| using | mat = realmat |
| Default type for matrices. More... | |
| using | rmat = Eigen::Ref< mat > |
| Default type for mutable references to matrices. More... | |
| using | crmat = Eigen::Ref< const mat > |
| Default type for immutable references to matrices. More... | |
| using | PolymorphicPGASolver = PolymorphicInnerSolver< PGASolver > |
| using | PolymorphicGAAPGASolver = PolymorphicInnerSolver< GAAPGASolver > |
| using | PolymorphicPANOCSolver = PolymorphicInnerSolver< PANOCSolver< PolymorphicPANOCDirectionBase > > |
| using | PolymorphicPANOCSolverFull = PolymorphicInnerSolver< PANOCSolverFull< PolymorphicPANOCDirectionBase > > |
| using | PolymorphicStructuredPANOCLBFGSSolver = PolymorphicInnerSolver< StructuredPANOCLBFGSSolver > |
| using | PolymorphicALMSolver = ALMSolver< PolymorphicInnerSolverWrapper > |
| using | PolymorphicLBFGSDirection = PolymorphicPANOCDirection< LBFGS > |
Enumerations | |
| enum | LBFGSStepSize { BasedOnGradientStepSize = 0, BasedOnCurvature = 1 } |
| Which method to use to select the L-BFGS step size. More... | |
| enum | PANOCStopCrit { ApproxKKT = 0, ProjGradNorm, ProjGradUnitNorm, FPRNorm } |
| enum | SolverStatus { Unknown = 0, Converged, MaxTime, MaxIter, NotFinite, NoProgress, Interrupted } |
| Exit status of a numerical solver such as ALM or PANOC. More... | |
Functions | |
| const char * | enum_name (PANOCStopCrit s) |
| std::ostream & | operator<< (std::ostream &os, PANOCStopCrit s) |
| InnerStatsAccumulator< PANOCStats > & | operator+= (InnerStatsAccumulator< PANOCStats > &acc, const PANOCStats &s) |
| InnerStatsAccumulator< SecondOrderPANOCSolver::Stats > & | operator+= (InnerStatsAccumulator< SecondOrderPANOCSolver::Stats > &acc, const SecondOrderPANOCSolver::Stats &s) |
| InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats > & | operator+= (InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats > &acc, const StructuredPANOCLBFGSSolver::Stats &s) |
| void | minimize_update_anderson (LimitedMemoryQR &qr, rmat G, crvec rₖ, crvec rₖ₋₁, crvec gₖ, rvec γ_LS, rvec xₖ_aa) |
| Solve one step of Anderson acceleration to find a fixed point of a function g(x): More... | |
| InnerStatsAccumulator< GAAPGASolver::Stats > & | operator+= (InnerStatsAccumulator< GAAPGASolver::Stats > &acc, const GAAPGASolver::Stats &s) |
| InnerStatsAccumulator< LBFGSBStats > & | operator+= (InnerStatsAccumulator< LBFGSBStats > &acc, const LBFGSBStats &s) |
| InnerStatsAccumulator< PGASolver::Stats > & | operator+= (InnerStatsAccumulator< PGASolver::Stats > &acc, const PGASolver::Stats &s) |
| std::function< pa::Problem::f_sig > | load_CasADi_objective (const std::string &so_name, const std::string &fun_name="f") |
| Load an objective function generated by CasADi. More... | |
| std::function< pa::Problem::grad_f_sig > | load_CasADi_gradient_objective (const std::string &so_name, const std::string &fun_name="grad_f") |
| Load the gradient of an objective function generated by CasADi. More... | |
| std::function< pa::Problem::g_sig > | load_CasADi_constraints (const std::string &so_name, const std::string &fun_name="g") |
| Load a constraint function generated by CasADi. More... | |
| std::function< pa::Problem::grad_g_prod_sig > | load_CasADi_gradient_constraints_prod (const std::string &so_name, const std::string &fun_name="grad_g") |
| Load the gradient-vector product of a constraint function generated by CasADi. More... | |
| std::function< pa::Problem::hess_L_sig > | load_CasADi_hessian_lagrangian (const std::string &so_name, const std::string &fun_name="hess_L") |
| Load the Hessian of a Lagrangian function generated by CasADi. More... | |
| std::function< pa::Problem::hess_L_prod_sig > | load_CasADi_hessian_lagrangian_prod (const std::string &so_name, const std::string &fun_name="hess_L_prod") |
| Load the Hessian-vector product of a Lagrangian function generated by CasADi. More... | |
| pa::Problem | load_CasADi_problem (const std::string &filename, unsigned n, unsigned m, bool second_order=false) |
| Load a problem generated by CasADi (without parameters). More... | |
| pa::ProblemWithParam | load_CasADi_problem_with_param (const std::string &filename, unsigned n, unsigned m, bool second_order=false) |
| Load a problem generated by CasADi (with parameters). More... | |
| pa::ProblemFull | load_CasADi_problem_full (const char *filename, unsigned n, unsigned m1, unsigned m2, bool second_order=false) |
| Load a problem generated by CasADi (without parameters). More... | |
| pa::ProblemFullWithParam | load_CasADi_problem_full_with_param (const char *filename, unsigned n, unsigned m1, unsigned m2, bool second_order=false) |
| Load a problem generated by CasADi (with parameters). More... | |
| template<class ObjFunT , class ObjGradFunT , class DirectionT > | |
| PANOCStats | panoc_impl (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams ¶ms, vec_allocator &alloc, DirectionT &direction_provider) |
| template<class DirectionProviderT = LBFGS, class ObjFunT , class ObjGradFunT > | |
| PANOCStats | panoc (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams ¶ms, PANOCDirection< DirectionProviderT > direction, vec_allocator &alloc) |
| template<class DirectionProviderT = LBFGS, class ObjFunT , class ObjGradFunT > | |
| PANOCStats | panoc (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams ¶ms, PANOCDirection< DirectionProviderT > direction) |
| template<class Vec > | |
| auto | project (const Vec &v, const Box &box) |
| Project a vector onto a box. More... | |
| template<class Vec > | |
| auto | projecting_difference (const Vec &v, const Box &box) |
| Get the difference between the given vector and its projection. More... | |
| real_t | dist_squared (crvec v, const Box &box) |
| Get the distance squared between the given vector and its projection. More... | |
| real_t | dist_squared (crvec v, const Box &box, crvec Σ) |
| Get the distance squared between the given vector and its projection in the Σ norm. More... | |
| EvalCounter & | operator+= (EvalCounter &a, EvalCounter b) |
| EvalCounter | operator+ (EvalCounter a, EvalCounter b) |
| EvalCounterFull & | operator+= (EvalCounterFull &a, EvalCounterFull b) |
| EvalCounterFull | operator+ (EvalCounterFull a, EvalCounterFull b) |
| template<class InnerSolver > | |
| auto | InnerSolverCallWrapper () |
| template<class InnerSolver > | |
| auto | InnerSolverFullCallWrapper () |
| InnerStatsAccumulator< PolymorphicInnerSolverWrapper::Stats > & | operator+= (InnerStatsAccumulator< PolymorphicInnerSolverWrapper::Stats > &acc, const PolymorphicInnerSolverWrapper::Stats &s) |
| py::dict | stats_to_dict (const PANOCStats &s) |
| py::dict | stats_to_dict (const InnerStatsAccumulator< PANOCStats > &s) |
| py::dict | stats_to_dict (const StructuredPANOCLBFGSSolver::Stats &s) |
| py::dict | stats_to_dict (const PGASolver::Stats &s) |
| py::dict | stats_to_dict (const GAAPGASolver::Stats &s) |
| py::dict | stats_to_dict (const InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats > &s) |
| py::dict | stats_to_dict (const InnerStatsAccumulator< PGASolver::Stats > &s) |
| py::dict | stats_to_dict (const InnerStatsAccumulator< GAAPGASolver::Stats > &s) |
| py::dict | stats_to_dict (const PolymorphicALMSolver::Stats &s) |
| template<class InnerSolver > | |
| py::dict | stats_to_dict (typename pa::ALMSolverFull< PANOCSolverFull<>>::Stats &s) |
| const char * | enum_name (SolverStatus s) |
| std::ostream & | operator<< (std::ostream &os, SolverStatus s) |
Variables | |
| constexpr size_t | panoc_min_alloc_size = 10 |
| constexpr real_t | inf = std::numeric_limits<real_t>::infinity() |
| \( \infty \) More... | |
| constexpr real_t | NaN = std::numeric_limits<real_t>::quiet_NaN() |
| Not a number. More... | |
| struct pa::ALMParams |
Collaboration diagram for ALMParams:| Class Members | ||
|---|---|---|
| real_t | ε | Primal tolerance. |
| real_t | δ | Dual tolerance. |
| real_t | Δ | Factor used in updating the penalty parameters. |
| real_t | Δ_lower | Factor to reduce ALMParams::Δ when inner convergence fails. |
| real_t | Σ₀ |
Initial penalty parameter. When set to zero (which is the default), it is computed automatically, based on the constraint violation in the starting point and the parameter ALMParams::σ₀. |
| real_t | σ₀ |
Initial penalty parameter factor. Active if ALMParams::Σ₀ is set to zero. |
| real_t | Σ₀_lower | Factor to reduce the initial penalty factor by if convergence fails in in the first iteration. |
| real_t | ε₀ | Initial primal tolerance. |
| real_t | ε₀_increase | Factor to increase the initial primal tolerance if convergence fails in the first iteration. |
| real_t | ρ | Update factor for primal tolerance. |
| real_t | ρ_increase | Factor to increase the primal tolerance update factor by if convergence fails. |
| real_t | θ | Error tolerance for penalty increase. |
| real_t | M | Lagrange multiplier bound. |
| real_t | Σ_max | Maximum penalty factor. |
| real_t | Σ_min | Minimum penalty factor (used during initialization). |
| unsigned int | max_iter | Maximum number of outer ALM iterations. |
| microseconds | max_time | Maximum duration. |
| unsigned | max_num_initial_retries | How many times can the initial penalty ALMParams::Σ₀ or ALMParams::σ₀ and the initial primal tolerance ALMParams::ε₀ be reduced. |
| unsigned | max_num_retries | How many times can the penalty update factor ALMParams::Δ and the primal tolerance factor ALMParams::ρ be reduced. |
| unsigned | max_total_num_retries | Combined limit for ALMParams::max_num_initial_retries and ALMParams::max_num_retries. |
| unsigned | print_interval |
When to print progress. If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations. |
| bool | preconditioning | Apply preconditioning to the problem, based on the gradients in the starting point. |
| bool | single_penalty_factor | Use one penalty factor for all m constraints. |
| struct pa::GAAPGAParams |
Collaboration diagram for GAAPGAParams:| Class Members | ||
|---|---|---|
| LipschitzEstimateParams | Lipschitz | Parameters related to the Lipschitz constant estimate and step size. |
| unsigned | limitedqr_mem | Length of the history to keep in the limited-memory QR algorithm. |
| unsigned | max_iter | Maximum number of inner iterations. |
| microseconds | max_time | Maximum duration. |
| real_t | L_min | Minimum Lipschitz constant estimate. |
| real_t | L_max | Maximum Lipschitz constant estimate. |
| PANOCStopCrit | stop_crit | What stopping criterion to use. |
| unsigned | print_interval |
When to print progress. If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations. |
| real_t | quadratic_upperbound_tolerance_factor | |
| unsigned | max_no_progress | Maximum number of iterations without any progress before giving up. |
| bool | full_flush_on_γ_change | |
| struct pa::GAAPGAProgressInfo |
| struct pa::InnerStatsAccumulator |
Collaboration diagram for InnerStatsAccumulator< InnerSolverStats >:| struct pa::InnerStatsAccumulator< GAAPGASolver::Stats > |
| struct pa::InnerStatsAccumulator< LBFGSBStats > |
| struct pa::InnerStatsAccumulator< PANOCStats > |
Collaboration diagram for InnerStatsAccumulator< PANOCStats >:| Class Members | ||
|---|---|---|
| microseconds | elapsed_time | |
| unsigned | iterations | |
| unsigned | linesearch_failures | |
| unsigned | lbfgs_failures | |
| unsigned | lbfgs_rejected | |
| unsigned | τ_1_accepted | |
| unsigned | count_τ | |
| real_t | sum_τ | |
| struct pa::InnerStatsAccumulator< PGASolver::Stats > |
| struct pa::InnerStatsAccumulator< SecondOrderPANOCSolver::Stats > |
Collaboration diagram for InnerStatsAccumulator< SecondOrderPANOCSolver::Stats >:| Class Members | ||
|---|---|---|
| microseconds | elapsed_time | |
| unsigned | iterations | |
| unsigned | newton_failures | |
| unsigned | linesearch_failures | |
| unsigned | τ_1_accepted | |
| unsigned | count_τ | |
| real_t | sum_τ | |
| struct pa::InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats > |
Collaboration diagram for InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats >:| Class Members | ||
|---|---|---|
| microseconds | elapsed_time | |
| unsigned | iterations | |
| unsigned | linesearch_failures | |
| unsigned | lbfgs_failures | |
| unsigned | lbfgs_rejected | |
| unsigned | τ_1_accepted | |
| unsigned | count_τ | |
| real_t | sum_τ | |
| struct pa::LBFGSBStats |
Collaboration diagram for LBFGSBStats:| Class Members | ||
|---|---|---|
| SolverStatus | status | |
| real_t | ε | |
| microseconds | elapsed_time | |
| unsigned | iterations | |
| struct pa::LBFGSParams |
Collaboration diagram for LBFGSParams:| Class Members | ||
|---|---|---|
| unsigned | memory | Length of the history to keep. |
| struct LBFGSParams | cbfgs |
Parameters in the cautious BFGS update condition. \[ \frac{y^\top s}{s^\top s} \ge \epsilon \| g \|^\alpha \] |
| bool | rescale_when_γ_changes | |
| struct pa::LBFGSParams.cbfgs |
| struct pa::LipschitzEstimateParams |
Collaboration diagram for LipschitzEstimateParams:| Class Members | ||
|---|---|---|
| real_t | L₀ | Initial estimate of the Lipschitz constant of ∇ψ(x) |
| real_t | ε | Relative step size for initial finite difference Lipschitz estimate. |
| real_t | δ | Minimum step size for initial finite difference Lipschitz estimate. |
| real_t | Lγ_factor | Factor that relates step size γ and Lipschitz constant. |
| struct pa::PANOCFullProgressInfo |
| struct pa::PANOCParams |
Collaboration diagram for PANOCParams:| Class Members | ||
|---|---|---|
| LipschitzEstimateParams | Lipschitz | Parameters related to the Lipschitz constant estimate and step size. |
| unsigned | max_iter | Maximum number of inner PANOC iterations. |
| microseconds | max_time | Maximum duration. |
| real_t | τ_min | Minimum weight factor between Newton step and projected gradient step. |
| real_t | L_min | Minimum Lipschitz constant estimate. |
| real_t | L_max | Maximum Lipschitz constant estimate. |
| PANOCStopCrit | stop_crit | What stopping criterion to use. |
| unsigned | max_no_progress | Maximum number of iterations without any progress before giving up. |
| unsigned | print_interval |
When to print progress. If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations. |
| real_t | quadratic_upperbound_tolerance_factor | |
| bool | update_lipschitz_in_linesearch | |
| bool | alternative_linesearch_cond | |
| LBFGSStepSize | lbfgs_stepsize | |
| struct pa::PANOCProgressInfo |
| struct pa::PANOCStats |
Collaboration diagram for PANOCStats:| Class Members | ||
|---|---|---|
| SolverStatus | status | |
| real_t | ε | |
| microseconds | elapsed_time | |
| unsigned | iterations | |
| unsigned | linesearch_failures | |
| unsigned | lbfgs_failures | |
| unsigned | lbfgs_rejected | |
| unsigned | τ_1_accepted | |
| unsigned | count_τ | |
| real_t | sum_τ | |
| struct pa::PGAParams |
Collaboration diagram for PGAParams:| Class Members | ||
|---|---|---|
| LipschitzEstimateParams | Lipschitz | Parameters related to the Lipschitz constant estimate and step size. |
| unsigned | max_iter | Maximum number of inner iterations. |
| microseconds | max_time | Maximum duration. |
| real_t | L_min | Minimum Lipschitz constant estimate. |
| real_t | L_max | Maximum Lipschitz constant estimate. |
| PANOCStopCrit | stop_crit | What stop criterion to use. |
| unsigned | print_interval |
When to print progress. If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations. |
| real_t | quadratic_upperbound_tolerance_factor | |
| struct pa::PGAProgressInfo |
| struct pa::SecondOrderPANOCParams |
Collaboration diagram for SecondOrderPANOCParams:| Class Members | ||
|---|---|---|
| LipschitzEstimateParams | Lipschitz | Parameters related to the Lipschitz constant estimate and step size. |
| unsigned | max_iter | Maximum number of inner PANOC iterations. |
| microseconds | max_time | Maximum duration. |
| real_t | τ_min | Minimum weight factor between Newton step and projected gradient step. |
| real_t | L_min | Minimum Lipschitz constant estimate. |
| real_t | L_max | Maximum Lipschitz constant estimate. |
| PANOCStopCrit | stop_crit | What stopping criterion to use. |
| unsigned | max_no_progress | Maximum number of iterations without any progress before giving up. |
| unsigned | print_interval |
When to print progress. If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations. |
| real_t | quadratic_upperbound_tolerance_factor | |
| bool | update_lipschitz_in_linesearch | |
| bool | alternative_linesearch_cond | |
| struct pa::StructuredPANOCLBFGSParams |
Collaboration diagram for StructuredPANOCLBFGSParams:| Class Members | ||
|---|---|---|
| LipschitzEstimateParams | Lipschitz | Parameters related to the Lipschitz constant estimate and step size. |
| unsigned | max_iter | Maximum number of inner PANOC iterations. |
| microseconds | max_time | Maximum duration. |
| real_t | τ_min | Minimum weight factor between Newton step and projected gradient step. |
| real_t | L_min | Minimum Lipschitz constant estimate. |
| real_t | L_max | Maximum Lipschitz constant estimate. |
| real_t | nonmonotone_linesearch |
Factor used in update for exponentially weighted nonmonotone line search. Zero means monotone line search. |
| PANOCStopCrit | stop_crit | What stopping criterion to use. |
| unsigned | max_no_progress | Maximum number of iterations without any progress before giving up. |
| unsigned | print_interval |
When to print progress. If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations. |
| real_t | quadratic_upperbound_tolerance_factor | |
| bool | update_lipschitz_in_linesearch | |
| bool | alternative_linesearch_cond | |
| bool | hessian_vec_finited_differences | |
| bool | full_augmented_hessian | |
| LBFGSStepSize | lbfgs_stepsize | |
| struct pa::StructuredPANOCLBFGSProgressInfo |
Collaboration diagram for StructuredPANOCLBFGSProgressInfo:| Class Members | ||
|---|---|---|
| unsigned | k | |
| crvec | x | |
| crvec | p | |
| real_t | norm_sq_p | |
| crvec | x_hat | |
| real_t | φγ | |
| real_t | ψ | |
| crvec | grad_ψ | |
| real_t | ψ_hat | |
| crvec | grad_ψ_hat | |
| real_t | L | |
| real_t | γ | |
| real_t | τ | |
| real_t | ε | |
| crvec | Σ | |
| crvec | y | |
| const Problem & | problem | |
| const StructuredPANOCLBFGSParams & | params | |
Default type for vectors.
Definition at line 468 of file polymorphic-inner-solver.hpp.
Definition at line 469 of file polymorphic-inner-solver.hpp.
Definition at line 470 of file polymorphic-inner-solver.hpp.
| using PolymorphicPANOCSolverFull = PolymorphicInnerSolver<PANOCSolverFull<PolymorphicPANOCDirectionBase> > |
Definition at line 472 of file polymorphic-inner-solver.hpp.
Definition at line 474 of file polymorphic-inner-solver.hpp.
Definition at line 477 of file polymorphic-inner-solver.hpp.
Definition at line 128 of file polymorphic-panoc-direction.hpp.
|
strong |
Which method to use to select the L-BFGS step size.
| Enumerator | |
|---|---|
| BasedOnGradientStepSize | |
| BasedOnCurvature | |
Definition at line 6 of file lbfgs-stepsize.hpp.
|
strong |
Definition at line 8 of file panoc-stop-crit.hpp.
|
strong |
Exit status of a numerical solver such as ALM or PANOC.
Definition at line 7 of file solverstatus.hpp.
|
inline |
|
inline |
|
inline |
Definition at line 217 of file inner/decl/panoc.hpp.
|
inline |
Definition at line 127 of file decl/second-order-panoc.hpp.
|
inline |
Definition at line 147 of file decl/structured-panoc-lbfgs.hpp.
|
inline |
Solve one step of Anderson acceleration to find a fixed point of a function g(x):
\( g(x^\star) - x^\star = 0 \)
Updates the QR factorization of \( \mathcal{R}_k = QR \), solves the least squares problem to find \( \gamma_\text{LS} \), computes the next iterate \( x_{k+1} \), and stores the current function value \( g_k \) in the matrix \( G \), which is used as a circular buffer.
\[ \begin{aligned} \mathcal{R}_k &= \begin{pmatrix} \Delta r_{k-m_k} & \dots & \Delta r_{k-1} \end{pmatrix} \in \mathbb{R}^{n\times m_k} \\ \Delta r_i &= r_{i+1} - r_i \\ r_i &= g_i - x_i \\ g_i &= g(x_i) \\ \DeclareMathOperator*{\argmin}{argmin} \gamma_\text{LS} &= \argmin_\gamma \left\| \mathcal{R}_k \gamma - r_k \right\|_2 \\ \alpha_i &= \begin{cases} \gamma_\text{LS}[0] & i = 0 \\ \gamma_\text{LS}[i] - \gamma_\text{LS}[i-1] & 0 < i < m_k \\ 1 - \gamma_\text{LS}[m_k - 1] & i = m_k \end{cases} \\ x_{k+1} &= \sum_{i=0}^{m_k} \alpha_i\,g_i \end{aligned} \]
Definition at line 30 of file anderson-helpers.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 361 of file guarded-aa-pga.hpp.
|
inline |
Definition at line 193 of file lbfgspp.hpp.
|
inline |
|
inline |
Definition at line 157 of file standalone/panoc.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:| PANOCStats pa::panoc | ( | ObjFunT & | ψ, |
| ObjGradFunT & | grad_ψ, | ||
| const Box & | C, | ||
| rvec | x, | ||
| real_t | ε, | ||
| const PANOCParams & | params, | ||
| PANOCDirection< DirectionProviderT > | direction, | ||
| vec_allocator & | alloc | ||
| ) |
Definition at line 370 of file standalone/panoc.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:| PANOCStats pa::panoc | ( | ObjFunT & | ψ, |
| ObjGradFunT & | grad_ψ, | ||
| const Box & | C, | ||
| rvec | x, | ||
| real_t | ε, | ||
| const PANOCParams & | params, | ||
| PANOCDirection< DirectionProviderT > | direction | ||
| ) |
|
inline |
|
inline |
Get the difference between the given vector and its projection.
\[ v - \Pi_C(v) \]
| [in] | v | The vector to project |
| [in] | box | The box to project onto |
Definition at line 28 of file box.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:Get the distance squared between the given vector and its projection.
\[ \left\| v - \Pi_C(v) \right\|_2^2 \]
| [in] | v | The vector to project |
| [in] | box | The box to project onto |
Definition at line 37 of file box.hpp.
Here is the call graph for this function:Get the distance squared between the given vector and its projection in the Σ norm.
\[ \left\| v - \Pi_C(v) \right\|_\Sigma^2 = \left(v - \Pi_C(v)\right)^\top \Sigma \left(v - \Pi_C(v)\right) \]
| [in] | v | The vector to project |
| [in] | box | The box to project onto |
| [in] | Σ | Diagonal matrix defining norm |
Definition at line 48 of file box.hpp.
Here is the call graph for this function:
|
inline |
Definition at line 149 of file include/panoc-alm/util/problem.hpp.
|
inline |
Definition at line 160 of file include/panoc-alm/util/problem.hpp.
|
inline |
Definition at line 383 of file include/panoc-alm/util/problem.hpp.
|
inline |
Definition at line 394 of file include/panoc-alm/util/problem.hpp.
| auto pa::InnerSolverCallWrapper | ( | ) |
Definition at line 20 of file polymorphic-inner-solver.hpp.
Here is the caller graph for this function:| auto pa::InnerSolverFullCallWrapper | ( | ) |
Definition at line 32 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 165 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 205 of file polymorphic-inner-solver.hpp.
Here is the caller graph for this function:
|
inline |
Definition at line 221 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 235 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 251 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 261 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 272 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 288 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 297 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 479 of file polymorphic-inner-solver.hpp.
|
inline |
Definition at line 497 of file polymorphic-inner-solver.hpp.
Here is the call graph for this function:| const char* pa::enum_name | ( | SolverStatus | s | ) |
Definition at line 8 of file solverstatus.cpp.
| std::ostream& pa::operator<< | ( | std::ostream & | os, |
| SolverStatus | s | ||
| ) |
|
constexpr |
Definition at line 154 of file standalone/panoc.hpp.