【数式処理システム】 Maxima 【Common Lisp】
■ このスレッドは過去ログ倉庫に格納されています
0001132人目の素数さん
2008/09/02(火) 16:31:35MaximaはCommon Lispで書かれており、GNU GPLライセンスのもと
配布されています。各種UNIX、Windows、OSXで動作します。
■関連サイト
□Maxima, a Computer Algebra System (英語) - 公式サイト
ttp://maxima.sourceforge.net/
□Maxima Beginner's FAQ (英語) - 初心者向けのFAQ
ttp://beshenov.ru/maxima/faq.html
□Imaxima (英語) - Emacs用のGUIフロントエンド
ttp://members3.jcom.home.ne.jp/imaxima/Site/Welcome.html
□Maxima interest list (英語) - Maximaに関するメーリングリスト
ttp://www.ma.utexas.edu/mailman/listinfo/maxima
□Maximaで遊ぼう (日本語) - マニュアルの日本語訳や、インストールガイド等
ttp://www.bekkoame.ne.jp/~ponpoko/Math/maxima/MaximaMAIN.html
□数式処理システムMaximaで楽をしよう (日本語) - 初心者向けのMaxima導入編
ttp://www1.bbiq.jp/kougaku/maxima.html
■過去スレ
MAXIMA
http://science6.2ch.net/test/read.cgi/sim/1011102458/
ttp://www.23ch.info/test/read.cgi/sim/1011102458/ (ミラー)
Maxima part2
http://science6.2ch.net/test/read.cgi/sim/1218342679/
0002132人目の素数さん
2008/09/02(火) 16:41:48スレ立て乙です
0003132人目の素数さん
2008/09/02(火) 17:40:31sbcl (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/
おまけ
Maxima 普及委員会
http://www.cymric.jp/
0004132人目の素数さん
2008/09/02(火) 18:52:26必須コマンドと使用例よろすく
0005132人目の素数さん
2008/09/04(木) 19:26:32matlabは?
0006132人目の素数さん
2008/09/04(木) 19:28:450007132人目の素数さん
2008/09/06(土) 23:06:36マチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < MAXCELまだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 日 立 |/
0008132人目の素数さん
2008/09/07(日) 02:45:58つ http://www.maxell.co.jp/
0009132人目の素数さん
2008/09/08(月) 08:41:560010132人目の素数さん
2008/09/13(土) 01:05:280011132人目の素数さん
2008/09/17(水) 17:12:040012132人目の素数さん
2008/09/17(水) 17:45:320013132人目の素数さん
2008/09/17(水) 18:59:040014132人目の素数さん
2008/09/22(月) 23:08:59ちなみにアンチウィルスソフトはca インターネットセキュリティ
0015132人目の素数さん
2008/09/23(火) 21:13:280016132人目の素数さん
2008/09/23(火) 21:19:18それをグラフにプロットするにはどうすればよいのでしょうか
0017132人目の素数さん
2008/09/23(火) 21:36:58f(x):=if x >= 0 then x^2 else x^3;
plot2d(f(x),[x,-1,1]);
0018132人目の素数さん
2008/09/23(火) 22:06:10できないかと思ったけど最新verにしたらできました
ありがとうございます
0019132人目の素数さん
2008/09/27(土) 03:01:41これ結構重いな
0020132人目の素数さん
2008/09/28(日) 11:43:14USBメモリにいれて持歩きたいんですけど
0021132人目の素数さん
2008/09/30(火) 06:38:53ttp://www.cs.tohoku-gakuin.ac.jp/~otofuji/ETC/wxMaxima/
0022132人目の素数さん
2008/09/30(火) 07:28:53msysってなんや?
0023132人目の素数さん
2008/09/30(火) 12:17:140024132人目の素数さん
2008/09/30(火) 12:19:33おしえるためにきいてるからぐぐるきなんてないよ
ボケ
だったら、自分でやれ
0025132人目の素数さん
2008/09/30(火) 12:26:38おまえの敵は一人じゃないぞww
0026132人目の素数さん
2008/09/30(火) 12:27:36判らないなら教えなくても良いのだよ
0027132人目の素数さん
2008/09/30(火) 13:25:26だったら、おまえら協力してやれよ。下衆には関わるつもりないから。
0028132人目の素数さん
2008/09/30(火) 13:51:20関わるなよw
0029132人目の素数さん
2008/09/30(火) 13:51:59003020
2008/09/30(火) 20:20:470031132人目の素数さん
2008/10/13(月) 19:24:10ご教示いただければ、幸甚です。
(1) ubuntu 8.04をインストール
(2) セキュリティのアップデートを済ませる。
(3) 日本語版セットアップからemacs-env-ja, latex-env-ja, latex-extra-jaを導入
(4) maxima_5.16.3-1_i386.debとwxmaxima_0.7.6-1_i386.debを導入。
(5) imaxima-imath-0.99.tar.gzを解凍。sudo ./configure; make; make installを実施。
(6) sudo texhash実施。また、sudo kpsewhich breqn.styを実施。/usr/share/texmf-texlive/tex/latex/breqn/breqn.styとして、breqnにパスが通っていることを確認。
(7) 自分のディレクトリの.emacsに以下の記載をし、パスを通す。
(push "/usr/local/share/emacs/site-lisp" load-path)
(push "/usr/local/share/maxima/5.16.3/emacs" load-path)
(autoload 'imaxima "imaxima" "Frontend for maxima with image support" t)
(autoload 'maxima "maxima" "Frontend for maxima" t)
(autoload 'imath-mode "imath" "Imath mode for math formula input" t)
(setq imaxima-use-maxima-mode-flag t)
(8) ここまでやってから、emacsを動かして、M-x imaximaと読み込ませますと、
/usr/local/lib/maxima/5.16.3/binary-clisp/lisp.run: error while loading shared libraries: libsigsegv.so.0: cannot open shared object file: No such file or directory
Process maxima exited abnormally with code 127
とエラーがでますがコンパイルされている、lisp.runのどこをいじれば良いのかわかりません。そもそもこのライブラリがどこで読み込まれるべきかも併せて、ご教示いただければ幸甚です。
0032132人目の素数さん
2008/10/13(月) 20:25:460033132人目の素数さん
2008/10/14(火) 07:05:08003431
2008/10/15(水) 21:03:350035132人目の素数さん
2008/10/25(土) 15:49:500036132人目の素数さん
2008/11/15(土) 00:20:400037132人目の素数さん
2008/11/15(土) 01:00:140038132人目の素数さん
2008/11/15(土) 11:55:17自分で変換の式かかないとダメ?
0039132人目の素数さん
2008/11/15(土) 17:09:190040132人目の素数さん
2008/11/16(日) 14:56:350041132人目の素数さん
2008/11/16(日) 15:07:080042132人目の素数さん
2008/11/16(日) 15:28:500043132人目の素数さん
2008/11/16(日) 15:31:51ML見てると最近また活発だという印象。
0044132人目の素数さん
2008/11/22(土) 17:59:52において、「はじめてのMaxima」の著者、横田博史さんによるセミナーが予定されています。
お近くの方は是非お越しください。
http://www.ospn.jp/osc2008-fukuoka/
関連情報
http://www.knoppix-math.org/wiki/index.php?OSC2008Fukuoka
0045132人目の素数さん
2008/11/22(土) 22:18:35方法が分からずに困っております.
どなた様かご教授願えませんでしょうか.
0046132人目の素数さん
2008/11/23(日) 04:17:280047132人目の素数さん
2008/12/07(日) 13:49:41x1,x3,x5...についてのみ微分したい
という場合はx1,x2..を全部手で書くしかないのでしょうか
0048132人目の素数さん
2008/12/07(日) 15:38:430049132人目の素数さん
2008/12/08(月) 03:10:33SHIFT+ENTERだったのね
0050132人目の素数さん
2008/12/08(月) 23:49:222D plotでgnuplotを選んでオプション欄に
set logscale x
あるいは
set logscale y
0052132人目の素数さん
2008/12/13(土) 01:40:37integrate(log(5-4*cos(x)), x, 0, 2*%pi);
という入力に対してIs 4*sin(x)^2+4*cos(x)^2-4*cos(x)+1 positive or negative?と返ってきたのだがどういうことです
0053132人目の素数さん
2008/12/13(土) 02:45:120054132人目の素数さん
2008/12/17(水) 02:15:130055132人目の素数さん
2008/12/18(木) 22:30:04待望のMaximaスレッドを建ててくれてありがとう!
0056132人目の素数さん
2008/12/21(日) 02:07:35√2√3 になってしまう・・・。
√6にするにはどうしたらいいんだ ofz
0057132人目の素数さん
2008/12/21(日) 02:10:250059132人目の素数さん
2008/12/21(日) 18:41:24があって、a*x+a を a*(x+1)に置き換えるにはどうしたらいいんでしょう?
以下のような感じで処理したいのですが・・・
a*x+a+b*x+b
a*x+a = a*(x+1)
a*(x+1)+b*x+b ←置き換え
b*x+b = b*(x+1)
a*(x+1)+b*(x+1) ←置き換え
x+1 = c
a*c+b*c
factor(%)を使えば簡単に因数分解できるのは知ってますが、手で
計算するように順を追って処理したいのです。
006059
2008/12/21(日) 20:47:34f1 : a*x+a+b*x+b
ratsimp(f1,a,b)
で、b*(x+1)+a*(x+1)が得られた。
rat(...)でも同様のことができるっぽい。
ただ、
f2 : ratsimp(f1,a)
→a*(x+1)+b*x+b
f3 : ratsimp(f2,b)
→b*(x+1)+a*x+a
なんで
→b*(x+1)+a*(x+1)
にならないんだ・・・orz
0061132人目の素数さん
2008/12/22(月) 00:29:22Mathematica使えば?
006259
2008/12/22(月) 01:15:32年収400万の末端工員の俺にそんなこと言われても困るんだが orz
貧乏で馬鹿だけど、少しは勉強しようと思って始めたんだ。
そのへん察してくれ。
0063132人目の素数さん
2008/12/22(月) 01:52:440064132人目の素数さん
2008/12/22(月) 01:55:220065132人目の素数さん
2008/12/22(月) 01:56:290066132人目の素数さん
2008/12/22(月) 14:52:32006759
2008/12/23(火) 16:37:56俺、計算中によく±間違えたり、いつの間にか項が
増えたり減ったりするから紙は合わない。
wmMaxima を最新版にアップグレードしたら使い方が大分違ってて
あわてた orz
適応能力が低い俺にとっては結構迷惑な話だw
さて、今日はどんな計算をして遊ぼうかな・・・。
006859
2008/12/23(火) 23:32:27チェーンルールが再現できない
depends(x,u);
depends(y,x);
f1:diff(x,u);
f2:diff(y,x);
f3:f1*f2;
→('diff(x,u,1))*('diff(y,x,1))
orz
教えてください・・・。
0069132人目の素数さん
2008/12/27(土) 17:40:32Is x positive, negative, or zero?
と言われてしまいます。こういった場合、どうすればいいのでしょうか?
どうやってxがゼロだとか負だとか正だとか指示すればいいのでしょうか?
というか、ある程度のパターン数までは自動で場合分けやってくれないんですかね?
0070132人目の素数さん
2008/12/27(土) 18:14:470071132人目の素数さん
2008/12/27(土) 18:20:090072132人目の素数さん
2008/12/27(土) 18:29:31\{ 1/x (x=0)
∞ (x≠0)
みたいな感じで場合分け済みの結果を出してくれるとありがたいね
0073132人目の素数さん
2009/01/02(金) 15:23:36Is x-1 positive, negative, or zero?pos;
Is x-2 positive, negative, or zero?pos;
Is x-3 positive, negative, or zero?pos;
・・・
みたいなことになる場合も多々あるw
0074132人目の素数さん
2009/01/03(土) 00:56:240075132人目の素数さん
2009/01/03(土) 19:24:180からπ、πから2πというふうに2回に分けて計算しろということだろう
0076132人目の素数さん
2009/01/04(日) 01:13:170077132人目の素数さん
2009/01/14(水) 12:11:030078132人目の素数さん
2009/01/18(日) 11:47:49assume(x>0);
してから
limit((1+x/n)^n,n,inf);
では駄目?
0079132人目の素数さん
2009/01/28(水) 13:52:25mixi見れないのでここに書いてもらえませんか?
0080132人目の素数さん
2009/01/28(水) 20:55:22http://pc11.2ch.net/test/read.cgi/mobile/1138982038/l50
で知ったのだけど、Xcasってどうよ?
ttp://en.wikipedia.org/wiki/Xcas
ttp://www-fourier.ujf-grenoble.fr/~parisse/giac.html
0081132人目の素数さん
2009/01/30(金) 02:39:330082132人目の素数さん
2009/02/01(日) 00:07:26(1) 作成者様からのご回答
shell上でmaxima 5.16.3は正常に動作していますか?terminalから
% maxima
とやってちゃんと起動するかどうか試してみて下さい。このエラーメッセージを見る限り、imaximaというよりはmaxima自身がうまくインストール出来ていないように見えます。
(2) 私の返事その1
ご指摘の通り、wxmaxima.sourceforge.netから落としたdebパッケージがインストールされておりませんでした。(8.04 Hardyテスト済みと書いてありましたが。。。)
仕方なく、ubuntuのsynapticインストールでは5.13.0しかないため、そちらにダウングレードしましたが、今度は/usr/share/maximaができましたが、emacsフォルダがなく、今度はload-pathを考えなくてはなりません。
だめなら、5.15.0にアップグレードしてみて、様子を見てみます。
ありがとうございました。
(2) 私の返事その2
稼働ご報告。
結局、wxmaxima.sourceforge.netからダウンロードする、maxima-5.16.3のdebパッケージの内部の依存関係がおかしかったようです。
5.15.0のdebパッケージを探してきて、インストールすると、imaximaが動きました。
どうもありがとうございました。
追伸。
alien --scriptでrpmパッケージをdebパッケージに変換しようとしましたけど、なかなかうまくいかないものです。
008379
2009/02/02(月) 16:01:220084132人目の素数さん
2009/02/06(金) 15:43:27(MLIST SIMP) ((MPLUS SIMP) $X ((MTIMES SIMP) 3 $Y)))
を普通のlispの表現
(+ x ( * 3 y))
に変換する関数はないのでしょうか
0085132人目の素数さん
2009/02/06(金) 22:31:00可能ですか?
0086132人目の素数さん
2009/02/07(土) 08:45:29たとえばこれでepsが吐き出されるよ。
plot2d([x^2], [x,-5,5],
[gnuplot_preamble, "set size ratio 1; set zeroaxis;"], [gnuplot_term, ps],
[gnuplot_out_file, "C:/temp/plot2d.eps"])$
0087132人目の素数さん
2009/02/08(日) 09:20:15trans4.lisp
の
tr-lisp->lisp
がそれっぽく見えるけどよくわからない
0088132人目の素数さん
2009/02/16(月) 14:50:33作ってくれる人はいませんか?
0089132人目の素数さん
2009/02/20(金) 14:55:32自分で作るしかないのでしょうか
0090132人目の素数さん
2009/02/20(金) 16:16:29plot3d([[x, 2*y]], [x,-5,5], [y,-5,5]);
としても、うまくいきません。教えてください。
0091132人目の素数さん
2009/02/20(金) 18:01:13http://d.hatena.ne.jp/niitsuma/20080328/1235120364
0092132人目の素数さん
2009/02/24(火) 00:00:18dgesvd()は?
0093132人目の素数さん
2009/02/24(火) 22:17:57はい、そこで終了。
0094132人目の素数さん
2009/02/25(水) 15:08:39linearalgパッケージが壊れているのか
うちでは読み込めない
0095132人目の素数さん
2009/02/26(木) 08:14:44間違った
load(lapack)が動かなかった
しかし最新版にしたら動いた
0096132人目の素数さん
2009/03/05(木) 17:21:50・ Option → Preferences でフォントサイズを指定 (Save Preferences) しても、
その時は有効なのに、次回起動したときはディフォールトに戻ってしまう。
・(%i1) x : 1/3 $
(%i2) float(x);
(%o2) 0.33333333333333
(%i3) fpprec : 6;
(%o3) 6
(%i4) float(x);
(%o4) 0.33333333333333
こういうものなんですか? 以前は出来たような記憶があるんですが。
有効数字の桁数を指定するには、どうしたらいいのでしょうか。
0097132人目の素数さん
2009/03/06(金) 19:13:40シミュ板には無くなってるからもう無いのかと思ったわ
>>96
fpprintprec : 6$
fpprecは内部で計算する桁数で、表示する桁数はfpprintprec
009896
2009/03/06(金) 20:00:12ありがとうございました。やってみました。
(%i1) a:2/3 $
(%i2) float(a);
(%o2) 0.66666666666667
(%i3) fpprintprec; fpprintprec : 6;
(%o3) 0
(%o4) 6
(%i5) float(a);
(%o5) 0.6667
あれ、有効数字の桁数ではなくて、print prec なのかー。
009998
2009/03/06(金) 20:08:33(%o1) 0
(%i2) a:2/3*1e-9;
(%o2) 6.6666666666666664E-10
(%i3) float(a);
(%o3) 6.6666666666666664E-10
(%i4) fpprintprec : 6 $
(%i5) float(a);
(%o5) 6.666667E-10
ナンかヘンです。
0100132人目の素数さん
2009/03/06(金) 20:54:58どうヘンなのか言ってくれないと答えようがない
マニュアルによるとfpprintprecはbigfloat型数値のための変数となってるが
これで解決するか?
x:1/3;for i:2 thru 16 do block([],fpprintprec:i,print(i," ",float(x)," ",bfloat(x)));
0101132人目の素数さん
2009/03/06(金) 23:40:18ありがとうございます。
x:2/3*1e-6 $ for i:2 thru 16 do block([], fpprintprec:i, print(i, " ", float(x), " ", bfloat(x)));
2 6.67E-7 6.6b-7
3 6.667E-7 6.66b-7
4 6.6667E-7 6.666b-7
5 6.66667E-7 6.6666b-7
6 6.666667E-7 6.66666b-7
7 6.6666667E-7 6.666666b-7
8 6.66666667E-7 6.6666666b-7
9 6.666666667E-7 6.66666666b-7
10 6.6666666667E-7 6.666666666b-7
11 6.66666666667E-7 6.6666666666b-7
12 6.666666666667E-7 6.66666666666b-7
13 6.6666666666667E-7 6.666666666666b-7
14 6.66666666666667E-7 6.6666666666666b-7
15 6.666666666666666E-7 6.66666666666666b-7
16 6.666666666666666E-7 6.666666666666666b-7
とりあえずは bfloat でなく、float 型の方に注目しています。
・有効数字の桁数の指定が思ったようにできない。自分で関数を作れ!ということなのか。
・数値の丸め方がおかしい。例「2 6.67E-7 6.6b-7」
あ、四捨五入の指定のしかたは、別にあるんでしょうか。
全然別件ですが、"," の後にはスペースを1つ入れる、というのが通常なんですが。
「Maxima is a computer program for doing mathematics calculations, symbolic
manipulations, numerical・・」これだって、そうなんですが。
0102101
2009/03/06(金) 23:52:01(%i14) x=2/3 $ fpprintprec : 4 $ float(x);
(%o16) 0.67
「0.67」って4文字だ、と言い張るのでしょうか。
0103101
2009/03/06(金) 23:58:43というのはわかります。
しかし、近似多項式の演算とかにも使いたいのです。つまり多項式を想定し、
数値ペアを与えて、solve で各次の係数を求めたりする用途です。
結果をうまく丸めてくれないと、ちょっと困ります。
0104132人目の素数さん
2009/03/07(土) 00:53:37疲れる人だな
Maximaなんかやめて、Octaveを調べた方がいいと思うわ
>bfloat でなく、float 型の方に注目しています。
せっかくfpprintprecはbigfloat型数値のための変数と書いたのに・・
マニュアル読んでないだろ
0105132人目の素数さん
2009/03/07(土) 08:53:18ありがとうございます。
説明書のキーワード検索機能が弱いように思います。
bfloat にしても丸め方がおかしい。>>101
fpprintprec が、なぜ float の表示桁数に影響するのか。>>101
Option → Preferences でフォントサイズを指定 (Save Preferences) しても、
その時は有効なのに、次回起動したときはディフォールトに戻ってしまう。>>96
さようなら。
0106132人目の素数さん
2009/03/09(月) 11:55:55してから浮動小数演算してみるとlispのデフォルト浮動小数計算と違うのが動いてるのがわかる
0107132人目の素数さん
2009/03/11(水) 04:08:48その bfloat のヤツ。小中学生の頃から、そんな書き方をしてはいけません!
と言われて育ったぜ。
0108132人目の素数さん
2009/03/11(水) 04:19:28さすがにスゴイぞ。文句のつけようがないほどやってる。
0109132人目の素数さん
2009/03/11(水) 04:21:48数値演算をバカにしては、なりません。
0110132人目の素数さん
2009/03/11(水) 04:37:37多桁演算、やってみてます。
0111132人目の素数さん
2009/03/11(水) 04:52:02実は C で多桁演算プログラムを書いて、うわ、間違ってる、とか
やってた記憶があります。人間って間違えるものなのだな。
今ではそれほど後悔していない。
0112132人目の素数さん
2009/03/11(水) 04:59:34100万桁だって同じはずダロ。違うとしたら、たぶんオレが間違い。
0113132人目の素数さん
2009/03/11(水) 06:47:02すげ。
0114132人目の素数さん
2009/03/11(水) 08:29:26あと、
http://maxima.sourceforge.net/docs/manual/en/maxima_10.html
には
fpprintprec is the number of digits to print when printing an ordinary
float or bigfloat number.
って載ってますね。
現状ではfloatに対する挙動はmanual通りではないけど。
0115132人目の素数さん
2009/03/25(水) 01:19:15みたいなのを関数化しようとして
f(e, x):=ev(e, x:1/x);
と定義してもうまくいきません。どうすればいいのでしょう?
0116盛り上げたい
2009/03/25(水) 08:26:34defineを使えばいけるんじゃね?
f(x):=x+1;
g(x):=f(x);
define(h(x),g(x));
ev(e,x:1/x)の動作例がいまいちわからんが
define(f(e,x),ev(e,x:1/x))
てな感じのイメージ
0117115
2009/03/25(水) 20:32:45f(x)→f(1/x)みたいな変換をする為に、
ev(f(x), x:1/x)でうまくいきそうなのですが、これを関数化するとこで
つまずいてます。
f(x)として与える式の中に、xが全て陽(explicit)に現れてるのなら、
多分、ev()を使わずとも、subst()でx→1/xと置換すればいいのだと思うのですが
(ちょっと自信が無いです)。
0118盛り上げたい
2009/03/25(水) 21:17:41reciprocal(func) := func(1/x);
例えばこう使ってくれ
f(x):=x$g(a):=1+a+a^2$h(x):=sin(x)$
define(rf(x),reciprocal(f));
define(rg(x),reciprocal(g));
ひとまとめにこうしてしまうのも可
map(lambda([i],reciprocal(i)),[f,g,h]);
高階関数で調べると幸せになれる
0119132人目の素数さん
2009/04/24(金) 06:01:370120132人目の素数さん
2009/04/24(金) 11:34:46手持ちのソフトでは難しく、うまくいきません。
アルゴリズムとしてはlevenberg-marquardt法を用いようと思っているのですが、
maximaではこういったことは可能でしょうか?
質問わかりづらかったら申し訳ありません。
0121132人目の素数さん
2009/05/09(土) 17:42:46勇んでVistaから乗り換えた俺涙目wwww
0122132人目の素数さん
2009/05/11(月) 17:00:39この、0.8.2って何の意味なんですか?
Maxima初心者なので教えてください。よろしくお願いします。
0123132人目の素数さん
2009/05/11(月) 17:38:280124132人目の素数さん
2009/05/16(土) 20:44:460125132人目の素数さん
2009/05/19(火) 08:23:55たとえば、量子力学で頻繁に使う昇降演算子l_+はつぎの性質を持ちます。
l_+ Y[l,m] = [(l-m)*(l+m+1)]^0.5 * Y[l,m+1]
ただし、Y[l,m]は球面調和関数
昇降演算子に限らず、自分で演算子を定義し、使用する方法が知りたいです
0126132人目の素数さん
2009/05/19(火) 08:39:44infix("pow",100,120)$(a pow b):=a^b$a pow b pow c;
100とか120ってのは左と右への束縛力(結合性みたいなもの)を表す(maxは200)
単項演算子ならinfixではなくprefixやpostfixを使う
あまり賢くないので元の式の意味がわからんが適当に改良してみてくれ
0127132人目の素数さん
2009/05/19(火) 20:02:570128132人目の素数さん
2009/05/23(土) 23:22:00g(x)を受け取ると、g(x-1)を返すf(x)
f(g(x)) := g(x-1);
のような感じです。
もしかすると、lispを勉強しないと駄目ですかね
0129132人目の素数さん
2009/05/24(日) 09:16:51シミュ板の過去スレのまとめが参考になりました。
http://ryoma3.hp.infoseek.co.jp/maxima/GO_MAXIMA_coments.pdf
f(x,_h) := block([_a],_a:funmake(_h,[t]), subst(x-1,t,ev(_a)));
g(x) := 2*x
f(x,g); <- 2(x-1)
0130132人目の素数さん
2009/05/29(金) 12:32:21load(vect);
してから
cross(v1,v2)
としても外積がでないのですが
何か間違っているのでしょうか
0131132人目の素数さん
2009/05/29(金) 18:11:31listに対するtransposeはないのでしょうか
0132132人目の素数さん
2009/05/30(土) 14:49:07自分で定義する
cross( v1, v2 ):=
[ v1[2]*v2[3] - v1[3]*v2[2],
v1[3]*v2[1] - v1[1]*v2[3],
v1[1]*v2[2] - v1[2]*v2[1] ];
0133132人目の素数さん
2009/05/31(日) 12:27:13例えばfactor(84);%[1]などとやってもうまくいきません
メビウス関数を定義したくて
「平方数で割り切れるかの判定」を、
素因数分解の結果を使って行おうと思ったのですが・・
それか、他になにか良い代替案はありますかね
0134132人目の素数さん
2009/06/01(月) 05:17:45するとmatrixの掛け算で変なエラーが出ることないないですか?
nxnの行列と1xn のベクトルの掛け算で
行列のサイズ合わないよ
とか
0135クリップボード
2009/06/01(月) 16:29:52part関数を使ったらどうでしょうか。
(%i1) factor(84);
(%o1) 2^2 3 7
part(%o1,1) 4
part(%o1,2) 3
part(%o1,3) 7
0136クリップボード
2009/06/03(水) 16:15:47matrixをlistに変換するには、演算子matrixを演算子listで置き換えればよいので
substpart関数が使える。
例えば、
m:matrix([4,3],[2,1])$
substpart("[",m,0);
[[4.3],[2,1]]
となる。
0137132人目の素数さん
2009/06/03(水) 18:03:050138132人目の素数さん
2009/06/04(木) 15:00:57(%i7) v0 : [1,2,3];
v1 : [v0,1];
v2 : [1,2,3,4];
v1 . v2;
(%o7) [1,2,3]
(%o8) [[1,2,3],1]
(%o9) [1,2,3,4]
incompatible dimensions - cannot multiply
-- an error. To debug this try debugmode(true);
(%o8)を、[1,2,3,1]にしたいです。
0139132人目の素数さん
2009/06/04(木) 15:11:21x : [xx,xy,xz];
v . x;
(%o1) [vx,vy,yz]
(%o2) [xx,xy,xz]
(%o3) xz*yz+vy*xy+vx*xx
(%o3)を、「v . x」に変形させることは出来ますか?
0140クリップボード
2009/06/04(木) 16:35:46v0:[1,2,3]から[1,2,3,1]をつくるには、endcons関数で可能。
endcons(1,v0);
[1,2,3,1]
因みに、先頭に要素を入れるには、cons関数を利用する。
cons(1,v0);
[1,1,2,3]
また、(%o8) [[1,2,3],1]から[1,2,3,1]をつくるには、flatten関数を
利用する。
flatten(%o8);
[1,2,3,1]
0141132人目の素数さん
2009/06/04(木) 17:26:010142変態ロリーマン ◆ghclfYsc82
2009/06/05(金) 05:52:39更に動作がトロくなりますな
0143クリップボード
2009/06/05(金) 15:34:36求める関数と同じかわかりませんが,areshape関数を作ってみました。
reshape(A,m,n):=block([nr,nl,lis,a,b,c,s],
nr:length(A),
a:transpose(A),
nl:length(a),
if m*n # nr*nl then
(print("error ",m,"*",n,"should be equal to the number of matrix elements"),return(done)),
s:[],
b:flatten(substpart("[",a,0)),
for i thru n do(c:rest(b,-m*(n-i)),
s:endcons(c,s),
b:rest(b,m)
),
transpose(apply(matrix,s)))$
実際に適用してみると、
p:matrix([1,4,7,10],[2,5,8,11],[3,6,9,12]);
[ 1 4 7 10 ]
[ 2 5 8 11 ]
[ 3 6 9 12 ]
reshape(p,2,6);
[ 1 3 5 7 9 11 ]
[ 2 4 6 8 10 12 ]
となる。
0144132人目の素数さん
2009/06/06(土) 23:22:07ありがとうございました。
おかげで出来ました。
0145132人目の素数さん
2009/06/11(木) 20:59:04sublist([1,2,3],evenp);
sublist([1,2,3],lambda([x],mod(x,2)=0));
0146132人目の素数さん
2009/06/11(木) 21:18:35sublist([1,2,3],lambda([x],is(mod(x,2)=0)));
0147132人目の素数さん
2009/06/16(火) 10:52:370148132人目の素数さん
2009/06/16(火) 23:33:33なかったら自分で作るとか。
0149132人目の素数さん
2009/06/17(水) 20:19:260150132人目の素数さん
2009/06/17(水) 22:47:35min_index(lst):=block(local(k,mi),mi:1,
for k thru length(lst) do(
disp([k,mi,lst[k]]),
if lst[mi] < lst[k] then mi:k
),
disp([mi,lst[mi]]),
return(mi));
mir:min_index([3,1,5,0,10,60])
4が答えなのに6になる
0151132人目の素数さん
2009/06/17(水) 23:11:24mi(lst):=block([mini:1,minv:lst[1]],
for i:1 thru length(lst) do
if lst[i]<minv then block(minv:lst[i],mini:i),
return(mini));
0152132人目の素数さん
2009/06/23(火) 05:27:360153132人目の素数さん
2009/06/24(水) 01:14:07u(x,y,z,t) = u0(x,y,z,t) + \varepsilon u1(x,y,z,t) (u,u0,u1はすべてベクトル)
p(x,y,z,t) = p0(x,y,z,t) + \varepsilon p1(z,y,z,t) (p,p0,p1はすべてスカラー)
などと摂動展開を行い、これを基礎方程式に入れて線形的な関係式を求めたいと考えています。
#具体的には連続の式、Navier-Stokes方程式、Poissonの関係式から
#音波の波動方程式をMaximaで導出してみたいと考えています。
任意の座標系でできればいいのですが、まずはデカルト座標だけでもできればありがたいです。
以下デカルト座標系であることを前提にして書かせていただきます。
ここで皆さんに伺いたいことは以下の3点です。
1. 摂動パラメータ\varepsilonのようにx,y,z,tに依存しない定数を指定するコマンドを教えていただけないでしょうか。
具体的な数値(1とか2.5など)ではなく、「なんらかの定数値をとる\varepsilon」というように指定できるコマンドがあるとありがたいのですが...
2. VECTパッケージではある変数pがx,y,zに依存することを前提にしているようですが、pがx,y,z以外の変数(たとえばt(時間))にも依存するように指定することは可能でしょうか。
3. 摂動パラメータ\varepsilonについて整理する(MathematicaでいうとCollectコマンドになると思います)コマンドがあるのでしょうか。
MaximaでVECTをロードするとベクトル解析関係の計算を(成分に分解しないで)シンボリックに計算できるようなので
見通しよく計算できると考えています。
MathematicaにせよReduceにせよ、成分に分解しないとベクトル解析の計算ができないので大変見通しが悪くなってしまうのが残念です。
よろしくお願いします。
0154132人目の素数さん
2009/06/27(土) 22:32:23例えば、下のような連続の式をグラフで表示させたいのですが。
・y(x):=2*x (x<0)
・y(x):=3*x (x>=0)
0155132人目の素数さん
2009/07/01(水) 22:02:03行列の1つの要素を抜き出した時に1×1の行列扱いになって困っているのですが、単なる数字として扱う方法はありませんか?
例えば
A1: ([a11, a12, a13], [a21, a22, a23],[a31, a32, a33]);
A2: A[1][1]*A1;
みたいな事をやりたいんですけれど、どうやらA[1][1]の部分が行列扱いになっているようでエラーが出ます。
数字でなく式で扱っているのが悪いのでしょうか?出来れば式のままで整理したいのですが・・・
0156132人目の素数さん
2009/07/02(木) 18:59:25Maximaではリストと行列は全くの別物
A1 : matrix ([a11, a12, a13], [a21, a22, a23],[a31, a32, a33]);
0157132人目の素数さん
2009/07/02(木) 23:25:44実際には>>156に書いてあるように宣言していますが、1要素を抜き取ってもそれは数でなく行列扱いになっています。
0158132人目の素数さん
2009/07/03(金) 04:46:09Aには何が入ってるの?
0159132人目の素数さん
2009/07/03(金) 04:56:11具体的な例を書くつもりが逆に混乱させているようですいません。
とにかく、行列を設定したあとに要素を抽出して、その要素を行列やリストでないただの数字として扱いたいのです。
0160132人目の素数さん
2009/07/03(金) 07:51:30この書き方だと、行列A1のすべての要素にA1[1][1](=a11)を掛けた行列がA2に代入される。
>とにかく、行列を設定したあとに要素を抽出して、その要素を行列やリストでないただの数字として扱いたいのです。
A1[1][1],A[1][2]等でアクセスできる。というか、上の例ではしてるのでは?
あと、具体的なインプット、アウトプットを書いてくれると分かりやすい。
0161132人目の素数さん
2009/07/12(日) 17:34:19文字が入った行列の行列式を計算しました。
計算自体はうまくいったのですが、途中計算を出すためにはどうすればよいですか?
だれか教えてください。
0162132人目の素数さん
2009/07/14(火) 22:24:45っていちいち書くのが面倒なんですが、自動で設定することはできないんでしょうか?
0163132人目の素数さん
2009/07/16(木) 00:31:400164132人目の素数さん
2009/07/17(金) 05:03:17例えば、
Y = X * Y + A
っという方程式を、
Y = A / (1-X)
のように 左辺にY でまとめて表示させるにはどうしたら良いでしょうか?
できれば、右辺も、X と定数で分けたいです。
複雑な式の場合に、Y = ○X + △ ってまとめたいのですがそんな事が可能?
0165132人目の素数さん
2009/07/18(土) 13:46:33といった重積分をするとき
integrate(integrate(f(x),y,sqrt(1-(x^2)),-1*sqrt(1-(x^2))),x,1,-1)
と累次化した形で入力しているのですが計算してくれません
この入力に何か間違いがありますか?
それともやり方自体が間違っているのでしょうか?
0166165
2009/07/18(土) 14:32:57積分範囲が逆でした
integrate(integrate(f(x),y,-1*sqrt(1-(x^2)),sqrt(1-(x^2))),x,-1,1) と入力しましたが
これでもできませんorz
f(x)は任意の式です
0167132人目の素数さん
2009/07/18(土) 14:35:310168165
2009/07/18(土) 14:48:00integrate(integrate(f(x,y),y,-1*sqrt(1-(x^2)),sqrt(1-(x^2))),x,-1,1)
実行すると
Is (x-1)*(x+1) positive, negative, or zero?と聞かれて
positiveと入力すると
Defint: Lower limit of integration must be real.
-- an error. To debug this try debugmode(true);
って返されるんですよね
f(x,y)は1でやってます
0169132人目の素数さん
2009/07/18(土) 15:11:570170132人目の素数さん
2009/07/18(土) 15:18:43Maximaは積分範囲は実数にしてくださいと言っている。
negativeと答えるべき。
0171132人目の素数さん
2009/07/23(木) 12:31:050172132人目の素数さん
2009/07/24(金) 00:04:260173132人目の素数さん
2009/07/24(金) 00:11:400174132人目の素数さん
2009/07/24(金) 12:07:490175132人目の素数さん
2009/07/24(金) 12:47:17ぽんぽこさんの本以外でマトモな資料ってある?
ブルーバックスのはオレにはクソだった。
0176132人目の素数さん
2009/07/28(火) 05:51:560177132人目の素数さん
2009/07/29(水) 16:12:14translateのバグいつ治るんだろ
0178132人目の素数さん
2009/08/11(火) 16:37:44>>177
みたいなバグがないなら古いバージョンでも使ってみたい
0179132人目の素数さん
2009/08/12(水) 23:52:33solve(y=x*y+a,y);
0180132人目の素数さん
2009/08/27(木) 00:16:32遅くなりましたが、ありがとうございます。かなり助かりました。
0181132人目の素数さん
2009/08/28(金) 15:39:570182132人目の素数さん
2009/09/14(月) 02:48:02それと構造化言語しか使ったことないんですが、block([x,y], a,b,c)をつかうのでなくlisp風で書く(例えば階乗などを)とどうなるんでしょうか?
0183132人目の素数さん
2009/09/14(月) 23:07:28のように省略されているものを、すべて表示するためにはどうすればいいですか?
0184132人目の素数さん
2009/09/15(火) 01:03:44そういう表示をする実例(計算式)を出してくれ。
0185クリップボード
2009/09/15(火) 12:22:10set_display(ascii)ですべて表示できます。
元にはset_display(xml)で戻ります。
0186183
2009/09/15(火) 21:51:210187132人目の素数さん
2009/09/23(水) 11:11:08の計算をさせたいのですが、どう表記すればいいでしょうか。
sum(i(2*i-1)/3^i, i, 1, inf);
だと駄目っぽいんですよね…。
お願いします
0188132人目の素数さん
2009/09/23(水) 13:06:200189132人目の素数さん
2009/09/23(水) 13:56:16>>187 ではありませんが、勉強になりました。有り難うございます。
0190132人目の素数さん
2009/09/23(水) 13:56:31でセットですけど、
n = 30
だとどういう意味なんですか?
結果はブーリアンとして扱われるんですか?
0191132人目の素数さん
2009/09/24(木) 00:49:56ありがとうございます。
直接、infは駄目なんですね。
0192187,191
2009/09/24(木) 01:03:49i(2*i-1)
ではなく、
i*(2*i-1)
とするべきだったんですね。
0193132人目の素数さん
2009/09/25(金) 11:21:16使いたいんですが、ある式を、たとえば
sin(t)*d/dr+1/r*d/dt
とかって感じで表現できますか?
0194132人目の素数さん
2009/09/27(日) 22:31:46imaximaのことじゃなく、maximaの文法に沿ってインデントしてくれるモードです。
0195132人目の素数さん
2009/09/28(月) 22:24:160196132人目の素数さん
2009/09/29(火) 00:59:03とかってした場合の
x = a*b/y
みたいな解が出てくるのですが、
変数リストの文字をすべて定数に置き換えて表示させる方法ってありませんか?
上記の例だと簡単ですが、もっと式、変数の数が増えてくると
解けてるのかどうかの確認すらできません。
よろしくお願いします。
0197132人目の素数さん
2009/10/05(月) 15:02:050198132人目の素数さん
2009/10/27(火) 12:19:240199132人目の素数さん
2009/10/27(火) 13:32:23⊃ ttp://pc12.2ch.net/test/read.cgi/unix/1086016412/
0200132人目の素数さん
2009/11/20(金) 02:12:57xとg(x)をデータリスト(dat)に格納して
load(numericalio);
write_data(dat,"hoge.dat");
で書き出すことは分かったのですが格納の仕方がわかりません。
参考ページ
ttp://cosmo.phys.hirosaki-u.ac.jp/wiki.cgi/maxima?page=%BE%EF%C8%F9%CA%AC%CA%FD%C4%F8%BC%B0%A4%CE%BF%F4%C3%CD%B2%F2%CB%A1
dat:rk( x, x, 1, [t, 0, 2, 0.1] );の部分です。
宜しくお願いします。
0201115
2009/11/20(金) 22:44:39r(e,x):=at(e,x=1/x);
みたいにやる事になりそうです。
0202132人目の素数さん
2009/12/02(水) 22:44:30xml出力でテキスト・タイトル等が残せるのに気がついて、
更に日本語が使えると非常に便利だと思うんですが…
0203132人目の素数さん
2009/12/06(日) 19:10:26このときに変数を用いたのですが、それに変数に値を代入して計算を行うことができますか?
0204132人目の素数さん
2009/12/06(日) 22:23:11コマンドプロンプトの方は起動すると自動的に
(%i1) とでて、式を入力し、Enterを押すと計算が行われるのですが、
GUI操作の方であるwxMaxima 0.8.3を起動して文字を入力しても
(%i1)が出てきません。
自分で
(%i1) 計算式 Enter
を入力しても駄目です。
GUI上ではどのようにして計算式を入力すればいいのでしょうか?
0205132人目の素数さん
2009/12/06(日) 22:33:32スレ汚しすみません。
0206132人目の素数さん
2009/12/07(月) 18:14:50ってどうなんだろう
maximaから乗り換えたとかいう書き込みも時々みる
だけどmaximaのlispで関数書ける便利さは捨てれないなあ
0207132人目の素数さん
2009/12/12(土) 10:28:20maxima言語(?)のみで完結せずに、lispに頼ってるとこは、
あんまり美しくないなぁとか思ってるんですけど…駄目?
0208132人目の素数さん
2009/12/14(月) 10:33:45lisp の関数が呼び出せるようですが、xx-yy
のように - を含む関数の場合、呼び出す方法は
あるのでしょうか?
そのままかくと - が演算子として認識されてしまいます。
0209132人目の素数さん
2009/12/16(水) 07:36:130210132人目の素数さん
2009/12/17(木) 20:27:10とりあえず、一次不等式と円の内側を表す不等式 (x-a)^2 + (y-b)^b <= rなど)
を処理できるものを作ろうと思ってまつ。
Maximaでこれらの不等式制約の処理(交点を求めて利用するとか)できますか?
おねがいします。
0211132人目の素数さん
2009/12/23(水) 11:58:26バックスラッシュでエスケープするそうです。
ttp://maxima.sourceforge.net/docs/manual/en/maxima_3.html
>Hyphen -, asterisk *, or other special characters in Lisp symbols
>must be escaped by backslash \ where they appear in Maxima code.
>For example, the Lisp identifier *foo-bar* is written ?\*foo\-bar\* in
>Maxima.
0212132人目の素数さん
2009/12/25(金) 01:20:53うまくいきました。ありがとうございます。
マニュアルに載っていたんですね。
0213132人目の素数さん
2010/01/03(日) 03:07:15どのように書けばよいのでしょうか。
検索してみてもsave()が出てくるだけで,直接ファイルに書き出す方法を探しています。
0214132人目の素数さん
2010/01/04(月) 21:20:19with_stdout (f, expr_1, expr_2, expr_3, ...) は、どうでしょうか。
0215132人目の素数さん
2010/01/04(月) 21:35:03tex(exp(1), "foobaa.txt");
とか。
ttp://maxima.sourceforge.net/docs/manual/en/maxima_9.html
>destination may be an output stream or file name. When destination is
>a file name, tex appends its output to the file. The functions openw
>and opena create output streams.
0216132人目の素数さん
2010/01/08(金) 23:26:430217猫は淫獣 ◆ghclfYsc82
2010/01/18(月) 00:56:50★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
小沢先生、頑張って下さい。私は最後まで味方になります。
猫
0218132人目の素数さん
2010/01/25(月) 22:09:05( 3.14133*(10^25) * x^2 + 2.12412*(10^24) * x^3 + 2.12412*(10^23) * x )/ ( 6.124123*(10^23) * x^2 + 5.124612*(10^25) * x^3 + 4.124312*(10^24) * x )
といった風に、分子分母で明らかに通分出来そうな 10の指数が現れて、とても困っています。
これらを通分するにはどうすればよいのでしょうか?
どうかよろしくお願いします。
0219クリップボード
2010/01/30(土) 11:34:42分子分母を通分するには,cancellingの機能を有するrat,ratsimp,factor等の関数を
利用すればよい。
0220132人目の素数さん
2010/01/31(日) 17:00:33完全にリフォームしなおすか、さもなければ安楽死させてはどうだろうか?
0221132人目の素数さん
2010/02/01(月) 15:14:590222132人目の素数さん
2010/02/18(木) 17:59:58俺の逝くべき道が見えてきた
これから質問することが多々あると思うので
どうか宜しくお願いたもう
0223132人目の素数さん
2010/02/18(木) 19:56:30shikou: 10000$
mieta: 0$
for i: 1 thru shikou do(
x: random(9.0),
y: random(9.0),
if abs(x - y) < 1.0 then mieta: mieta + 1
)$
kakuritu: float(mieta / shikou)$
print("simulation=", kakuritu)$
print("theory=", float(17/81))$
とwxMaxima 0.8.3に打ち込んだんですけど
どうやってシミュレーションを始めたらいいんですか?
Start Animationとか書いてある三角形のマークはグレイになってて押せません
0224223
2010/02/18(木) 20:40:29wxMaximaの方じゃなくて
xmaximaの方にコピペするだけかよ・・・
てか、じゃあ、wxMaximaはなんのためにあるんだよ・・・
0225132人目の素数さん
2010/02/21(日) 19:50:38simulation=0.2097
(%i6)
theory=0.20987654320988
利点は、こっちのほうが数式が見やすいことかな
そんな俺も最初wxmaximaは敬遠していた
0227132人目の素数さん
2010/02/23(火) 15:00:04そのまま実行しているはずなんですが、下記のようなエラーが出ます:
Maxima encountered a Lisp error:
Error in MAPPLY [or a callee]: #2A((
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
:
延々と続く
:
-67725.542741090438
66649.000040410159 0.0))
is not of type STRING.
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
…二回試して二回とも同じ結果です。
次のプログラムが正しいか、どなたか見ていただけませんか?
0228227
2010/02/23(火) 15:03:31gn: 900;
ref: make_array(flonum, gn+1, gn+1)$
imf: make_array(flonum, gn+1, gn+1)$
x0: 0.5;
s0: 0.25;
s02: s0 ^ 2;
k0: 50 * %pi;
v: make_array(flonum, gn+1)$
vq: make_array(flonum, gn+1, gn+1)$
eps: 0.01 * 150 / gn;
del: 0.01 * 150 / gn;
for j: ?truncate(float(72 * gn / 150)) thru ?truncate(float(78 * gn / 150)) do
v[j]: float(2 * (50 * %pi) ^ 2)$
0229227
2010/02/23(火) 15:04:37ref[1,j]: float(cos(k0 * j * eps) * exp(- (j * eps - x0) ^ 2 / 2 / s02))$
for j: 1 thru gn do
imf[1,j]: float(sin(k0 * j * eps) * exp(- (j * eps - x0) ^ 2 / 2 / s02))$
for n: 2 thru gn do
ref[n,1]: float(cos(k0 * 1 * eps) * exp(- (1 * eps - x0) ^ 2 / 2 / s02))$
for n: 2 thru gn do
ref[n,2]: float(cos(k0 * 2 * eps) * exp(- (2 * eps - x0) ^ 2 / 2 / s02))$
for n: 2 thru gn do
imf[n,1]: float(sin(k0 * 1 * eps) * exp(- (1 * eps - x0) ^ 2 / 2 / s02))$
for n: 2 thru gn do
imf[n,2]: float(sin(k0 * 2 * eps) * exp(- (2 * eps - x0) ^ 2 / 2 / s02))$
lam: 2 * eps ^ 2 / del;
eps2: eps ^ 2;
0230227
2010/02/23(火) 15:08:24for j: 1 thru gn - 2 do (
ref[n+1,j+2]: float(
(lam * imf[n+1,j+1] + (eps2 * v[j+1] + 2) * ref[n+1,j+1]
- ref[n,j+2] - lam * imf[n,j+1] - (eps2 * v[j+1] - 2) * ref[n,j+1]
- ref[n,j]) / 2),
imf[n+1,j+2]: float(
(- lam * ref[n+1,j+1] + (eps2 * v[j+1] + 2) * imf[n+1,j+1]
- imf[n,j+2] - lam * ref[n,j+1] - (eps2 * v[j+1] - 2) * imf[n,j+1]
- imf[n,j]) / 2))$
for n: 1 thru gn do
for j: 1 thru gn - 2 do
vq[n,j+1]: float(
v[j+1]
- (sqrt(ref[n,j+2]^2 + imf[n,j+2]^2)
- 2 * sqrt(ref[n,j+1]^2 + imf[n,j+1]^2)
+ sqrt(ref[n,j]^2 + imf[n,j]^2))
/ sqrt(ref[n,j+1]^2 + imf[n,j+1]^2) / eps2)$
gvq(x,y) := float(vq[?round(y),?round(x)])$
plot3d(gvq, [x, 1, gn/1.5], [y, 1, gn/50],
[gnuplot_pm3d, false],
[gnuplot_preamble,
"set zrange [-50000:75000]; set view 75,300; set hidden3d"],
[grid, ?round(gn/1.5) - 1, ?round(gn/50) - 1])$
…ちなみに計算するのに自分のパソコン(64 bit, 2GHz, 4GB RAM, High-Performance Mode)で40分くらいかかりました。
0231132人目の素数さん
2010/02/23(火) 15:17:24コピペして実行させたら
エラーにならず↓こうなった
(%o2) 900
(%o5) 0.5
(%o6) 0.25
(%o7) 0.0625
(%o8) 50*%pi
(%o11) 0.0016666666666667
(%o12) 0.0016666666666667
(%o20) 0.0033333333333333
(%o21) 2.7777777777777783*10^-6
0232132人目の素数さん
2010/02/23(火) 15:21:270233227
2010/02/23(火) 16:31:04ありがとうございます & ご苦労様です
しばらく(40〜50分)お待ちくださいませ
0234227
2010/02/24(水) 10:39:14おはようございます
その後はどうなりましたでしょうか?
ちなみに自分のは
(%o2) 900
(%o5) 0.5
(%o6) 0.25
(%o7) 0.0625
(%o8) 50*%pi
(%o11) 0.0016666666666667
(%o12) 0.0016666666666667
(%o20) 0.0033333333333333
(%o21) 2.7777777777777783*10^-6
…が表示されるのも40分後です(それまではずっと計算中)
0235132人目の素数さん
2010/02/24(水) 22:50:02こっちのパソコンが非力なんで途中で断念しました
関係ないけど↓これ実行させても>>227と同じエラーメッセージが出ます
use_fast_arrays: true;
myarray: make_array(flonum, 5, 5);
f(x,y):=myarray[?round(x), ?round(y)];
plot3d(f, [x, 1, 4], [y, 1, 4]);
何なんでしょうね
0236227
2010/02/25(木) 08:44:18ありがとうございます。
こっちのパソコンでもそのエラーメッセージを確認できました。
Maxima encountered a Lisp error:
Error in MAPPLY [or a callee]: #2A(
(0.0 0.0 0.0 0.0 0.0)
(0.0 0.0 0.0 0.0 0.0)
(0.0 0.0 0.0 0.0 0.0)
(0.0 0.0 0.0 0.0 0.0)
(0.0 0.0 0.0 0.0 0.0))
is not of type STRING.
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
…ですね。不思議なことに、
キーワード「"Error in MAPPLY" "is not of type STRING."」でググると
このスレしか引っ掛かりません(!)。
ちょっと検索してみたのですが、もしかすると新種のバグかもしれませんね。
もう少し調べてみます。
0237227
2010/02/25(木) 09:01:48ttp://www.math.utexas.edu/pipermail/maxima/2007/009516.html
整数や浮動小数点を文字列として表示しようとすると出るエラーメッセージみたいですね。
でも、>>234さんのコードは浮動小数点のままですよね?
でも、↓によると
ttp://www.ma.utexas.edu/pipermail/maxima/2004/008517.html
なんか「explodeやfriendsを変えたときに付随するバグかもしれない」と言ってますね。
こういうのははっきりしないのは一番困りますね…。(-_-;)
0238132人目の素数さん
2010/02/26(金) 06:02:430239227
2010/02/26(金) 12:57:48Lispは分からんでもないしソースは読めるだろうけど('A`)マンドクセ
マセマティカ買える金があったら元々Maximaなんてインストしない
Maximaを修得したら移ろうかとは思っているけど
0240132人目の素数さん
2010/02/26(金) 22:34:11マセマティカの方が良い?
0241227
2010/02/26(金) 23:43:48(私が答えるのもなんですが)
使えるには使えるようですが、
もちろん、マセマティカの方が断然良いようです
Mathematicaには出来てMaximaには出来ないことがたくさんあります
∫(7t^2+t)^(1/3) dt がその一例です
それとMaximaは基本的にボランティアで成り立っているので
バグが出たときのサポートがありません
それで↑>>227-239のような問題が出てるのかもしれません
0242132人目の素数さん
2010/02/27(土) 01:30:58レスありがとう。
参考になりました。
0243132人目の素数さん
2010/02/27(土) 12:41:260244227
2010/02/27(土) 13:56:54似たような質問があったよ:
Mathematica vs. MACSYMA(質問)
http://mathforum.org/kb/message.jspa?messageID=3556098&tstart=0
Mathematica vs. MACSYMA(全部は読んでないけど、返答のうちの一つ)
http://mathforum.org/kb/message.jspa?messageID=3556104&tstart=0
この返答だと結局「(遅かれ速かれ?)どっちでも同じようなことは出来る」と言ってる。
実際はどうだろうね?
自分はMathematicaを使ったことないから断言は出来ないけど
Mathematicaの方が有料な分、ずっと上だと思うよ
ただ、この質問者はMathematicaはバグが多いとも言ってるね・・・
0245132人目の素数さん
2010/02/27(土) 20:35:39何しろ値段バカ高過ぎでユーザーが少なかったと思われるから。
でも安いHome Editionが出て1年。大分減ったかな、、。
0246132人目の素数さん
2010/02/27(土) 20:41:28ありがとう
Maximaで困ってないと、金を払ってまで試そうとは思わないな
0247132人目の素数さん
2010/02/27(土) 22:30:59中国製のパチモンだった無料から200元ぐらいだし。
0248132人目の素数さん
2010/02/27(土) 23:48:01そのパチモンのURLってどこ?
0249132人目の素数さん
2010/02/28(日) 00:46:31しかも32ビット版しかない模様
世の中、もっと早く64ビットに移行してくれよ・・・
0250132人目の素数さん
2010/02/28(日) 00:54:38安いってほどでもなく妥当なところかな。
たとえ5万でも使いこなせる奴はいないだろうから、個人向けの数学系ソフトでいいんじゃないか。
あとはTIの関数電卓(CASのやつでも3万ぐらい)かな。
数式処理じゃなくて数値計算のみなら統計のRしかない。
マキシマはGPLだから自分で改良できるけどそれほどのスキルがある奴はいないだろう。
0251132人目の素数さん
2010/02/28(日) 01:05:12統計のRもインストしてんだけど
Maximaとの住み分けがいまいち分からない
統計学 → R
解析学 → Maxima
…でいいの?
Maximaでは多変数の三次元グラフはお茶の子さいさいだけど
Rでは描けないよね?
Rはデータ打ち込んだだけで標準偏差を出してくれたのには感動した
あと行列も扱いやすい気がした
Maximaでも出来るのかはまだ知らない
0252132人目の素数さん
2010/02/28(日) 01:05:27凄いな。研究者か何かですか?
0253132人目の素数さん
2010/02/28(日) 01:24:35マキシマは数式処理に特化していて、メインは代数(アルジェブラ)ができるってこと(gimpより下レベル)。
マテマテカとか他の商用のもおなじ代数がメインだけど、特にマテマテカはさらに上で細かいところも手が入っていて機能もオールマイティ(photoshopレベル)。
この代数(CAS)はhttp://ja.wikipedia.org/wiki/%E6%95%B0%E5%BC%8F%E5%87%A6%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
簡単には言えば、
f[x_]:= sqrt[-x] - 3
f[-3]
#=>√[3]-3
と教科書と同じような感じで結果がでる。
数式処理じゃない、パソコンの普通のアプリではf[x]などと関数を定義できない。
プログラミング言語では関数を定義できるけどから上の簡単なのはできるし、マキシマやマテマテカなどと同機能だけど、数学特有の細かいところまではサポートしてない。
例えば、java,ruby,c#とかあるけど、上のf[-3]まではできるけど結果は √[3]-3でなく -1.267....と数値になる。
ここがCASの売りの部分。
0254132人目の素数さん
2010/02/28(日) 01:34:51ありがとうございます
いつかは欲しいな、Mathematica
0255132人目の素数さん
2010/02/28(日) 01:43:34上の説明と同じで関数f[x]を定義できるけど、結果が数値 -1.26...となるところがCASと大きく違う。
さらに式の書き方とか関数呼び出しの書き方(いわゆる言語の文法)もそれぞれ違うから慣れるしかない。
マキシマはかなり独特な構文で意味不明なのが多く、マテマテカは直感的で手が入っているから馴染みやすく、Rのscheme(lisp)構文は素直だろう。
ただ、プログラミング言語はC言語風の構文が当然だから、C,Java系から見るとどれも異質な感じがするし馴染み難い。
これらでプログラミングをやる(Rでちょっとこったプログラムを組む)ならもうC99,C#,java,ruby,javascriptの方が普通に便利だろう。
基本的に、集計してそれをグラフにしてデータを保存、ならかなり面倒(gui+グラフが鬼門)だけど、Rなら簡単。
つまりRは日常の数学計算に特化したアプリ(とプログラミング言語)ってところ(ただし代数だけはできない)。
上のgimp,photoshopと比べるならexcel+accessに近い。
0256132人目の素数さん
2010/02/28(日) 01:52:07どうせプログム板に縁が無いだろうし、まいいか。
0257132人目の素数さん
2010/02/28(日) 02:02:23ソフトの売りはそうだけど一言で言えば、代数であるとはシンボル処理として数式を扱え数式を変形できること。
カシオの関数電卓(自然表記)もある程度お奨めだけど、ルートとかπは擬似的に表示してるだけだし、
方程式求根はできるけどシンボル処理(CAS)ができるわけでないのでカシオの関数電卓は代数ソフトではない(TIの方はCASも可能)。
0258132人目の素数さん
2010/02/28(日) 03:47:37レキシカルスコープバインディングは scheme っぽいけど、ごまかしが多いから
ある意味便利、ある意味変な挙動するよなw
0259132人目の素数さん
2010/02/28(日) 07:34:10ありがとうございます
>上の説明と同じで関数f[x]を定義できるけど、結果が数値 -1.26...となるところがCASと大きく違う
なるほど、これでようやくMaximaとRの住み分けが出来るようになりました
(予想していた通り)しばらくはMaximaを中心に使っていくことが多くなりそうです
そのうち統計学も再勉強するんで、そのときはRが大活躍しそうです
…あーあ、それにしても大学のパソコンにはMathematicaもMapleもインストされてたのに使わなかった
今になって激しく後悔orz
0260132人目の素数さん
2010/02/28(日) 09:33:37学校のパソコンにMathematica入ってるけど
家でMaximaだからMathematicaの使いかたがわからん
Mathematicaが1980円だったら買って勉強したい
0261132人目の素数さん
2010/02/28(日) 21:58:48>>252
30万どころか、40万以上だろ?
どっちにしろ俺には∞に等しいが、、、。
0262132人目の素数さん
2010/02/28(日) 22:31:25295�jだろ
0263132人目の素数さん
2010/02/28(日) 23:03:37Home Editionは295ドルだが、日本では売ってくれないだろ?
理由が理解できんが。
0264132人目の素数さん
2010/03/01(月) 01:18:54423500円って書いてあった。
一体誰が買うんだ?
0265132人目の素数さん
2010/03/01(月) 07:16:05なんでHome Edition売らないんだろう?
やっぱり日本の代理店が邪魔してるのかな?
0266132人目の素数さん
2010/03/01(月) 12:04:53学生版は、昔は二万くらいで有った気がするが、今は無いの?
学生証で買えたが。
0267132人目の素数さん
2010/03/06(土) 19:10:51Mathematicaのシェアが下がっているように聞いた。日本のユーザーズ
グループも解散したとか聞いた。主に使っているのは非常に高度な
数学を必要とする数学者、理論物理学者、統計学者、金融関係ぐらいだろう?
0268132人目の素数さん
2010/03/06(土) 19:29:160269132人目の素数さん
2010/03/06(土) 21:34:30特に個人には。
0270132人目の素数さん
2010/03/06(土) 21:51:300271132人目の素数さん
2010/03/07(日) 07:08:490272132人目の素数さん
2010/03/07(日) 07:28:51綺麗なグラフを見てるとインスピレーションが湧くとかはあるかも知れないけど。
0273132人目の素数さん
2010/03/07(日) 07:38:16それとマテマテカ話はそろそろスレ違い
0274132人目の素数さん
2010/03/09(火) 14:26:21Mathematica は MACSYMAみたいにlispで拡張書けるの?
0275132人目の素数さん
2010/03/09(火) 14:31:15mapply1とかいう関数つかうといいらしいんだけど
使い方がわからない
0276132人目の素数さん
2010/03/09(火) 14:45:04柳下浩紀
さんのことなの?非線形拡散方程式って
専門は解析だね。つか、偏微分方程式?
0277132人目の素数さん
2010/03/09(火) 16:30:38dont work とか書いてある便利関数が結構ある
これが動きさえすればmaximaをlispの部品にできるのに
0278132人目の素数さん
2010/03/09(火) 18:50:27LispはComputer Programmingのクラスで再帰処理やったくらい
Prologならもっとマシに使えるんだが・・・
Lispもやっておこうかな
0279132人目の素数さん
2010/03/09(火) 23:33:57実際問題PG,SEならschemeすら不要だけど、代数・数学・計算屋ならschmeよりも最近落ち着いてきたハスケルの方を勧める。
0280278
2010/03/09(火) 23:48:00マ、マジレス?
Haskellは単に名前を聞いたことあるなぁ程度だから
http://ja.wikipedia.org/wiki/Haskell
を読んでみた
ほとんどの場合、型宣言が不要、っていうのが引っ掛かった、悪い意味で
あと、ソースコードと「批判」のところに書かれている複雑さについての問題を読んで
俺には向いてなさそうに思えた
0281132人目の素数さん
2010/03/09(火) 23:52:420282132人目の素数さん
2010/03/10(水) 00:44:36PHPみたいに型宣言なしで動く奴が怖くて仕方ない
0283132人目の素数さん
2010/03/10(水) 10:13:33文脈上型が明らかな部分に関しては記述が省略できるということで
型推論とか呼ばれてる
0284132人目の素数さん
2010/03/10(水) 12:52:31あるならlispから乗り換えるけど
0285132人目の素数さん
2010/03/10(水) 13:04:220286132人目の素数さん
2010/03/10(水) 13:13:08デフォルトの機能だけじゃどうせ足りなくなるから、結局中身をいじることになるからね
0287132人目の素数さん
2010/03/10(水) 13:21:19何を言ってやがる
俺たちが作るんだよ、そのHaskellで書かれた数式処理ソフトをな!!!!1!!
0288132人目の素数さん
2010/03/10(水) 13:26:17数式処理にはLispの方がいいんじゃないかと俺は思う
0289132人目の素数さん
2010/03/11(木) 05:42:110290132人目の素数さん
2010/03/13(土) 21:18:300291132人目の素数さん
2010/03/15(月) 00:23:54初めてLisp使ったときはびっくりしたよ
Cなら何十行と書かないといけない処理が
たったの三行くらいで済んじゃうんだからね
あの再帰処理の効率の良さが決め手なんじゃないか
とか素人考えで書いてみるテスト
0292132人目の素数さん
2010/03/15(月) 12:31:57短くかける理由の一つだろう。
0293132人目の素数さん
2010/03/19(金) 16:56:32axiomはpython(boot)とlispの混合
0294132人目の素数さん
2010/03/19(金) 21:26:28基礎が書いてある本ってありますか?
0295132人目の素数さん
2010/03/20(土) 18:29:50http://www.amazon.co.jp/dp/4785635363
とか?
Maximaに限らない、数式処理一般の話なら
そろそろスレチで内科医?
0296132人目の素数さん
2010/03/20(土) 20:12:10wxMaximaで、たとえばx*(x+1)とタイプして、メニューからSimplify->Expand Expressionと選んでみても、
"Not connected to Maxima!"というダイアログボックスが出て、動作しません。
また、コマンドラインで実行しようとしても、
Error in SYSTEM::SET-UP-TOP-LEVEL [or a callee]: :ROOT is an illegal pathname name.
Fast links are on: do (use-fast-links nil) for debugging
Broken at SYSTEM:STAT. Type :H for Help.
1 (Abort) Return to top level.
dbl:>>
このように出て、ここからいろいろ打っても動作しません。
windows付属のfirewallに例外指定しても、また(インターネットから切り離した上で)firewallそのものを停止してみてもうまくいきませんし、
(自分のパソコンにはfirewallはwindows付属のしか入っていません)
wxMaximaをDEPの例外に指定してもうまくいきません。
どうすればうまくいくようになるのでしょうか。
環境はwindows vistaで、maximaは5.20.1(3/20時点での最新版)です。
0297132人目の素数さん
2010/03/20(土) 23:08:38どうやら、その症状が出たのは今のところ君で二人目のようだな
残念ながら、もう一人の人も解決出来ずに諦めているようだ(>>830から):
ttp://www.unkar.org/read/science6.2ch.net/sim/1011102458/830
キーワードをmaxima "ROOT is an illegal pathname name."と全世界でググって
これしか引っ掛からないんだから、これ以上突っ込みようがなさそうだ・・・
0299132人目の素数さん
2010/03/30(火) 20:19:580300132人目の素数さん
2010/03/30(火) 22:07:09動きます。
0302132人目の素数さん
2010/04/16(金) 04:47:080303132人目の素数さん
2010/04/17(土) 16:57:2917,18日はダウンロードできないってことか?
0304132人目の素数さん
2010/04/20(火) 11:35:11os vista
maxima-5. 21. 0
動きます。
wxmaxima
日本語化されている。
0305132人目の素数さん
2010/05/10(月) 01:01:592x
にはなるの当たり前としまして
diff(y^2, x)
0
になるんですよ
y^2をxで微分して2yy'という結果が欲しいんですけど
Maximaにどう打ち込んだらいいのか分かりますか?
0306132人目の素数さん
2010/05/10(月) 02:31:250307305
2010/05/10(月) 08:59:41やっぱり出来たんですね!
超ありがとうございました!
0308132人目の素数さん
2010/05/19(水) 16:47:41をMaximaにどう打ち込んだらいいのか分かりますか?
もちろん、この場合は連続ではないので未定義と出てきてほしいのですが。
limit(limit((x * y) / (x^2 + y^2),x,0),y,0)
とlimitを二重にしたら、計算できてしまい、結果が0と返ってきます。
xからもyからも同時に(0,0)に近付くことは出来ませんか?
0309132人目の素数さん
2010/05/22(土) 17:48:14例として必ず数式処理システムが挙げられていたのだが、今はLispで書くのが
適当と思われるものはどんなものなんだろうか?
Lispの利点とされていた、再起的定義が可能、任意長の整数、
動的な変数の確保と回収、実行時にデータ型を識別する処理、
実行時にプログラム自身を変更して処理できる、などといった機能は、
今ではそれ程までにLispに特有なものでも何でもない。
むしろ、大規模ソフトウェアを書く上では、欠点の方が多いのでは?
CommonLispにしたから全て解消したわけでもないだろうし、所詮
ポインターをたぐりながら動く処理はキャッシュやパイプライン
処理を前提としたマシンの性能をがた落ちにするばかりだし。
0310132人目の素数さん
2010/05/22(土) 17:57:56今でもその子孫が存在するかそれ自体が稼動しているんですか?
0311132人目の素数さん
2010/05/24(月) 12:44:090312132人目の素数さん
2010/05/25(火) 11:32:33自分のスタイルで書かないと変換できないから
自分専用だな
0313132人目の素数さん
2010/05/30(日) 20:46:35論文にある最適化の式をそのまま入力して微分したりしたいのですが
0314132人目の素数さん
2010/05/30(日) 21:14:41あったとしてもかなりクセがあるつくりで、あなたが想像しているように簡単に実現できるとは限りませんし。
0315御手洗景子
2010/06/03(木) 15:43:19(1)f(x)=e^x
(2)f(x)=sin(x)
(3)f(x)=cos(x)
(4)f(x)=sqrt(1+n)
(5)f(x)=arctan(x)
(1),(2),(3)は微分ができて、n階微分の規則性も見えてきたのですが、(4)、(5)の微分ができないので教えてもらえませんか?
0316御手洗景子
2010/06/03(木) 15:44:40という問題なのですが、答えはf’(x)=0はx=u、f’’(x)=0はx=u-sqrt(v)、u+sqrt(v)となり、f’(x)は、(u, 1/√(2πv)) と出てきたのですが、f’’(x)の点の求め方がわからないのでおしえてもらえませんか?
0317御手洗景子
2010/06/03(木) 15:47:45という問題なのですが、実際にnにいろいろな数字をいれるとnがだんだん大きくなるにつれてeに近づきました。
またlim(1+1/n)^n=eになります。
なので
(1+1/n)^nを実際にいろいろなnについて計算すると、nが増えていくほど、eに近づき、すなわち、n→∞の極限値に近づいていくが、一致することはない。
で、答えになりますか、でも、「一致することはない。」が完全にいえないので少し悩んでいます。
0318132人目の素数さん
2010/06/03(木) 15:52:511957年生まれ?
0319132人目の素数さん
2010/06/03(木) 18:54:24(4)
f(x) = (1+x)^(1/2)
f'(x) = (1+x)^(-1/2)
f''(x) = (-1/2) (1+x)^(-3/2)
f'''(x) = (-1/2)(-3/2) (1+x)^(-5/2)
手で計算すると規則性が見えてきます。
>>316
f(x)を微分してf'(x)を求め、さらに微分してf''(x)を計算する。
最後にf''(x) = 0 とおいて、方程式を満たすxを求めます。
>>317
「n→無限大の極限で一致する。」
lim(1+1/n)^n
はネイピア数eの定義
0320132人目の素数さん
2010/06/06(日) 22:57:42スレ荒らし死ね
0321132人目の素数さん
2010/06/23(水) 12:53:08マキシマでA=(B*C)/(B+C)という式を
C=○○という形に変形したいときどうすればいいんでしょうか?
0322132人目の素数さん
2010/06/23(水) 15:46:290323132人目の素数さん
2010/06/27(日) 01:01:28とぼけないで下さい。Macsymaは当時としてはLispで書かれた大規模
システムだったのです。
0324132人目の素数さん
2010/06/27(日) 04:40:41アンカーのつけ方ぐらい勉強しろよクズ
0325132人目の素数さん
2010/06/27(日) 14:41:50議論のすり替えはしないでください
0326132人目の素数さん
2010/06/27(日) 17:52:28こうですかわかりません ><;
0327132人目の素数さん
2010/06/27(日) 23:22:56(%o327) こんなぐあいですか?
0328132人目の素数さん
2010/06/28(月) 11:57:01(1)FreeMatのGUIで微分方程式のパラメータを入力
(2)Maximaで解析。
(3)解析結果をCソースで出力する。←今ここ
(4)CプログラムをFreeMatに対応できるように文字変換
(5)その結果をGUIで表示
と言う感じで、(3)で行き詰まったんだけど、どうやってMaximaの解析結果
をCで出力できるか教えてください。
調べたところ、cform.lispというものを使えばいいらしいですが
教授はそれなしでもできるって・・・orz
0329132人目の素数さん
2010/06/29(火) 10:19:422a + a = 3a で
2*a + a ; → 3a になるのは分かるけど
(√2)a + (√2)a = 2(√2)a はどう記述するのですか?
また
√(2a) + √(2a) = 2√(2a) はどう記述するのですか?
0330132人目の素数さん
2010/06/29(火) 14:18:58sqrt(2*a)
or
(2*a)^(1/2)
0331132人目の素数さん
2010/06/29(火) 14:57:210332132人目の素数さん
2010/07/03(土) 01:59:30というようにやりたいのですが上手くいきません。
ordergreatやorderlessで添え字付の変数を引数にするにはどうしたらいいのでしょうか?
0333132人目の素数さん
2010/07/03(土) 11:16:35ならちゃんと表示されるけど、
integrate(2^(-x^2),x,-inf,+inf);
だと出てこない。
数学知らない人の代わりに考えてくれるという域には今一つだな。
0334132人目の素数さん
2010/07/03(土) 11:22:260335132人目の素数さん
2010/07/03(土) 11:49:010336132人目の素数さん
2010/07/03(土) 13:00:49これ、マティカでも出ないの?
0337132人目の素数さん
2010/07/03(土) 13:12:03http://integrals.wolfram.com/index.jsp
0338132人目の素数さん
2010/07/03(土) 13:36:47扱い方もわからない式をエスパーで解釈してくれるとか�_
0340132人目の素数さん
2010/07/03(土) 17:36:35なるほど、erfは誤差関数というのか。
不定積分なら、Maximaでも
integrate(2^(-x^2),x);
で出てきた。
教科書の数値だけ変えた問題が解けなかったりするのは、
人間的でほほえましいと言うべきか、機械的で人間の知性からほど遠いと言うべきか。
0341132人目の素数さん
2010/07/03(土) 18:00:47>機械的で人間の知性からほど遠いと言うべきか。
すぐ人はそういうことを言いたがる
0342132人目の素数さん
2010/07/04(日) 23:05:140343132人目の素数さん
2010/07/04(日) 23:25:240344132人目の素数さん
2010/07/04(日) 23:48:18微積分>積分から関数を指定して積分するときに、関数に%PIを含めると計算結果において%PIとπが混在して出てきてしまうのですが、統一して
出力する方法はありませんか?おそらく結果の%PIは自分が打ち込んだ関数に入っている%PIによるもので、πは計算過程から出てきたものかなとも思うのですが。
よろしくお願いします。
0345132人目の素数さん
2010/07/05(月) 00:01:09%piだったんですね。。失礼しました><
0346132人目の素数さん
2010/07/05(月) 13:09:48出てこないな。
等差数列の和の公式は実装されていないのか?
0347132人目の素数さん
2010/07/05(月) 18:18:36nusum(x,x,1,n);
と記述するぞょ
ちなみに
2乗
nusum(x^2,x,1,n);
3乗
nusum(x^3,x,1,n);
0348132人目の素数さん
2010/07/05(月) 18:47:43Thanx
http://www.bekkoame.ne.jp/~ponpoko/Math/maxima/maxima_16.html
> 関数: NUSUM (exp,var,low,high)
> R.W.Gosperによる決定手順を用いたvarに対するexpの不定和を計算する。
> 式expと潜在的な解はn次の羃乗、階乗、二項係数、そして有理関数の積
> として表現可能なものでなければならない。"定和"と"不定和"と云う言葉は、
> "定積分"と"不定積分"の類似として用いる。不定和を取るとは、
> 変数の複数の区間、例えば0からinfへと云ったものでは無く、
> その上での和に対する近い公式を与える事を意味する。
> それ故、二項級数の一般的な部分和に対しては公式が存在しない為、
> NUSUMは使えない。
sumにはまた別の使い方があるんだろう。
(学生時代には、Σの束ね直ししかしたこと無かったけど、そういう計算するのかな。)
0349132人目の素数さん
2010/07/05(月) 19:08:410351132人目の素数さん
2010/07/05(月) 19:43:56anarchy golf のときは for のかわりに使ってる。
よぶんな計算するわけだけど、短いから。
(%i57) sum(print(i),i,1,3);
1
2
3
(%o57) 6
0352132人目の素数さん
2010/07/06(火) 00:51:52Σ [k=1,l] k = l(l+1) / 2 で
Σ [l=1,m] { Σ [k=1,l] k } = m(m+1)(m+2) / 6 を導け
みたいな問題か?
(十分高校数学レヴェルだから
どこぞの大学入試で出題されるかもしれん…)
0353132人目の素数さん
2010/07/06(火) 19:26:31E((x-E(x))^2)=E(x^2)-E(x)^2
みたいなのを思っていた。
問題を解くよりも、教科書の記述を確かめながら読み進めるほうに興味がある。
放送大学の教科書『数理ファイナンス』を計算過程を確かめながら読みすすめれば嬉しい。
サイモンとニューウェルが、"Logic Theorist"を用いて
"Principia Mathematica"の論理展開をたどっていった話にあこがれる。
0354132人目の素数さん
2010/07/06(火) 20:01:13『数学とコンピュータ』で解説していた MuPAD を使いたいと思っていたのだけど
今は有料になっていて、どうやら使用できないようだ
それゆえ、今は Maxima を使っている
放送大学の MuPAD の解説通りとはいかないけど
そこそこ使える
0355132人目の素数さん
2010/07/06(火) 23:06:58学生ではない。
放送を視聴したり教科書を読むだけのポピュラーサイエンス愛好者。
歯が立たないと思えば止める。
『はじめてのMaxima』を読んでみているけど、
群とか順序とかlambdaとかの段階でちょっとキビしいと感じる。
長岡亮介先生のMuPADの話も『数理ファイナンス』(こっちは津野義道先生)も、
そこまで抽象的な話題ではなかった気がする。
MuPAD、Mathematicaのような商用システムの教科書見て、
使い方のイメージをつかんだ方がよいのかも。
0356132人目の素数さん
2010/07/07(水) 02:28:56さよか
0357132人目の素数さん
2010/07/07(水) 09:55:52C変換するの自分用に作ったのは持ってるけど公開する気はないわ
ECLでも使えばいいんじゃないかな
fortranに変換して出力できるから
それを書き換えてもいいんじゃないかな
0358132人目の素数さん
2010/07/07(水) 09:57:13solve(A.x=b,x)
0359132人目の素数さん
2010/07/07(水) 10:10:08invert(A).b
にしなさい
0360132人目の素数さん
2010/07/07(水) 10:19:55solve([A.x+(a.B.A.b).y=0,x.x+y.y=1 ],[x,y])
みたいなのは無理なの?
0361132人目の素数さん
2010/07/08(木) 04:35:53関数内でnewcontextもできない?
0362132人目の素数さん
2010/07/08(木) 13:20:54http://d.hatena.ne.jp/niitsuma/20080325/1278561405
0363132人目の素数さん
2010/07/08(木) 23:12:040364132人目の素数さん
2010/07/09(金) 00:20:120365132人目の素数さん
2010/07/09(金) 09:28:050366名無しさん@そうだ選挙に行こう
2010/07/10(土) 22:52:100367名無しさん@そうだ選挙に行こう
2010/07/11(日) 01:01:060368名無しさん@そうだ選挙に行こう
2010/07/11(日) 17:02:300369132人目の素数さん
2010/07/19(月) 11:39:370370132人目の素数さん
2010/07/19(月) 11:42:10のことか?
0371132人目の素数さん
2010/07/19(月) 18:42:060372クリップボード
2010/07/19(月) 21:58:59で出来る。
0373132人目の素数さん
2010/07/19(月) 22:23:50なにか別の関数があるのかと、違う方向をさがしてました。
しかし、こりゃあmaximaの層で使うにもLISPを知らないとダメなのか。
0374132人目の素数さん
2010/07/20(火) 07:09:14とか
nusum(y^i,i,1,n);
なら当然級数の閉形式が表示されるのですが。
nusum(x^i+y^i,i,1,n);
にすると、エラーになってしまいます。
上記の問題だと
nusum(x^i,i,1,n) + nusum(y^i,i,1,n);
でいいじゃんと思われるかもしれないけど、
解いている問題の都合上一つのnusumで表現したいのです。
エラーの原因や解決方法をわかる方いますか?
0375132人目の素数さん
2010/07/20(火) 23:02:09simpsum:true;
sum(x^i+y^i,i,1,n);
こうすれば結果は出力される
理由はわからないけど
0376132人目の素数さん
2010/07/22(木) 11:05:24自分でlisp使って実装しないとだめなのかねえ
0377132人目の素数さん
2010/07/22(木) 11:14:56declare(f,linear);
f(a*y,z);
=>f(1,z)*a*y
0378クリップボード
2010/07/22(木) 20:39:48nusum は超幾何級数の和を求めるための、Gosper's アルゴリズムを使用している。
各項は超幾何関数であることが必要である。すなわち、第n項をa(n)とするとa(n+1)/a(n)が
nの有理関数であることが必要である。
本問の場合、(x^(i+1)+y^(i+1))/(x^i+y^i)はiに関し有理関数でないのでnusumは
適用できないと考えられる。
なお、Gosper's アルゴリズムは Ralph William Gosper,Jr(Bill Gosperとして知られている。)にちなんだものです。
Bill Gosperは興味深い人です。
http://en.wikipedia.org/wiki/Bill_Gosper
0379132人目の素数さん
2010/07/26(月) 02:30:07どの本でテンソルの勉強すればいいですか?
0380374
2010/07/26(月) 08:03:30>>375
simpsumについても調べさせていただきました。
解決方法を教えてくださりありがとうございました。
>>378
Gosper's アルゴリズムというものを使っている
という話は伺ってましたが、そのアルゴリズムに必要な要件までは
確認していませんでした。超幾何関数でなきゃだめなのですね。
わかりやすい補足説明も加えていただきありがとうございました。
0381132人目の素数さん
2010/07/27(火) 10:47:560382132人目の素数さん
2010/07/29(木) 12:05:13itensorも実際の問題扱うにはいろいろ機能不足じゃない?
■ このスレッドは過去ログ倉庫に格納されています