これは何? †
- Pythonの数値計算ライブラリ
- Python流の考え方
- 確かに Python は遅い
- 今まで数十年に渡って最適化されてきた C/Fortran の数値演算ライブラリを Python から使えるようにすればよくね?
- MKL : Intel Math Kernel Library (2003-)
- LAPAC : Linear Algebra PACKage (Fortran 1992- BLASを使っている)
- BLAS : Basic Linear Algebra Subprograms (Fortran 1979-)
- → numpy, scipy
- Javaの人だと、なんでもJavaで再実装して Write once, run anywhere にしようとするんで、Python の割り切りは新鮮な考え方
インストール †
[~/PycharmProjects/jupyter]$ conda activate jupyter-env
(jupyter-env) [~/PycharmProjects/jupyter]$ conda install numpy scipy
- ベクトル・行列を取り扱うためのデータ構造を提供
- 2次元行列に画像を取り込んで、画層処理を行うこともできる
- numpy にもファイルIO や線形代数の行列処理も提供されているけど、それは panda, scipy を使ったほうが良いらしい
- 数値計算を実装
- Special functions (scipy.special)
- Integration (scipy.integrate)
- Optimization (scipy.optimize)
- Interpolation (scipy.interpolate)
- Fourier Transforms (scipy.fftpack) フーリエ変換
- Signal Processing (scipy.signal)
- Linear Algebra (scipy.linalg) 線形代数
- Sparse Eigenvalue Problems with ARPACK
- Compressed Sparse Graph Routines (scipy.sparse.csgraph)
- Spatial data structures and algorithms (scipy.spatial)
- Statistics (scipy.stats) 統計
- Multidimensional image processing (scipy.ndimage) 画像処理
- File IO (scipy.io)
Python