このサイトについて †
SciPyを中心としたPythonによる数値解析モジュールとそれに関連する話題のwikiです。
間違い等、気付いたことがあれば適宜加筆・修正していただけるとうれしいです。
(今のところ誰でも自由に編集できるようになっています)
このサイトは現在読み込み専用で運用中です。編集はできません。
Pythonについて †
Pythonって何? †
- www.python.orgより
Python is an interpreted, interactive, object-oriented programming language.
It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax. It has modules, classes,
exceptions, very high level dynamic data types, and dynamic typing.
There are interfaces to many system calls and libraries, as well as to various
windowing systems (X11, Motif, Tk, Mac, MFC, wxWidgets). New built-in modules
are easily written in C or C++. Python is also usable as an extension language for
applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX,
on Windows, OS/2, Mac, Amiga, and many other platforms.
If your favorite system isn't listed here, it may still be supported, if there's a C
compiler for it. Ask around on news:comp.lang.python -- or just try compiling
Python yourself.
The Python implementation is copyrighted but freely usable and distributable,
even for commercial use.
- 適当な和訳
Pythonはインタープリタで、対話的で、オブジェクト指向のプログラミング言語であり、
よくTcl, Perl, Scheme, Javaと対比されます。
Pythonは驚くべき力と非常にクリアな記法をあわせ持ちます。モジュール、クラス、
例外、非常に高レベルの動的な型、そして動的な型生成をサポートしています。
また、様々なシステムに対するインターフェースとライブラリ、そしていくつもの
ウィンドウシステム(X11, Motif, Tk, Mac, MFC, wxWidgets)のライブラリが利用可能です。
新しい組み込みモジュールはCやC++によって簡単に作成可能です。
Pythonはプログラマブルインターフェースを持つアプリケーションの拡張用言語
としても使用可能です。
Pythonの実装はポータブルで、様々なUnix、Windows、OS/2、Mac、Amigaや
他の様々なプラットフォームで動作します。あなたのお好みのシステムがここに
なかったとしてもCのコンパイラがあればサポートされるかもしれません。
news.comp.lang.pythonで聞いてみるか、あなた自身でPythonをコンパイルしてみてください。
Pythonの実装は著作権保護されていますが、例え商用利用であったとしても、
自由に使用し再配布することができます。
数値解析にPythonを使う理由 †
FAQに http://www.scipy.orgのFAQの和訳(途中)がありますが個人的には
- クロスプラットフォーム
WindowsでもLinuxでも、多分Macでも使えます。
- フリー
予算がとれなくなっても安心。
- インタラクティブ
コマンドラインでできる。関数をその都度結果を試しながら実装したりとかできます。
- 簡単
1日あればとりあえず使えます。
- 豊富なライブラリ
数値解析に関するものはもちろん、豊富なモジュールライブラリを簡単に使うことができます。
最初の内はPythonのインデント構文に違和感を覚えると思いますが、慣れてくると楽しくなってくるんじゃないかと思います。多分。
Pythonモジュール・数値解析 †
本家: http://www.scipy.org/
活発に開発が進められている数値解析モジュールライブラリ。
Scientific Python †
本家: http://dirac.cnrs-orleans.fr/plone/software/scientificpython/
numarray †
本家: http://ipython.scipy.org/
使いやすいインタラクティブシェル。これはすごい便利。
Pythonモジュール・ラッパー †
RPy †
統計解析用言語 RのPythonバインディング。
Rの関数は全て呼び出せるようになっているらしいので、統計解析には便利かも。
Pytave †
https://code.launchpad.net/pytave
GNU Octaveへのラッパー。
始まったばっかりのプロジェクト。
制御系設計とかが強いOctaveをpythonから使えたら非常に便利かも。
今後に期待。
pygsl †
http://pygsl.sourceforge.net/
GNU Scientific Library のpythonラッパー
SciPyとの使い分けが難しそう
Pythonモジュール・グラフィックス †
本家: http://matplotlib.sourceforge.net/
グラフ作成用ライブラリ。結構きれいなグラフが作れる。
Mayavi †
本家: http://mayavi.sourceforge.net/
3Dの可視化ライブラリ。バックエンドにVTKというライブラリを使用している。
GUIで3次元の可視化ができるらしい。
VPython †
本家: http://vpython.org
2D&3Dの可視化ライブラリ。OpenGLライブラリを使用している。
Video Tutorial http://vpython.erikthompson.com/
日本語ドキュメント http://www.nasuinfo.or.jp/FreeSpace/kenji/sf/visualj/index.html
VPythonを用いた物理教育アニメ http://www.visualrelativity.com/vpython/