2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

数学をシミュレートする数式処理

1 :GO_MAXIMA:2008/08/29(金) 00:29:19
数学が必要とされる時代が近づいてきている。ぼくらの回りの小型、中型コンピューター
も適当な数式処理システムを載せられるようになってきたが、
大学を含めて適切な指導者が少ない。さしさわりのない範囲で使いこなしを
見せ合うようなすれがあればいいかなと考えます。

2 :GO_MAXIMA:2008/08/29(金) 00:54:48
ザウルスは終了してしまったようだが、XQt環境でMaximaやGap4r4やPari-Gpが
はしる。またPdaXromのr121ではR2.4まで動く。
これらは動くだけではなくかなりな実用的なスピードで動くのだ。(後で例示する)
もちろん超高速なノートでもよいが実は頭で考えている時間のほうが長いのでそんなに
高速である必要はない。むしろ思い付いたときすぐ試せるPDAのほうが便利であったりする。
またこういった持ち運べる環境はMITが実験していたときからバカタカイモノと相場が
決まっていた。しかしLINUX板のりざぽんスレの連中の努力のおかげでwillcomの
ws007shやws011などでkernel2.6系のXがうごくのだ。yahooオークションの中古
なら2GBSDとUSBホストケーブルとUSBイーサネットアダプタを加えても5K円でおつりが
くる。これにMaximaやGap4r4やPariGPやOctaveをぶちこんでみたまずはやさしい例から
はじめます。



3 :GO_MAXIMA:2008/08/29(金) 01:58:22
整数の分割数の計算で、例えば5の分割は
(%i2) integer_partitions(5);
(%o2) {[1, 1, 1, 1, 1], [2, 1, 1, 1], [2, 2, 1], [3, 1, 1], [3, 2], [4, 1],[5]}
のように7通りと数えます。これをp(5)としてp(n)の計算をしてみようということ
まず簡単には多項式のかけ算のしかたから母関数のしきが成立します。
つまり(1+x+x^2+x^3+...)(1+x^2+x^4+...)(1+x^3+x^6...)...これを展開すれば
1+p(1)x+p(2)x^2+...+p(n)x^n+......となるはずです。(1+x+x^2+x^3+...)を1/(1-x)と
形式べき級数をたためば前者は1/{(1-x)(1-x^2)(1-x^3)....}となります。
これを直接利用して計算するのは乱暴で能率もよくないのだがMaximaもあることだし
直接計算してみようということ。

4 :GO_MAXIMA:2008/08/29(金) 02:05:57
p(200)の計算したひとの名前が残っているくらいだし。
手でね、母関数の式から漸化式を導くのだが今回はそんなことしない。
(%i3) product(1-x^i,i,1,200)$
(%i4) showtime:true$
(%i6) taylor(1/%o3,x,0,200);
つまり母関数の式を1/(1-x^200)で斑切ってもn<=200ならOKなのでこれを直接taylor
展開するという作戦。
Evaluation took 2.00 seconds (2.00 elapsed) using 4.820 MB.PEN3 1.2GHz
りざぽんのWS007SHで61.83 seconds Zurus pdaXrom r121 66.9 seconds beta1 71.12 secon
%o6) 1+x+2*x^2+3*x^3+5*x^4+7*x^5+11*x^6+15*x^7+22*x^8+30*x^9+42*x^10+56*x^11
+77*x^12+101*x^13+135*x^14+176*x^15+231*x^16+..............
+3646072432125*x^199+3972999029388*x^200
検算
(%i7) num_partitions(200);
(%o7) 3972999029388

5 :名無しさん@5周年:2008/08/29(金) 17:35:45
(本家)
Maxima
http://maxima.sourceforge.net/

(Common Lisp処理系)
sbcl (32bit/64bit) ネイティブコンパイラで高速cmuclから
            分岐した処理系活発に改良している。
