数式処理システムMaxima
土曜日, 12 月 29th, 2007数式処理ソフトMaximaに これからチャレンジ しようかな、ということで情報収集。
Maxima公式サイト
数式処理システムMaximaで楽をしよう
Professional Maxima
はじめてでもできる Maxima のインストール(Windows XP 編)
Maximaで遊ぼう
Maxima簡易マニュアル
はじめてのMaxima I・O BOOKS
数学苦手だし、Mathematicaなどの数式処理ソフトは使ったことがありません。
たまたまこちらの本を見かけたので読んでみました。
lispで書かれた数式処理ソフトMaximaの本。
なんですけれども、具体的な使い方、というよりは、どちらかというと、「Maximaが動くしくみの解説」です。実は、内容は、殆どよくわからなかったのですが(汗 面白かったです。
数式処理ソフトの使い方を憶える、という数学の勉強のしかた
が、有りうるのかもしれない、という、甘い期待があって上記の本を手に取ったわけですけれども。。。
個人的には、中学、高校ぐらいの数学問題を解くチュートリアルをステップバイステップで解説した本が欲しいなぁと思いました。
<追記>>
Professional Maxima
には、センター試験の問題をMaximaで解くチュートリアルが載ってました。少しずつやります~
MaximaにVerboseモードが欲しい
この公式を当てはめて、こう変形しました、みたいな、途中の手順を全部表示してくれるモードがあると、数学の勉強には便利だよなーと思ったり思わなかったり。。。(ひょっとしたら既に有る?)
「微積分なんて学校を出たら使わない」ならば。。。
最初からMaxima使ってズルすればよかった、と思った私。。。いや、私の高校時代には、こんなの無かったですけれども。
Python compiler モジュールを見て、この本を思い出した
>>> from compiler import parse ; compiler.parse("y=x**2+2*x+1")
y=x^2+2x+1なんて式をPythonでパースすると、
Module(None, Stmt([Assign([AssName('y', 'OP_ASSIGN')], Add((Add((Power((Name('x'), Const(2))), Mul((Const(2), Name('x'))))), Const(1))))]))
こんなリストが返ってきます。Pythonの中では、こんなふうに表現されてるんすね。。。って、こんなのどこかで見たことが有ると思ったら、Maxima本。 Maximaも数式をリストに変換して格納しています。(多項式のCRE表現、というらしい。上記よりも、もっとLISPよりの書き方になってます)
数式処理ソフトと、コンパイラのパース、そりゃ、似たようなことをしてるんだから、似たよなことになるのはあたりまえ、って話もありますけれども。
で、コンパイラの最適化と数式処理つーのも、案外似通ったところが有るのかもしれない、などと思ったけど、よく判らず。
MeCabつかってても思い出した
日本語も、
- 形容詞、係り受け -> 係数
- 名詞 -> 項、
- 接続詞 ->演算子 と考えれば、
うまくやれば、一種の数式と捉えることもできる、のかしらん?
で、多様な定理を使って数式を変形するのと同じく、SVCとかSVOOみたく並び替えて英単語に置換すれば、翻訳ソフトになったりするのかしら?などと妄想してみたり。
似たような技術でも、分野ごとにいろんな使い方があるんですね。人間の科学技術とか文明って、複雑怪奇でよく判りませんけれども、意外に単純な小さな道具の積み重なりで成り立ってるのかも、などと思ったのでした。
MeCabを使った日本語プログラミング
今回の話題とは関係ないですが、そういうのもアリなのかも、と、ふと思った。誰でも思いつきそうなので、既にあるかも。
はじめての数式処理ソフト CD-ROM付(ブルーバックス)
。。。買ってみましたけど。。。ちょっと私には難しいようです。
ホントは、LISP苦手なので、Pythonな数式処理ソフト SAGEにチャレンジしようと思ったのですけれども、うちのマシンだとメモリが足りないようです。
Tags: Maxima, PC
