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

""" 

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

Integration and ODEs (:mod:`scipy.integrate`) 

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

 

.. currentmodule:: scipy.integrate 

 

Integrating functions, given function object 

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

 

.. autosummary:: 

:toctree: generated/ 

 

quad -- General purpose integration 

dblquad -- General purpose double integration 

tplquad -- General purpose triple integration 

nquad -- General purpose n-dimensional integration 

fixed_quad -- Integrate func(x) using Gaussian quadrature of order n 

quadrature -- Integrate with given tolerance using Gaussian quadrature 

romberg -- Integrate func using Romberg integration 

quad_explain -- Print information for use of quad 

newton_cotes -- Weights and error coefficient for Newton-Cotes integration 

IntegrationWarning -- Warning on issues during integration 

 

Integrating functions, given fixed samples 

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

 

.. autosummary:: 

:toctree: generated/ 

 

trapz -- Use trapezoidal rule to compute integral. 

cumtrapz -- Use trapezoidal rule to cumulatively compute integral. 

simps -- Use Simpson's rule to compute integral from samples. 

romb -- Use Romberg Integration to compute integral from 

-- (2**k + 1) evenly-spaced samples. 

 

.. seealso:: 

 

:mod:`scipy.special` for orthogonal polynomials (special) for Gaussian 

quadrature roots and weights for other weighting factors and regions. 

 

Solving initial value problems for ODE systems 

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

 

The solvers are implemented as individual classes which can be used directly 

(low-level usage) or through a convenience function. 

 

.. autosummary:: 

:toctree: generated/ 

 

solve_ivp -- Convenient function for ODE integration. 

RK23 -- Explicit Runge-Kutta solver of order 3(2). 

RK45 -- Explicit Runge-Kutta solver of order 5(4). 

Radau -- Implicit Runge-Kutta solver of order 5. 

BDF -- Implicit multi-step variable order (1 to 5) solver. 

LSODA -- LSODA solver from ODEPACK Fortran package. 

OdeSolver -- Base class for ODE solvers. 

DenseOutput -- Local interpolant for computing a dense output. 

OdeSolution -- Class which represents a continuous ODE solution. 

 

 

Old API 

------- 

 

These are the routines developed earlier for scipy. They wrap older solvers 

implemented in Fortran (mostly ODEPACK). While the interface to them is not 

particularly convenient and certain features are missing compared to the new 

API, the solvers themselves are of good quality and work fast as compiled 

Fortran code. In some cases it might be worth using this old API. 

 

.. autosummary:: 

:toctree: generated/ 

 

odeint -- General integration of ordinary differential equations. 

ode -- Integrate ODE using VODE and ZVODE routines. 

complex_ode -- Convert a complex-valued ODE to real-valued and integrate. 

 

 

Solving boundary value problems for ODE systems 

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

 

.. autosummary:: 

:toctree: generated/ 

 

solve_bvp -- Solve a boundary value problem for a system of ODEs. 

""" 

from __future__ import division, print_function, absolute_import 

 

from .quadrature import * 

from .odepack import * 

from .quadpack import * 

from ._ode import * 

from ._bvp import solve_bvp 

from ._ivp import (solve_ivp, OdeSolution, DenseOutput, 

OdeSolver, RK23, RK45, Radau, BDF, LSODA) 

 

__all__ = [s for s in dir() if not s.startswith('_')] 

 

from scipy._lib._testutils import PytestTester 

test = PytestTester(__name__) 

del PytestTester