copt.minimize_proximal_gradient¶
- 
copt.minimize_proximal_gradient(fun, x0, prox=None, jac='2-point', tol=1e-06, max_iter=500, args=(), verbose=0, callback=None, step='backtracking', accelerated=False, eps=1e-08, max_iter_backtracking=1000, backtracking_factor=0.6, trace_certificate=False)¶
- Proximal gradient descent. - Solves problems of the form - minimize_x f(x) + g(x) - where f is a differentiable function and we have access to the proximal operator of g. - Parameters
- fun – - callable The objective function to be minimized. - fun(x, *args) -> float- where x is an 1-D array with shape (n,) and args is a tuple of the fixed parameters needed to completely specify the function. 
- x0 – ndarray, shape (n,) Initial guess. Array of real elements of size (n,), where ‘n’ is the number of independent variables. 
- jac – - {callable, ‘2-point’, bool}, optional Method for computing the gradient vector. If it is a callable, it should be a function that returns the gradient vector: - jac(x, *args) -> array_like, shape (n,)- where x is an array with shape (n,) and args is a tuple with the fixed parameters. Alternatively, the ‘2-point’ select a finite difference scheme for numerical estimation of the gradient. If jac is a Boolean and is True, fun is assumed to return the gradient along with the objective function. If False, the gradient will be estimated using ‘2-point’ finite difference estimation. 
- prox – callable, optional. Proximal operator g. 
- args – tuple, optional Extra arguments passed to the objective function and its derivatives. 
- tol – float, optional Tolerance of the optimization procedure. The iteration stops when the gradient mapping (a generalization of the gradient to non-smooth functions) is below this tolerance. 
- max_iter – int, optional. Maximum number of iterations. 
- verbose – int, optional. Verbosity level, from 0 (no output) to 2 (output on each iteration) 
- callback – callable. callback function (optional). Takes a single argument (x) with the current coefficients in the algorithm. The algorithm will exit if callback returns False. 
- step – “backtracking” or callable. Step-size strategy to use. “backtracking” will use a backtracking line-search, while callable will use the value returned by step(locals()). 
- accelerated – boolean Whether to use the accelerated variant of the algorithm. 
- eps – float or ndarray If jac is approximated, use this value for the step size. 
- max_iter_backtracking – int 
- backtracking_factor – float 
- trace_certificate – bool 
 
- Returns
- The optimization result represented as a
- scipy.optimize.OptimizeResultobject. Important attributes are:- xthe solution array,- successa Boolean flag indicating if the optimizer exited successfully and- messagewhich describes the cause of the termination. See scipy.optimize.OptimizeResult for a description of other attributes.
 
- Return type
- res 
 - References - Beck, Amir, and Marc Teboulle. “Gradient-based algorithms with applications to signal recovery.” Convex optimization in signal processing and communications (2009) - Examples 
 
            