SymPy vs. Sage

StackOverflowとかで「Sympyでこういう事がしたい」とか,
「Sympyでこういう事ができないけどどうすれば良い?」といった質問で,

「Sympyでは無理だけどSageを使えばできる」

というのをよくみるので,違いやSageがどういうものなのか調べた.

SymPy vs. Sage – sympy wiki

What is the difference between sympy and sage? – StackOverflow

非常にざっくりとした感想としては,Sageは数学の総合的なシステムであり,
様々なモジュールを内包しているので数理処理において,かなり何でも出来る.
(「 NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more」)
(sageは数学ソフトウェアの膨大なコレクションとそのインターフェイス)
(オールインワンで完結されたインタラクティブシステム)

Sage⊇Sympy(SageにSympyは含まれる)なので,
Sympyで出来る事はほぼSageでも出来るだろうし,
Networkxとかも含まれているので,グラフ理論,ネットワーク理論の問題も解ける.
外部モジュールを積極的に採用しているので,内部処理ではCやFortranが使われ,
様々な処理が(ピュアPythonに比べて)かなり高速に処理できる事が期待できる.
ただ,その為にかなり大きなパッケージで,非常に複雑な感.

一方,SympyはピュアPythonで,コンパクトでシンプル.
できる事,できない事も割とはっきりしているので,
Sympyで処理する部分,他のモジュールで処理する部分,
明確に区別できるし,結果的に全体としてシンプルに記述できる.
(例えば,解析的処理はSympy,数値的処理はnumpy/scipyとか)

Sympyはライブラリ,Sageはシステム,と云える位別物.

本格的に数理問題に取り組むなら,sageの様な大きなシステムは強力で便利だろうけど,
ちょっとした数的処理,記号演算がしたい場合は,Sympyの方がシンプルで良い.
LaTeXで出力できるし,プリティな表示も簡単.

そして,「ちょっとした」といいつつ,Sympyで出来る事は多岐に渡り,想像以上に色々な事ができそう.
ただ,利用者がそんなに多くないのか,割と情報が少なくて,
ちょっと深みに突っ込もうとすると,手探り状態になるけど.
 
 
 
そして,一番重要なのは,SageMathはWindows版が無いって事かな.
(VirtualBoxを使わないといけない)

調べれば調べる程,実は「Sympy vs Sage」ってナンセンスで,
Sageはどちらかと云えば,例えばMathematicaのプロキシであって,
システムであって,モジュールではないんだな.

Sage aims to be a full featured system for mathematics, and aims to do so by compiling all the major open source mathematical systems together into one. When you call some function in Sage, such as integrate, it calls out to one of the open source packages that it includes. In fact, SymPy is included in Sage. SymPy on the other hand aims to be an independent system, with all the features implemented in SymPy itself.

A final important feature of SymPy is that it can be used as a library. Many computer algebra systems focus on being usable in interactive environments, but if you wish to automate or extend them, it is difficult to do. With SymPy, you can just as easily use it in an interactive Python environment or import it in your own Python application. SymPy also provides APIs to make it easy to extend it with your own custom functions.

     [Why SymPy? – SymPy 0.7.3 documentation より引用]

広告
カテゴリー: 未分類 パーマリンク

SymPy vs. Sage への1件のフィードバック

  1. ピンバック: SympyとWolframalphaで不定積分の答えが違う | 粉末@それは風のように (日記)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中