Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

""" 

SciPy: A scientific computing package for Python 

================================================ 

 

Documentation is available in the docstrings and 

online at https://docs.scipy.org. 

 

Contents 

-------- 

SciPy imports all the functions from the NumPy namespace, and in 

addition provides: 

 

Subpackages 

----------- 

Using any of these subpackages requires an explicit import. For example, 

``import scipy.cluster``. 

 

:: 

 

cluster --- Vector Quantization / Kmeans 

fft --- Discrete Fourier transforms 

fftpack --- Legacy discrete Fourier transforms 

integrate --- Integration routines 

interpolate --- Interpolation Tools 

io --- Data input and output 

linalg --- Linear algebra routines 

linalg.blas --- Wrappers to BLAS library 

linalg.lapack --- Wrappers to LAPACK library 

misc --- Various utilities that don't have 

another home. 

ndimage --- N-D image package 

odr --- Orthogonal Distance Regression 

optimize --- Optimization Tools 

signal --- Signal Processing Tools 

signal.windows --- Window functions 

sparse --- Sparse Matrices 

sparse.linalg --- Sparse Linear Algebra 

sparse.linalg.dsolve --- Linear Solvers 

sparse.linalg.dsolve.umfpack --- :Interface to the UMFPACK library: 

Conjugate Gradient Method (LOBPCG) 

sparse.linalg.eigen --- Sparse Eigenvalue Solvers 

sparse.linalg.eigen.lobpcg --- Locally Optimal Block Preconditioned 

Conjugate Gradient Method (LOBPCG) 

spatial --- Spatial data structures and algorithms 

special --- Special functions 

stats --- Statistical Functions 

 

Utility tools 

------------- 

:: 

 

test --- Run scipy unittests 

show_config --- Show scipy build configuration 

show_numpy_config --- Show numpy build configuration 

__version__ --- SciPy version string 

__numpy_version__ --- Numpy version string 

 

""" 

__all__ = ['test'] 

 

from numpy import show_config as show_numpy_config 

if show_numpy_config is None: 

raise ImportError( 

"Cannot import SciPy when running from NumPy source directory.") 

from numpy import __version__ as __numpy_version__ 

 

# Import numpy symbols to scipy name space (DEPRECATED) 

from ._lib.deprecation import _deprecated 

import numpy as _num 

linalg = None 

_msg = ('scipy.{0} is deprecated and will be removed in SciPy 2.0.0, ' 

'use numpy.{0} instead') 

# deprecate callable objects, skipping classes 

for _key in _num.__all__: 

_fun = getattr(_num, _key) 

if callable(_fun) and not isinstance(_fun, type): 

_fun = _deprecated(_msg.format(_key))(_fun) 

globals()[_key] = _fun 

from numpy.random import rand, randn 

_msg = ('scipy.{0} is deprecated and will be removed in SciPy 2.0.0, ' 

'use numpy.random.{0} instead') 

rand = _deprecated(_msg.format('rand'))(rand) 

randn = _deprecated(_msg.format('randn'))(randn) 

from numpy.fft import fft, ifft 

# fft is especially problematic, so we deprecate it with a shorter window 

fft_msg = ('Using scipy.fft as a function is deprecated and will be ' 

'removed in SciPy 1.5.0, use scipy.fft.fft instead.') 

# for wrapping in scipy.fft.__call__, so the stacklevel is one off from the 

# usual (2) 

_dep_fft = _deprecated(fft_msg, stacklevel=3)(fft) 

fft = _deprecated(fft_msg)(fft) 

ifft = _deprecated('scipy.ifft is deprecated and will be removed in SciPy ' 

'2.0.0, use scipy.fft.ifft instead')(ifft) 

import numpy.lib.scimath as _sci 

_msg = ('scipy.{0} is deprecated and will be removed in SciPy 2.0.0, ' 

'use numpy.lib.scimath.{0} instead') 

for _key in _sci.__all__: 

_fun = getattr(_sci, _key) 

if callable(_fun): 

_fun = _deprecated(_msg.format(_key))(_fun) 

globals()[_key] = _fun 

 

__all__ += _num.__all__ 

__all__ += ['randn', 'rand', 'fft', 'ifft'] 

 

del _num 

# Remove the linalg imported from NumPy so that the scipy.linalg package can be 

# imported. 

del linalg 

__all__.remove('linalg') 

 

# We first need to detect if we're being called as part of the SciPy 

# setup procedure itself in a reliable manner. 

try: 

__SCIPY_SETUP__ 

except NameError: 

__SCIPY_SETUP__ = False 

 

 

if __SCIPY_SETUP__: 

import sys as _sys 

_sys.stderr.write('Running from SciPy source directory.\n') 

del _sys 

else: 

try: 

from scipy.__config__ import show as show_config 

except ImportError: 

msg = """Error importing SciPy: you cannot import SciPy while 

being in scipy source directory; please exit the SciPy source 

tree first and relaunch your Python interpreter.""" 

raise ImportError(msg) 

 

from scipy.version import version as __version__ 

 

# Allow distributors to run custom init code 

from . import _distributor_init 

 

from scipy._lib import _pep440 

if _pep440.parse(__numpy_version__) < _pep440.Version('1.14.5'): 

import warnings 

warnings.warn("NumPy 1.14.5 or above is required for this version of " 

"SciPy (detected version %s)" % __numpy_version__, 

UserWarning) 

 

del _pep440 

 

from scipy._lib._ccallback import LowLevelCallable 

 

from scipy._lib._testutils import PytestTester 

test = PytestTester(__name__) 

del PytestTester 

 

# This makes "from scipy import fft" return scipy.fft, not np.fft 

del fft 

from . import fft