http://www.sbcl.org/
cmucl (32bit) ネイティブコンパイラで高速
http://www.cons.org/cmucl/
clisp (32bit/64bit) 低速なcommon lisp (処理系さまざまプラットホームで動く)
http://clisp.cons.org
Clozure CL (64bit) + 32bit PPC maximaは不完全だが対応
http://trac.clozure.com/openmcl
ECL (32bit/64bit) ver 0.9I よりMaximaに正式対応 こちらもさまざまなプラットホームで動く
http://ecls.sourceforge.net/

* (フロントエンド)
imaxima (for emacs)
http://members3.jcom.home.ne.jp/imaxima/Site/Welcome.html

texmacs
http://www.texmacs.org/

*(解説サイト)
Maximaで遊ぼう
http://www.bekkoame.ne.jp/~ponpoko/Math/maxima/MaximaMAIN.html

Maxima 普及委員会
http://www.cymric.jp/

6 :GO_MAXIMA:2008/08/29(金) 21:30:30
>>5
ここはMaximaのすれではありません。スレタイをみてください。
Maximaのことは専用のすれを立ててください。
数学をシミュレートするのがメインのテーマです。


7 :名無しさん@5周年:2008/08/30(土) 18:37:50
>>6
スレが出来上がった後は既にあなたの手を離れてるんだ。排他的になる必要は無い。

5はすぐに数日でdat落ちをしたmaximaスレからのコピーだからそのままだけど、数式処理
関連でこちらに書いても何ら問題は無さそうと判断したからだよ。一応僕が作成したものだ
けどね。それに、いきなりmaximaのことを書いているところでそれに関連したリンクも示して
いなければ、知らない人にとってみれば理解出来ないよ。go_maximaさんは何独り言を言っ
てるんだろう?みたいなものだよ。そこの補佐をしたつもりもあるんだけどね。あなたはまわ
りが見えてないと思ったから。

そりゃ、同じようにmathematicaやmapleの関連サイトも同時に書けば良いかもしれないが、
それを作るのはmathematicaやmapleを作ってる人にお願いしたいね。俺はよく知らないか
ら、それで総合スレになっていくでしょう。

8 :名無しさん@5周年:2008/08/30(土) 18:49:26
もう少し付け加えておくと、Rやoctave/matlabなんてもここの範疇になってると思うけど、
もう少し広くするとプログラミング言語も関連してくるよね。
たとえば、
haskellをつかえば、簡単に無限ストリーム(たとえばt=∞までのダイナミクス)は簡単に
かけるしね。common lispを使って記号処理をして微分などを解くと言う話も入ってくる
かもしれない。

また、もう少し範疇を広げて考えると、アルゴリズムの話も入ってくるよね。オイラー法や
ルンゲ=クッタから、ダイナミックプログラミングなんてところまでね。

数式処理とシミュレートということがメインみたいだから、範疇は自ずときまってくるけど、
そのようにかんがえると2の書き込みのoctaveなども考えてる事が分からなくなるんだ
よね。

おそらく、go_maximaさんのヴィジョンが曖昧だったのではないかと察しています。

9 :GO_MAXIMA:2008/08/31(日) 00:05:05
>>7
数学に関して自分が面白いと思う使いこなしであれば言語はなんでもよい。
他の人がみてわかるようにできればPDAで走ることが望ましい。
>>6 Maximaについてはブルーブックスのクソボンをみていらいらしていたので
ちょっと変だったかも知れん。
まだ分割数の途中なのだが、octaveについてはquadについてちょっとふれておこう。
スレータとフランクーの名著 理論物理学入門(上)P21問題10 おなじ著者の力学のP17
問題9にも採録されている。その問題とは
時間tに反比例する外力の作用を受ける減衰振動をあらわす微分方程式をべき級数法で
解くと収束半径0の解が出てくる。これを利用して指数積分の値が計算できることを言え。
数学でいうとdv/dt+v=1/t、v= sum((n-1)!/t^n,n,1,inf)がその解、
形式解は両辺にexp(t)をかけて積分するとでる。形式解は-infからx(<0)まで積分とすると
収束。この積分が指数積分なわけだが、、、。まあまず現在の学生ができるレベルではない。
発散級数と特殊関数と微分方程式についていろいろ考えてみよというのが著者の意図であろうが
まず値が出ないことには検証もできないわけだ。ラーゲル級数を使う方法や超幾何級数を使
えるひとにはそもそもこの問題は必要ないのだから。

