Source code for qiskit_nature.settings

# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2021, 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.

"""Qiskit Nature Settings."""

from __future__ import annotations


[docs]class QiskitNatureSettings: """Global settings for Qiskit Nature.""" def __init__(self) -> None: self._optimize_einsum = True # The set below can be used to handle deprecation warnings for various settings. # It exists to keep track of which deprecation warnings were already shown in order to avoid # spamming the user with the same warning over and over. # To use it, simply add a unique string to this set after having raised some warning and # only raise the warning in the first place, if this unique string is not already part of # this set. self._deprecation_shown: set[str] = set() @property def optimize_einsum(self) -> bool: """Returns the setting used for `numpy.einsum(optimize=...)`. This is only used for calls with 3 or more operands. For more details refer to: https://numpy.org/doc/stable/reference/generated/numpy.einsum.html """ return self._optimize_einsum @optimize_einsum.setter def optimize_einsum(self, optimize_einsum: bool) -> None: """Sets the setting used for `numpy.einsum(optimize=...)`. This is only used for calls with 3 or more operands. For more details refer to: https://numpy.org/doc/stable/reference/generated/numpy.einsum.html """ self._optimize_einsum = optimize_einsum
settings = QiskitNatureSettings()