doc/¶
NumPy のインストールフォルダーの直下 doc フォルダにはドキュメンテーション専用の py ファイルが多数ある。
構成¶
NumPy の開発者はこれらを基に NumPy User Guide を作成していると思われる。下にファイルとその内容を表にまとめる。array に関するトピックが圧倒的に多い。
ファイル |
内容 |
|---|---|
|
|
|
|
|
|
|
NumPy が提供する各種定数に関する文書。 |
|
|
|
用語集。 |
|
まだ文書化されていない。 |
|
|
|
|
|
まだ文書化されていない。 |
|
まだ文書化されていない。 |
|
まだ文書化されていない。 |
|
IEEE754 浮動小数点数の特殊値、数値計算例外、C 言語インターフェイス等、雑多なメモ。 |
|
まだ文書化されていない。 |
|
変わった型の |
|
|
|
Universal functions に関する文書。 |
glossary.py¶
まず用語集を見るのがよいか。
ファイル doc/glossary.py が用語集を docstring の体裁でまとめている。書式は reStructuredText のようだ。
収録対象は NumPy 独自に使われるものだけでなく、数学、計算機科学、さらには Python 言語に関係するものにも及ぶ。ここでは気になる用語に絞ってノートをとる。
- along on axis
行列では axis は二つあるが、縦方向の並びが axis 0 で、横方向の並びが axis 1 だ。縦方向の方がインデックスが若いことになっているのは row-major rule によるのだろう。
array関連の関数では「axis を引数に取れる」ものが多数ある (sum,var,sort,any,mean, etc.)- array
同種の要素からなる 配列であることを強調している。なお
ndarrayのことを単にarrayと呼ぶ場合が多い。- array_like
ndarrayに解釈される任意のコンテナーと思ってよいようだ。なのでndarrayオブジェクトやスカラーも array_like だ。- broadcast
array間の演算は同型が基本だが、若干 shape が異なっていても OK な場合がある。- C order/row-major, Fortran order/column-major
多次元配列のメモリレイアウトに関する話題をきれいにまとめてある。NumPy の
arrayは前者を採用している。 C 言語がそれを利用していることによる。OpenGL は column-major だから、PyOpenGL のコードを書くときにはその辺の事情を意識しないとだめだろう。
- flattened
arrayを一次元の shape になるように「折りたたむ」ことができる。- mask, masked array
OpenGL の
glColorMaskの概念みたいなものか。- matrix
二次元の
ndarrayを何らかの点において最適化した matrix クラスがあるらしい。演算経過によって shape が変わるようなことがないことを保証するようだ。- slice
Python の
listオブジェクトに対するスライスを、arrayでもサポートするという話だ。多次元版スライス。- ufunc
個々の要素ごとに演算するようなタイプの演算を高速に処理する。後で
doc/ufuncs.pyに目を通す程度でいいだろう。- view
既存の
arrayからスライシング等の操作で別のarrayを作成することがある。この種の操作で新しくできたarrayは、実は参照ベースの proxy オブジェクトであることが多いようだ。