10 :GO_MAXIMA:2008/08/31(日) 00:05:54
ということで原始的にグラフを書いて数値積分することで値を得ることにすると
適応シンプソン方でかかれたoctaveのquadがよいだろうということ。
exp(x)/xの-100位から-1くらいのグラフを書けば-infも必要な桁に応じて小さく
とってもよいことがわかる。
octave:1> output_precision =40
output_precision = 40
octave:2> function y=f(x)
> y=exp(x)/x;
> endfunction
octave:3> [a,b,c,err]=quad("f",-50,-0.5)
a = -5.597735947761608432671209811815060675144e-01
b = 0
c = 231
err = 1.090261483581709726171579677433953747823e-10
octave:4> [a,b,c,err]=quad("f",-50,-1.0)
a = -2.193839343955203136093956572949537076056e-01
b = 0
c = 189
err = 1.228697769456908674059331110228754369018e-10
octave:5> [a,b,c,err]=quad("f",-50,-2.0)
a = -4.890051070806111788158432318596169352531e-02
b = 0
c = 147
err = 1.631366858058537613537786192807743645972e-10

11 :GO_MAXIMA:2008/08/31(日) 00:12:18
これらは9桁はただしい。念のため
octave:10> [a,b,c,err]=quad("f",-1000,-50)
a = -2.615640027574566535229098254814340724196e-24
b = 0
c = 21
err = 5.200295090047524620231132939194263989378e-2
考える手段としての数学ソフトは数値と数式と区別する必要は無い。
まあ数式処理を使おうとするとかなりの数学的ちからというか
実力が必要なことはたしかだ。たぶん後のほうで不完全Γ関数にふれる
機会がある。

12 :名無しさん@5周年:2009/02/14(土) 16:30:59
Mathematica Home Editionというのが出るそうだ。
  http://www.wolfram.com/news/homeedition.html
$295ということは3万円しないということだ。


13 :名無しさん@5周年:2009/02/28(土) 23:20:03
>>12
この値段なら、と思ったが日本語版Winで動くのかこれ

しかし、過疎りすぎだな・・
Maximaスレはなくなっちゃったのか?
最近やっと使い方を覚えてきたのにスレがなくなってるなんて ウワー

14 :名無しさん@5周年:2009/03/09(月) 12:15:22
英語版のソフトは日本語版OSの上では動く。
但し、ソフト中に日本語のコメントなどが書けなかったりするかもしれない。
でも、おそらく開発と保守の容易化から、おそらくできるのでは?
マニュアルとかヘルプ、エラーメッセージが英語しか出ない可能性は高いが。

15 :名無しさん@5周年:2009/05/30(土) 20:33:14
mupad lightをwindows版texmaxで動かしたいんだけど
やり方教えて。

16 :名無しさん@5周年:2009/10/21(水) 08:34:39
Mathematica Home Editionの国内販売はまだかな。

17 :名無しさん@5周年:2009/11/29(日) 15:13:19
【理系集まれ】数学得意な奴は尊敬する 数学を使って信号機を設計する考えを解説
http://tsushima.2ch.net/test/read.cgi/news/1259468388/l50


18 :名無しさん@5周年:2009/11/30(月) 21:16:11
【数式処理システム】 Maxima 【Common Lisp】
http://science6.2ch.net/test/read.cgi/math/1220340695/

19 :名無しさん@5周年:2009/12/21(月) 05:58:18
数学板にはあるのか。そっちに行ってみるかね…

10 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)