Argument `epsilon` and `factr` of optimizers `L_BFGS_B` and `factr` of `P_BFGS` has been removed (#8210)

* Remove L_BFGS_B and P_BFGS deprecated arguments

* date

* reno

* Update releasenotes/notes/remove_optimizers_L_BFGS_B_epsilon-03f997aff50c394c.yaml

Co-authored-by: Steve Wood <40241007+woodsp-ibm@users.noreply.github.com>

Co-authored-by: Steve Wood <40241007+woodsp-ibm@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Luciano Bello 2022-07-01 16:22:09 +03:00 committed by GitHub
parent fe8ab43f12
commit 0ab9e1e148
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 23 deletions

View File

@ -61,7 +61,7 @@ add_module_names = False
modindex_common_prefix = ["qiskit."]
intersphinx_mapping = {
'retworkx': ('https://qiskit.org/documentation/retworkx/', None),
"retworkx": ("https://qiskit.org/documentation/retworkx/", None),
}
# -- Options for HTML output -------------------------------------------------

View File

@ -12,12 +12,10 @@
"""Limited-memory BFGS Bound optimizer."""
import warnings
from typing import Optional
import numpy as np
from qiskit.utils.deprecation import deprecate_arguments
from .scipy_optimizer import SciPyOptimizer
@ -49,7 +47,6 @@ class L_BFGS_B(SciPyOptimizer): # pylint: disable=invalid-name
_OPTIONS = ["maxfun", "maxiter", "ftol", "iprint", "eps"]
# pylint: disable=unused-argument
@deprecate_arguments({"epsilon": "eps"})
def __init__(
self,
maxfun: int = 1000,
@ -57,7 +54,6 @@ class L_BFGS_B(SciPyOptimizer): # pylint: disable=invalid-name
ftol: float = 10 * np.finfo(float).eps,
factr: Optional[float] = None,
iprint: int = -1,
epsilon: float = 1e-08,
eps: float = 1e-08,
options: Optional[dict] = None,
max_evals_grouped: int = 1,
@ -68,13 +64,6 @@ class L_BFGS_B(SciPyOptimizer): # pylint: disable=invalid-name
maxfun: Maximum number of function evaluations.
maxiter: Maximum number of iterations.
ftol: The iteration stops when (f\^k - f\^{k+1})/max{\|f\^k\|,\|f\^{k+1}\|,1} <= ftol.
factr: (DEPRECATED) The iteration steps when (f\^k - f\^{k+1})/max{\|f\^k\|,
\|f\^{k+1}\|,1} <= factr * eps, where eps is the machine precision,
which is automatically generated by the code. Typical values for
factr are: 1e12 for low accuracy; 1e7 for moderate accuracy;
10.0 for extremely high accuracy. See Notes for relationship to ftol,
which is exposed (instead of factr) by the scipy.optimize.minimize
interface to L-BFGS-B.
iprint: Controls the frequency of output. iprint < 0 means no output;
iprint = 0 print only one line at the last iteration; 0 < iprint < 99
print also f and \|proj g\| every iprint iterations; iprint = 99 print
@ -82,21 +71,10 @@ class L_BFGS_B(SciPyOptimizer): # pylint: disable=invalid-name
changes of active set and final x; iprint > 100 print details of
every iteration including x and g.
eps: If jac is approximated, use this value for the step size.
epsilon: (DEPRECATED) Step size used when approx_grad is True, for numerically
calculating the gradient
options: A dictionary of solver options.
max_evals_grouped: Max number of default gradient evaluations performed simultaneously.
kwargs: additional kwargs for scipy.optimize.minimize.
"""
if factr is not None:
warnings.warn(
"L_BFGS_B.__init__() keyword argument factr is deprecated and replaced with ftol. "
"The relationship between the two is ftol = factr * numpy.finfo(float).eps. "
"See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-lbfgsb.html.",
DeprecationWarning,
stacklevel=2,
)
ftol = factr * np.finfo(float).eps
if options is None:
options = {}
for k, v in list(locals().items()):

View File

@ -0,0 +1,7 @@
---
upgrade:
- |
Arguments `epsilon` and `factr` of `~qiskit.algorithms.optimizers.L_BFGS_B`
and `factr` of `~qiskit.algorithms.optimizers.P_BFGS` have been removed and no longer
exist as per the deprecation notice from qiskit-terra
0.18.0 (released on Jul 12, 2021).