해당 문서는 SciPy에서 제공하는 모든 라이브러리를 전반적으로 소개한다.
Optimization-선형계획법
fft
신호처리
SciPy는 적분, 보간법, 최적화, 선형대수, 푸리에 변환, 신호 처리와 통계적 기법을 제공하는 라이브러리이다.
import scipy
Integration(적분)은 특정 구간 내에서 함수의 넓이를 계산하는 방법이다.
import scipy.integrate as integrate
적분: integrate.quad(func, a, b)
$\displaystyle \int_{-1}^{3} x^2 \, dx$
y, err = integrate.quad(lambda x: x**2, -1, 3)
# y: 9.3334
# err: 1.0362e-13
이중 적분: integrate.dblquad(func, a, b, gfun, hfun)
$\displaystyle \int_{-1}^{3} \int_{0}^{2} x^2y \, dy \, dx$
y, err = integrate.dblquad(lambda y, x: (x**2)*y, -1, 3, 0, 2)
# y: 18.6668
# err: 2.0724e-13
$\displaystyle \int_{-1}^{3} \int_{y=x}^{y=2-x} x^2 y \, dy \, dx$
y, err = integrate.dblquad(lambda y, x: (x**2)*y, -1, 3, lambda x: x, lambda x: 2-x)
# y: -21.3332
# err: 4.9381e-13
삼중 적분: integrate.tplquad(func, a, b, gfun, hfun, qfun, rfun)
$\displaystyle \int_1^2 \int_3^4 \int_{-1}^{0} xyz \, dz \, dy \, dx$
y, err = integrate.tplquad(lambda z, y, x: x*y*z, 1, 2, 3, 4, -1, 0)
# y: -2.625
# err: 4.4336e-14
Simpson’s Rule: integrate.simpson(y, x=None)
import numpy as np
x = np.arange(0, 10)
integrate.simpson(y=x**2, x=x)
# np.float64(243.0)
사다리꼴 적분: integrate.trapezoid(y, x=None)
import numpy as np
x = np.arange(0, 10)
integrate.trapezoid(y=x**2, x=x)
# np.float64(244.5)
Interpolation(보간법)은 주어진 데이터를 활용하여 데이터 중간에 비어있는 값을 수학적으로 추정하는 방법이다.
import scipy.interpolate as interpolate
import numpy as np
x = np.linspace(0, 2, 10)
y = np.sin(x)
x_test = np.linspace(0, 2, 200)