# This code is part of a Qiskit project. # # (C) Copyright IBM 2022, 2023. # # This code is licensed under the Apache License, Version 2.0. You may # obtain a copy of this license in the LICENSE.txt file in the root directory # of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. # # Any modifications or derivative works of this code must retain this # copyright notice, and modified files need to carry a notice indicating # that they have been altered from the originals. """Set default batch sizes for the optimizers.""" from qiskit_algorithms.optimizers import Optimizer, SPSA def _set_default_batchsize(optimizer: Optimizer) -> bool: """Set the default batchsize, if None is set and return whether it was updated or not.""" if isinstance(optimizer, SPSA): updated = optimizer._max_evals_grouped is None if updated: optimizer.set_max_evals_grouped(50) else: # we only set a batchsize for SPSA updated = False return updated