2009/04/28

sage math

sage っていう数式処理ソフトがありますが、Python で書かれています
既に微分もできない身体になっていたのでコンピュータに微分してもらおうと思い
Maxima でも良かったんですが一度使ってみたいと思ってたので入れてみました

Sage: Open Source Mathematics Software

ちなみに sage というのは Firefox にそういう名前の extension があったり
Debian の version にも名前があったり (それは sarge)
何よりも2ちゃんねる用語だったりして
個人的には厄介な名前です、検索するにも sage じゃ出てこないし

近いかなと思って韓国から落とそうとして 400MB もあってびっくりしたんですが
展開してみたら local/bin に 300 コを越えるコマンドがあって納得しました
python/R/Singular/easy_install/gap/gp/hg/ipython/lisp/maxima/sqlite3/surface
と、知った名前も沢山あってそんな環境丸ごと提供しているとは

で、ちょっと計算してみました
$ ./sage
----------------------------------------------------------------------
| Sage Version 3.4.1, Release Date: 2009-04-21 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: var('y')
y
sage: f=(1-x)*(1-y)/(1-x*y)^2
sage: log(f).diff(x)
(1 - x*y)^2*(2*(1 - x)*(1 - y)*y/(1 - x*y)^3 - (1 - y)/(1 - x*y)^2)/((1 - x)*(1 - y))
sage: log(f).diff(x).partial_fraction()
1/(x - 1) - 2*y/(x*y - 1)
sage:
Exiting SAGE (CPU time 0m1.78s, Wall time 2m57.36s).
Exiting spawned Maxima process.

y を変数として用意して (x は最初から変数みたい)
f っていう有理式を用意して
その log の x での微分を計算させたら良く分からなくなったので
Ctrl-p で前のを呼び出して更に部分分数展開させてみました
で Ctrl-d で抜けたんですが "Exiting spawned Maxima process." ってことで
影で Maxima が動いてくれてたみたいです

IPython が動いているのか、f. まで打って tab 打つと method の一覧が出たり
help も使えてマニュアルも読めてしまいます

数学者は Lisp くらいスラスラなのかもしれませんが
Python が使えると module とか書けるんだとすると
ちょっと sage 素敵だなぁと思うんですが実際はどうなんでしょうか...
簡単な電卓としてくらいなら直ぐ使えるようになったけど
いかんせん大きいなぁ

2 件のコメント:

  1.        はじめまして。
    漂着致しましたので 試みmath;
    http://b5.spline.tv/mynb4/?command=GRPVIEW&num=234
    <---正鵠です。

    その後SAGEを如何に駆使されたか ご教示くだされば 幸甚です。

    返信削除
  2. はじめまして。

    log とって微分、ってのを幾つか計算しなくてはいけなかったので
    その後も数回試してみたのですが残念ながらそれっきりです
    まだ全然 sage わ使ったという気分になれていません

    今のところ必要性が出てきてないので放置しちゃってるんですが
    面倒なことが出てきらた是非 sage さんにお願いしたいです

    返信削除