Table of Contents
과학 분석 알고리즘 SciPy #
SciPy는 파이썬을 기반으로 하여 과학, 분석, 그리고 엔지니어링을 위한 과학(계산)적 컴퓨팅 영역의 여러 기본적인 작업을 위한 라이브러리(패키지 모음)입니다. Scipy는 기본적으로 Numpy, Matplotlib, pandas, Sympy등 과 함께 동작을 합니다. SciPy는 수치적분 루틴과 미분방정식 해석기, 방정식의 근을 구하는 알고리즘, 표준 연속/이산 확률분포와 다양한 통계관련 도구 등을 제공합니다. NumPy와 Scipy를 함께 사용하면 확장 애드온을 포함한 MATLAB을 완벽하게 대체합니다.
Homepage #
http://www.scipy.org/
설치(For Linux & Mac) #
pip install scipy
설치(For Windows) #
http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
에서 Bit별, Python 버전별 설치파일을 선택하여 다운로드 받는다.
설치가 완료된 후 파이썬 콘솔에서 다음 "import scipy" 문장을 입력해 모듈을 임포트 해봐서 오류가 없다면 설치에 성공한 것이다.
사용법 #
Example
In [1]: from scipy import special, optimize
In [2]: f = lambda x: -special.jv(3, x)
In [3]: sol = optimize.minimize(f, 1.0)
In [4]: x = linspace(0, 10, 5000)
In [5]: x
Out[5]:
array([ 0.00000000e+00, 2.00040008e-03, 4.00080016e-03, ...,
9.99599920e+00, 9.99799960e+00, 1.00000000e+01])
In [6]: plot(x, special.jv(3, x), '-', sol.x, -sol.fun, 'o')
In [7]: savefig('plot.png', dpi=96)
Result
Scipy 기능 #
★ scipy.integrate: 수치적분 루틴과 미분방정식 해법기
★ scipy.linalg: numpy.linalg에서 제공하는 것보다 더 확장된 선형대수 루틴과 매트릭스 분해
★ scipy.optimize: 함수 최적화기와 방정식의 근을 구하는 알고리즘
★ scipy.signal: 시그널 프로세싱 도구
★ scipy.sparse: 희소 행렬과 희소 선형 시스템 풀이법
★ scipy.special: 감마 함수처럼 흔히 사용되는 수학 함수를 구현한 포트란 라이브러리인 SPECFUN 확장
★ scipy.stats: 표준 연속/이산 확률 분포(집적도 함수, 샘플러, 연속 분포 함수)와 다양한 통계 테스트, 그리고 좀 더 기술적인 통계 도구
★ scipy.weave: 배열 계산을 빠르게 하기 위해 인라인 C++ 코드를 사용하는 도구
Reference #
http://www.scipy.org/getting-started.html 엘리 브레설트,SciPy와 NumPy,한빛미디어(2013) Wes McKinney,Python for Data Analysis,O'Reilly Media(2012)