12345678910111213141516171819202122232425262728293031323334353637 |
- # This file is not meant for public use and will be removed in SciPy v2.0.0.
- # Use the `scipy.sparse.linalg` namespace for importing the functions
- # included below.
- import warnings
- from . import _eigen
- __all__ = [ # noqa: F822
- 'ArpackError', 'ArpackNoConvergence',
- 'eigs', 'eigsh', 'lobpcg', 'svds', 'arpack', 'test'
- ]
- eigen_modules = ['arpack']
- def __dir__():
- return __all__
- def __getattr__(name):
- if name not in __all__ and name not in eigen_modules:
- raise AttributeError(
- "scipy.sparse.linalg.eigen is deprecated and has no attribute "
- f"{name}. Try looking in scipy.sparse.linalg instead.")
- if name in eigen_modules:
- msg = (f'The module `scipy.sparse.linalg.eigen.{name}` is '
- 'deprecated. All public names must be imported directly from '
- 'the `scipy.sparse.linalg` namespace.')
- else:
- msg = (f"Please use `{name}` from the `scipy.sparse.linalg` namespace,"
- " the `scipy.sparse.linalg.eigen` namespace is deprecated.")
- warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
- return getattr(_eigen, name)
|