Inner PANOC and ZeroFPR Solvers#
PANOC#
- class alpaqa._alpaqa.float64.PANOCSolver
C++ documentation:
alpaqa::PANOCSolver
- __call__(self: alpaqa._alpaqa.float64.PANOCSolver, problem: alpaqa._alpaqa.float64.Problem, opts: alpaqa._alpaqa.float64.InnerSolveOptions = {}, x: numpy.ndarray[numpy.float64[m, 1]] | None = None, y: numpy.ndarray[numpy.float64[m, 1]] | None = None, Σ: numpy.ndarray[numpy.float64[m, 1]] | None = None, *, asynchronous: bool = True, suppress_interrupt: bool = False) tuple
Solve.
- Parameters:
problem – Problem to solve
opts – Options
u – Initial guess
y – Lagrange multipliers
Σ – Penalty factors
asynchronous – Release the GIL and run the solver on a separate thread
suppress_interrupt – If the solver is interrupted by a
KeyboardInterrupt
, don’t propagate this exception back to the Python interpreter, but stop the solver early, and return a solution with the status set toalpaqa._alpaqa.SolverStatus.Interrupted
.
- Returns:
Solution \(u\)
Updated Lagrange multipliers (only if parameter
y
was notNone
)Constraint violation (only if parameter
y
was notNone
)Statistics
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.PANOCSolver, other: alpaqa._alpaqa.float64.PANOCSolver) -> None
Create a copy
__init__(self: alpaqa._alpaqa.float64.PANOCSolver, panoc_params: Union[alpaqa._alpaqa.float64.PANOCParams, dict] = {}, lbfgs_params: Union[alpaqa._alpaqa.float64.LBFGS.Params, dict] = {}, direction_params: Union[alpaqa._alpaqa.float64.StructuredLBFGSDirection.DirectionParams, dict] = {}) -> None
Create a PANOC solver using structured L-BFGS directions.
__init__(self: alpaqa._alpaqa.float64.PANOCSolver, panoc_params: Union[alpaqa._alpaqa.float64.PANOCParams, dict], direction: alpaqa._alpaqa.float64.PANOCDirection) -> None
Create a PANOC solver using a custom direction.
- property direction
- property name
- set_progress_callback(self: alpaqa._alpaqa.float64.PANOCSolver, callback: Callable[[alpaqa._alpaqa.float64.PANOCProgressInfo], None]) alpaqa._alpaqa.float64.PANOCSolver
Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
- stop(self: alpaqa._alpaqa.float64.PANOCSolver) None
- class alpaqa._alpaqa.float64.PANOCParams
C++ documentation:
alpaqa::PANOCParams
- property L_max
- property L_min
- property Lipschitz
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.PANOCParams, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.PANOCParams, **kwargs) -> None
- property eager_gradient_eval
- property force_linesearch
- property linesearch_strictness_factor
- property linesearch_tolerance_factor
- property max_iter
- property max_no_progress
- property max_time
- property min_linesearch_coefficient
- property print_interval
- property print_precision
- property quadratic_upperbound_tolerance_factor
- property recompute_last_prox_step_after_lbfgs_flush
- property stop_crit
- to_dict(self: alpaqa._alpaqa.float64.PANOCParams) dict
- property update_direction_in_candidate
ZeroFPR#
- class alpaqa._alpaqa.float64.ZeroFPRSolver
C++ documentation:
alpaqa::ZeroFPRSolver
- __call__(self: alpaqa._alpaqa.float64.ZeroFPRSolver, problem: alpaqa._alpaqa.float64.Problem, opts: alpaqa._alpaqa.float64.InnerSolveOptions = {}, x: numpy.ndarray[numpy.float64[m, 1]] | None = None, y: numpy.ndarray[numpy.float64[m, 1]] | None = None, Σ: numpy.ndarray[numpy.float64[m, 1]] | None = None, *, asynchronous: bool = True, suppress_interrupt: bool = False) tuple
Solve.
- Parameters:
problem – Problem to solve
opts – Options
u – Initial guess
y – Lagrange multipliers
Σ – Penalty factors
asynchronous – Release the GIL and run the solver on a separate thread
suppress_interrupt – If the solver is interrupted by a
KeyboardInterrupt
, don’t propagate this exception back to the Python interpreter, but stop the solver early, and return a solution with the status set toalpaqa._alpaqa.SolverStatus.Interrupted
.
- Returns:
Solution \(u\)
Updated Lagrange multipliers (only if parameter
y
was notNone
)Constraint violation (only if parameter
y
was notNone
)Statistics
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.ZeroFPRSolver, other: alpaqa._alpaqa.float64.ZeroFPRSolver) -> None
Create a copy
__init__(self: alpaqa._alpaqa.float64.ZeroFPRSolver, zerofpr_params: Union[alpaqa._alpaqa.float64.ZeroFPRParams, dict] = {}, lbfgs_params: Union[alpaqa._alpaqa.float64.LBFGS.Params, dict] = {}, direction_params: Union[alpaqa._alpaqa.float64.StructuredLBFGSDirection.DirectionParams, dict] = {}) -> None
Create a ZeroFPR solver using structured L-BFGS directions.
__init__(self: alpaqa._alpaqa.float64.ZeroFPRSolver, zerofpr_params: Union[alpaqa._alpaqa.float64.ZeroFPRParams, dict], direction: alpaqa._alpaqa.float64.PANOCDirection) -> None
Create a ZeroFPR solver using a custom direction.
- property direction
- property name
- set_progress_callback(self: alpaqa._alpaqa.float64.ZeroFPRSolver, callback: Callable[[alpaqa._alpaqa.float64.ZeroFPRProgressInfo], None]) alpaqa._alpaqa.float64.ZeroFPRSolver
Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
- stop(self: alpaqa._alpaqa.float64.ZeroFPRSolver) None
- class alpaqa._alpaqa.float64.ZeroFPRParams
C++ documentation:
alpaqa::ZeroFPRParams
- property L_max
- property L_min
- property Lipschitz
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.ZeroFPRParams, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.ZeroFPRParams, **kwargs) -> None
- property force_linesearch
- property linesearch_strictness_factor
- property linesearch_tolerance_factor
- property max_iter
- property max_no_progress
- property max_time
- property min_linesearch_coefficient
- property print_interval
- property print_precision
- property quadratic_upperbound_tolerance_factor
- property recompute_last_prox_step_after_lbfgs_flush
- property stop_crit
- to_dict(self: alpaqa._alpaqa.float64.ZeroFPRParams) dict
- property update_direction_from_prox_step
- property update_direction_in_candidate
Accelerators#
L-BFGS#
- class alpaqa._alpaqa.float64.LBFGSDirection
C++ documentation:
alpaqa::LBFGSDirection
- class DirectionParams
C++ documentation:
alpaqa::LBFGSDirection::DirectionParams
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.LBFGSDirection.DirectionParams, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.LBFGSDirection.DirectionParams, **kwargs) -> None
- property rescale_on_step_size_changes
- to_dict(self: alpaqa._alpaqa.float64.LBFGSDirection.DirectionParams) dict
- __init__(self: alpaqa._alpaqa.float64.LBFGSDirection, lbfgs_params: alpaqa._alpaqa.float64.LBFGS.Params | dict = {}, direction_params: alpaqa._alpaqa.float64.LBFGSDirection.DirectionParams | dict = {}) None
- property params
- class alpaqa._alpaqa.float64.LBFGS.Params
C++ documentation
alpaqa::LBFGSParams
- class CBFGS
C++ documentation
alpaqa::CBFGSParams
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.LBFGS.Params.CBFGS, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.LBFGS.Params.CBFGS, **kwargs) -> None
- to_dict(self: alpaqa._alpaqa.float64.LBFGS.Params.CBFGS) dict
- property α
- property ϵ
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.LBFGS.Params, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.LBFGS.Params, **kwargs) -> None
- property cbfgs
- property force_pos_def
- property memory
- property min_abs_s
- property min_div_fac
- property stepsize
- to_dict(self: alpaqa._alpaqa.float64.LBFGS.Params) dict
Structured L-BFGS#
- class alpaqa._alpaqa.float64.StructuredLBFGSDirection
C++ documentation:
alpaqa::StructuredLBFGSDirection
- class DirectionParams
C++ documentation:
alpaqa::StructuredLBFGSDirection::DirectionParams
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.StructuredLBFGSDirection.DirectionParams, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.StructuredLBFGSDirection.DirectionParams, **kwargs) -> None
- property full_augmented_hessian
- property hessian_vec_factor
- property hessian_vec_finite_differences
- to_dict(self: alpaqa._alpaqa.float64.StructuredLBFGSDirection.DirectionParams) dict
- __init__(self: alpaqa._alpaqa.float64.StructuredLBFGSDirection, lbfgs_params: alpaqa._alpaqa.float64.LBFGS.Params | dict = {}, direction_params: alpaqa._alpaqa.float64.StructuredLBFGSDirection.DirectionParams | dict = {}) None
- property params
Anderson acceleration#
- class alpaqa._alpaqa.float64.AndersonDirection
C++ documentation:
alpaqa::AndersonDirection
- class DirectionParams
C++ documentation:
alpaqa::AndersonDirection::DirectionParams
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.AndersonDirection.DirectionParams, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.AndersonDirection.DirectionParams, **kwargs) -> None
- property rescale_on_step_size_changes
- to_dict(self: alpaqa._alpaqa.float64.AndersonDirection.DirectionParams) dict
- __init__(self: alpaqa._alpaqa.float64.AndersonDirection, anderson_params: alpaqa._alpaqa.float64.AndersonAccel.Params | dict = {}, direction_params: alpaqa._alpaqa.float64.AndersonDirection.DirectionParams | dict = {}) None
- property params
- class alpaqa._alpaqa.float64.AndersonAccel.Params
C++ documentation
alpaqa::AndersonAccelParams
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: alpaqa._alpaqa.float64.AndersonAccel.Params, params: dict) -> None
__init__(self: alpaqa._alpaqa.float64.AndersonAccel.Params, **kwargs) -> None
- property memory
- property min_div_fac
- to_dict(self: alpaqa._alpaqa.float64.AndersonAccel.Params) dict