【数式処理システム】 Maxima 【Common Lisp】

このエントリーをはてなブックマークに追加
1132人目の素数さん
フリーの数式処理システムMaximaに関するスレです。
Maximaは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/
2132人目の素数さん:2008/09/02(火) 16:41:48
>>1
スレ立て乙です
3132人目の素数さん:2008/09/02(火) 17:40:31
(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/

おまけ
Maxima 普及委員会
http://www.cymric.jp/
4132人目の素数さん:2008/09/02(火) 18:52:26
まずは基本から教えてくれ
必須コマンドと使用例よろすく
5132人目の素数さん:2008/09/04(木) 19:26:32
Rとの連携はlisp経由でできるんでしょ?
matlabは?
6132人目の素数さん:2008/09/04(木) 19:28:45
Lispでプログラム書く気になれば何とでも連携できるんじゃね?
7132人目の素数さん:2008/09/06(土) 23:06:36
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < MAXCELまだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |   日 立   |/
8132人目の素数さん:2008/09/07(日) 02:45:58
9132人目の素数さん:2008/09/08(月) 08:41:56
懐かしいヌレだ
10132人目の素数さん:2008/09/13(土) 01:05:28
ほしゅ
11132人目の素数さん:2008/09/17(水) 17:12:04
5.16.3をsourceからmakeしたらmake checkでベッセル関数の値が期待したのと違う値になるという警告でる
12132人目の素数さん:2008/09/17(水) 17:45:32
age
13132人目の素数さん:2008/09/17(水) 18:59:04
um
14132人目の素数さん:2008/09/22(月) 23:08:59
maxima-5.16.3.exeがウィルスに感染してたようなんだけど、誤作動かな?
ちなみにアンチウィルスソフトはca インターネットセキュリティ
15132人目の素数さん:2008/09/23(火) 21:13:28
保守
16132人目の素数さん:2008/09/23(火) 21:19:18
f(x)をx>=0ではx^2、x<0ではx^3みたいな範囲によって変わる関数に定義して、
それをグラフにプロットするにはどうすればよいのでしょうか
17132人目の素数さん:2008/09/23(火) 21:36:58
>>16
f(x):=if x >= 0 then x^2 else x^3;
plot2d(f(x),[x,-1,1]);
18132人目の素数さん:2008/09/23(火) 22:06:10
>>17
できないかと思ったけど最新verにしたらできました
ありがとうございます
19132人目の素数さん:2008/09/27(土) 03:01:41
imaximaの1.0bでinline plotできるって聞いたんでやってみたんだけど、
これ結構重いな
20132人目の素数さん:2008/09/28(日) 11:43:14
msysでソースをコンパイル出来るのでしょうか?
USBメモリにいれて持歩きたいんですけど
21132人目の素数さん:2008/09/30(火) 06:38:53
wxmaxima のボタンを日本語にしてみたんですが, 誰かやってましたか?

ttp://www.cs.tohoku-gakuin.ac.jp/~otofuji/ETC/wxMaxima/
22132人目の素数さん:2008/09/30(火) 07:28:53
>>20
msysってなんや?
23132人目の素数さん:2008/09/30(火) 12:17:14
ぐぐれかす
24132人目の素数さん:2008/09/30(火) 12:19:33
>>23
おしえるためにきいてるからぐぐるきなんてないよ
ボケ
だったら、自分でやれ
25132人目の素数さん:2008/09/30(火) 12:26:38
>>24
おまえの敵は一人じゃないぞww
26132人目の素数さん:2008/09/30(火) 12:27:36
>>24
判らないなら教えなくても良いのだよ
27132人目の素数さん:2008/09/30(火) 13:25:26
>>26,27
だったら、おまえら協力してやれよ。下衆には関わるつもりないから。
28132人目の素数さん:2008/09/30(火) 13:51:20
>>27
関わるなよw
29132人目の素数さん:2008/09/30(火) 13:51:59
つか、そもそも MSYS 知らん奴に答えられる問題じゃなかろうにw
3020:2008/09/30(火) 20:20:47
仮想レジストリソフトなるもので自己解決しましたのでもういいです
31132人目の素数さん:2008/10/13(月) 19:24:10
imaximaをインストールできずに困っております。
ご教示いただければ、幸甚です。

(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のどこをいじれば良いのかわかりません。そもそもこのライブラリがどこで読み込まれるべきかも併せて、ご教示いただければ幸甚です。
32132人目の素数さん:2008/10/13(月) 20:25:46
mixiとのダブルポストご苦労様w
33132人目の素数さん:2008/10/14(火) 07:05:08
2chのシミュ板とダブルポストなら、結構気にしますが、mixiとならば、(一応)クローズド環境と完全なオープン環境との違いですので、ダブルポスト可ではないかと私が判断しました。
3431:2008/10/15(水) 21:03:35
何とか動きましたので、mixiの方に内容を記載しました。
35132人目の素数さん:2008/10/25(土) 15:49:50
age
36132人目の素数さん:2008/11/15(土) 00:20:40
maximaってフーリエ変換できますか?
37132人目の素数さん:2008/11/15(土) 01:00:14
できないわけないだろう
38132人目の素数さん:2008/11/15(土) 11:55:17
maximaには標準でフーリエ変換が用意されてますか?

自分で変換の式かかないとダメ?
39132人目の素数さん:2008/11/15(土) 17:09:19
無いわけないだろう
40132人目の素数さん:2008/11/16(日) 14:56:35
開発がなんか最近低調になっちゃったみたいだね。そろそろ乗り換え時期かな
41132人目の素数さん:2008/11/16(日) 15:07:08
何に乗り換えるん?
42132人目の素数さん:2008/11/16(日) 15:28:50
開発者が死んでたのか・・・
43132人目の素数さん:2008/11/16(日) 15:31:51
それはそんな最近の話じゃないぞ。
ML見てると最近また活発だという印象。
44132人目の素数さん:2008/11/22(土) 17:59:52
12月13日(土)に福岡大学で開催されるオープンソースカンファレンス2008 Fukuoka
において、「はじめてのMaxima」の著者、横田博史さんによるセミナーが予定されています。
お近くの方は是非お越しください。

http://www.ospn.jp/osc2008-fukuoka/

関連情報
http://www.knoppix-math.org/wiki/index.php?OSC2008Fukuoka
45132人目の素数さん:2008/11/22(土) 22:18:35
maximaを使って片対数グラフを作成したいのですが,
方法が分からずに困っております.
どなた様かご教授願えませんでしょうか.
46132人目の素数さん:2008/11/23(日) 04:17:28
最後の出力結果のLogをとれば良いだけじゃね?
47132人目の素数さん:2008/12/07(日) 13:49:41
100変数の関数を
x1,x3,x5...についてのみ微分したい
という場合はx1,x2..を全部手で書くしかないのでしょうか
48132人目の素数さん:2008/12/07(日) 15:38:43
書くプログラムを書けばよいのでは?
49132人目の素数さん:2008/12/08(月) 03:10:33
wxMaximaの使い方がやっとわかった
SHIFT+ENTERだったのね
50132人目の素数さん:2008/12/08(月) 23:49:22
>>45
2D plotでgnuplotを選んでオプション欄に
set logscale x
あるいは
set logscale y
51132人目の素数さん:2008/12/13(土) 00:58:35 BE:1748874479-2BP(808)
>>49
うん。
でも、勝手に挿入される閉じカッコを無視して式末へジャンプする方法がわからないんだ。
_| ̄|○
52132人目の素数さん:2008/12/13(土) 01:40:37
∫[0.2π]log(5-2cosx)dxを計算しようとして
integrate(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?と返ってきたのだがどういうことです
53132人目の素数さん:2008/12/13(土) 02:45:12
4*sin(x)^2+4*cos(x)^2-4*cos(x)+1 は正なのか負なのか?と聞いておられるのだ
54132人目の素数さん:2008/12/17(水) 02:15:13
%rというのが出てきたんですが、これって何の定数ですか?
55132人目の素数さん:2008/12/18(木) 22:30:04
>>1
待望のMaximaスレッドを建ててくれてありがとう!
56132人目の素数さん:2008/12/21(日) 02:07:35
sqrt(2)*sqrt(3) の結果として √6 が欲しいんだけど、
√2√3 になってしまう・・・。

√6にするにはどうしたらいいんだ ofz

57132人目の素数さん:2008/12/21(日) 02:10:25
sqrt(2*3)
5856:2008/12/21(日) 02:20:50
>>57
ありがとう。
検索したら、見つかった。

sqrt(2)*sqrt(3)
rootscontract(%)

これで√6 になる。
59132人目の素数さん:2008/12/21(日) 18:41:24
a*x+a+b*x+b
があって、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(%)を使えば簡単に因数分解できるのは知ってますが、手で
計算するように順を追って処理したいのです。
6059:2008/12/21(日) 20:47:34
また自己レス
f1 : 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
61132人目の素数さん:2008/12/22(月) 00:29:22
>>60
Mathematica使えば?
6259:2008/12/22(月) 01:15:32
>>61
年収400万の末端工員の俺にそんなこと言われても困るんだが orz

貧乏で馬鹿だけど、少しは勉強しようと思って始めたんだ。
そのへん察してくれ。
63132人目の素数さん:2008/12/22(月) 01:52:44
紙と鉛筆がお勧め
64132人目の素数さん:2008/12/22(月) 01:55:22
Maximaは仕事で使っていいんだっけ?ライセンス的に
65132人目の素数さん:2008/12/22(月) 01:56:29
うんいいよ
66132人目の素数さん:2008/12/22(月) 14:52:32
遊びで使ってもいいんだよ
6759:2008/12/23(火) 16:37:56
>>63
俺、計算中によく±間違えたり、いつの間にか項が
増えたり減ったりするから紙は合わない。

wmMaxima を最新版にアップグレードしたら使い方が大分違ってて
あわてた orz
適応能力が低い俺にとっては結構迷惑な話だw

さて、今日はどんな計算をして遊ぼうかな・・・。
6859:2008/12/23(火) 23:32:27
また躓いた orz
チェーンルールが再現できない
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

教えてください・・・。
69132人目の素数さん:2008/12/27(土) 17:40:32
e^xをMaximaで計算させようとして limit((1+x/n)^n,n,inf) としたのですが
Is x positive, negative, or zero?
と言われてしまいます。こういった場合、どうすればいいのでしょうか?
どうやってxがゼロだとか負だとか正だとか指示すればいいのでしょうか?
というか、ある程度のパターン数までは自動で場合分けやってくれないんですかね?
70132人目の素数さん:2008/12/27(土) 18:14:47
positive;
71132人目の素数さん:2008/12/27(土) 18:20:09
3パターンしかなくてしかもすべて結果が同じなんだからスルーしてほしいよ・・・
72132人目の素数さん:2008/12/27(土) 18:29:31
いちいち対話的に聞いてくるんじゃなくて
\{ 1/x (x=0)
∞ (x≠0)
みたいな感じで場合分け済みの結果を出してくれるとありがたいね
73132人目の素数さん:2009/01/02(金) 15:23:36
Maximaのlimit計算はあまり賢くない
Is x-1 positive, negative, or zero?pos;
Is x-2 positive, negative, or zero?pos;
Is x-3 positive, negative, or zero?pos;
・・・
みたいなことになる場合も多々あるw
74132人目の素数さん:2009/01/03(土) 00:56:24
0から2πで積分しようとしてるのにIs x-π positive, negative, or zero?とかきかれても困る
75132人目の素数さん:2009/01/03(土) 19:24:18
>>74
0からπ、πから2πというふうに2回に分けて計算しろということだろう
76132人目の素数さん:2009/01/04(日) 01:13:17
積分区間をわざわざ分けるのか。よく分からん
77132人目の素数さん:2009/01/14(水) 12:11:03
eclで動くということはcから呼べるの?
78132人目の素数さん:2009/01/18(日) 11:47:49
>>69
assume(x>0);
してから
limit((1+x/n)^n,n,inf);
では駄目?
79132人目の素数さん:2009/01/28(水) 13:52:25
>>31
mixi見れないのでここに書いてもらえませんか?
80132人目の素数さん:2009/01/28(水) 20:55:22
「PDAで数式処理してる奴いる?」
http://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
81132人目の素数さん:2009/01/30(金) 02:39:33
age
82132人目の素数さん:2009/02/01(日) 00:07:26
>>31

(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パッケージに変換しようとしましたけど、なかなかうまくいかないものです。
8379:2009/02/02(月) 16:01:22
ありがとうございます
84132人目の素数さん:2009/02/06(金) 15:43:27
maximaの内部表現
(MLIST SIMP) ((MPLUS SIMP) $X ((MTIMES SIMP) 3 $Y)))
を普通のlispの表現
(+ x ( * 3 y))
に変換する関数はないのでしょうか
85132人目の素数さん:2009/02/06(金) 22:31:00
maximaのグラフ(gnuplot)をpsやeps,tgifなどの諸形式で保存したいのですが、
可能ですか?
86132人目の素数さん:2009/02/07(土) 08:45:29
>>85
たとえばこれで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"])$
87132人目の素数さん:2009/02/08(日) 09:20:15
>>84
trans4.lisp

tr-lisp->lisp
がそれっぽく見えるけどよくわからない
88132人目の素数さん:2009/02/16(月) 14:50:33
デルタ関数を作りたいのですが、Lispが出来ません。
作ってくれる人はいませんか?
89132人目の素数さん:2009/02/20(金) 14:55:32
行列のsvdがないみたいなのですが
自分で作るしかないのでしょうか
90132人目の素数さん:2009/02/20(金) 16:16:29
plot3dを使って直線l: x=2y=z のグラフを表示させたいのですが、

plot3d([[x, 2*y]], [x,-5,5], [y,-5,5]);

としても、うまくいきません。教えてください。
91132人目の素数さん:2009/02/20(金) 18:01:13
92132人目の素数さん:2009/02/24(火) 00:00:18
>>89
dgesvd()は?
93132人目の素数さん:2009/02/24(火) 22:17:57
maxima-5.17.0をダウソ、使い方をググルもそもそもInput欄などない。
はい、そこで終了。
94132人目の素数さん:2009/02/25(水) 15:08:39
>>92
linearalgパッケージが壊れているのか
うちでは読み込めない
95132人目の素数さん:2009/02/26(木) 08:14:44
>>94
間違った
load(lapack)が動かなかった
しかし最新版にしたら動いた
96132人目の素数さん:2009/03/05(木) 17:21:50
Maxima 5.17.1 を使っています。(WinXP)
・ 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

こういうものなんですか? 以前は出来たような記憶があるんですが。
有効数字の桁数を指定するには、どうしたらいいのでしょうか。
97132人目の素数さん:2009/03/06(金) 19:13:40
お!Maximaスレあったのか
シミュ板には無くなってるからもう無いのかと思ったわ

>>96
fpprintprec : 6$
fpprecは内部で計算する桁数で、表示する桁数はfpprintprec
9896:2009/03/06(金) 20:00:12
>>97
ありがとうございました。やってみました。
(%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 なのかー。
9998:2009/03/06(金) 20:08:33
(%i1) fpprintprec;
(%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
ナンかヘンです。
100132人目の素数さん:2009/03/06(金) 20:54:58
>>98
どうヘンなのか言ってくれないと答えようがない
マニュアルによるとfpprintprecはbigfloat型数値のための変数となってるが
これで解決するか?

x:1/3;for i:2 thru 16 do block([],fpprintprec:i,print(i," ",float(x)," ",bfloat(x)));
101132人目の素数さん:2009/03/06(金) 23:40:18
>>100
ありがとうございます。
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・・」これだって、そうなんですが。
102101:2009/03/06(金) 23:52:01
言い忘れです。
(%i14) x=2/3 $ fpprintprec : 4 $ float(x);
(%o16)  0.67
「0.67」って4文字だ、と言い張るのでしょうか。
103101:2009/03/06(金) 23:58:43
MAXIMA は数式処理プログラムであるからして、数値演算は2の次3の次、
というのはわかります。
しかし、近似多項式の演算とかにも使いたいのです。つまり多項式を想定し、
数値ペアを与えて、solve で各次の係数を求めたりする用途です。
結果をうまく丸めてくれないと、ちょっと困ります。
104132人目の素数さん:2009/03/07(土) 00:53:37
>>101-103
疲れる人だな
Maximaなんかやめて、Octaveを調べた方がいいと思うわ

>bfloat でなく、float 型の方に注目しています。
せっかくfpprintprecはbigfloat型数値のための変数と書いたのに・・
マニュアル読んでないだろ
105132人目の素数さん:2009/03/07(土) 08:53:18
>>104
ありがとうございます。
説明書のキーワード検索機能が弱いように思います。
bfloat にしても丸め方がおかしい。>>101
fpprintprec が、なぜ float の表示桁数に影響するのか。>>101

Option → Preferences でフォントサイズを指定 (Save Preferences) しても、
その時は有効なのに、次回起動したときはディフォールトに戻ってしまう。>>96

さようなら。
106132人目の素数さん:2009/03/09(月) 11:55:55
to_lisp()
してから浮動小数演算してみるとlispのデフォルト浮動小数計算と違うのが動いてるのがわかる
107132人目の素数さん:2009/03/11(水) 04:08:48
>>101
その bfloat のヤツ。小中学生の頃から、そんな書き方をしてはいけません!
と言われて育ったぜ。
108132人目の素数さん:2009/03/11(水) 04:19:28
カシオ計算機とか、インテル・マイクロソフトの数値演算は
さすがにスゴイぞ。文句のつけようがないほどやってる。
109132人目の素数さん:2009/03/11(水) 04:21:48
ガウスさんだっけ。数値演算ガンガンやって・・
数値演算をバカにしては、なりません。
110132人目の素数さん:2009/03/11(水) 04:37:37
http://www7b.biglobe.ne.jp/~river_r/alcan/index.html
多桁演算、やってみてます。
111132人目の素数さん:2009/03/11(水) 04:52:02
>>110
実は C で多桁演算プログラムを書いて、うわ、間違ってる、とか
やってた記憶があります。人間って間違えるものなのだな。
今ではそれほど後悔していない。
112132人目の素数さん:2009/03/11(水) 04:59:34
どうやって間違いを見つけたか。e の計算とかπの計算をやらかすのさ。
100万桁だって同じはずダロ。違うとしたら、たぶんオレが間違い。
113132人目の素数さん:2009/03/11(水) 06:47:02
シュリニヴァーサ・ラマヌジャン(Srinivasa Aiyangar Ramanujan、1887年12月22日 - 1920年4月26日)はインドの数学者。
すげ。
114132人目の素数さん:2009/03/11(水) 08:29:26
fpprintprec周りの話が、MLでも出てましたね。
あと、
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通りではないけど。
115132人目の素数さん:2009/03/25(水) 01:19:15
ev(e, x:1/x)
みたいなのを関数化しようとして
f(e, x):=ev(e, x:1/x);
と定義してもうまくいきません。どうすればいいのでしょう?
116盛り上げたい:2009/03/25(水) 08:26:34
:=では引数は評価されないので
defineを使えばいけるんじゃね?
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))
てな感じのイメージ
117115:2009/03/25(水) 20:32:45
>>116
f(x)→f(1/x)みたいな変換をする為に、
ev(f(x), x:1/x)でうまくいきそうなのですが、これを関数化するとこで
つまずいてます。

f(x)として与える式の中に、xが全て陽(explicit)に現れてるのなら、
多分、ev()を使わずとも、subst()でx→1/xと置換すればいいのだと思うのですが
(ちょっと自信が無いです)。
118盛り上げたい:2009/03/25(水) 21:17:41
それならお望みのものはこれだな
reciprocal(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]);

高階関数で調べると幸せになれる
119132人目の素数さん:2009/04/24(金) 06:01:37
ほっしゅ
120132人目の素数さん:2009/04/24(金) 11:34:46
対数正規分布関数(変数t,パラメータμ,σ)を区間[0,t]で積分して得られる関数に対して実験データを非線形フィットさせてパラメータを決定したいのですが、
手持ちのソフトでは難しく、うまくいきません。
アルゴリズムとしてはlevenberg-marquardt法を用いようと思っているのですが、
maximaではこういったことは可能でしょうか?

質問わかりづらかったら申し訳ありません。
121132人目の素数さん:2009/05/09(土) 17:42:46
Windows7で動かない。 orz
勇んでVistaから乗り換えた俺涙目wwww
122132人目の素数さん:2009/05/11(月) 17:00:39
インストールしたのは5.18.2なんですが、開いたwxMaximaには0.8.2と表示されます。
この、0.8.2って何の意味なんですか?
Maxima初心者なので教えてください。よろしくお願いします。
123132人目の素数さん:2009/05/11(月) 17:38:28
maximaが本体でwxMaximaはGUI
124132人目の素数さん:2009/05/16(土) 20:44:46
保守
125132人目の素数さん:2009/05/19(火) 08:23:55
maximaでは演算子はどう表現するのでしょうか?

たとえば、量子力学で頻繁に使う昇降演算子l_+はつぎの性質を持ちます。

l_+ Y[l,m] = [(l-m)*(l+m+1)]^0.5 * Y[l,m+1]

ただし、Y[l,m]は球面調和関数

昇降演算子に限らず、自分で演算子を定義し、使用する方法が知りたいです
126132人目の素数さん:2009/05/19(火) 08:39:44
powを演算子化したサンプル
infix("pow",100,120)$(a pow b):=a^b$a pow b pow c;

100とか120ってのは左と右への束縛力(結合性みたいなもの)を表す(maxは200)
単項演算子ならinfixではなくprefixやpostfixを使う

あまり賢くないので元の式の意味がわからんが適当に改良してみてくれ
127132人目の素数さん:2009/05/19(火) 20:02:57
ありがとうございます。

128132人目の素数さん:2009/05/23(土) 23:22:00
関数を返す関数はどう記述されますか?

g(x)を受け取ると、g(x-1)を返すf(x)
f(g(x)) := g(x-1);
のような感じです。

もしかすると、lispを勉強しないと駄目ですかね
129132人目の素数さん: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)
130132人目の素数さん:2009/05/29(金) 12:32:21
ベクトルの外積をするために
load(vect);
してから
cross(v1,v2)
としても外積がでないのですが
何か間違っているのでしょうか
131132人目の素数さん:2009/05/29(金) 18:11:31
matrixをlistに変換する関数はないのでしょうか

listに対するtransposeはないのでしょうか
132132人目の素数さん:2009/05/30(土) 14:49:07
>>130
自分で定義する

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] ];
133132人目の素数さん:2009/05/31(日) 12:27:13
maximaのfactorの出力結果ってアクセス出来ないのでしょうか
例えばfactor(84);%[1]などとやってもうまくいきません

メビウス関数を定義したくて
「平方数で割り切れるかの判定」を、
素因数分解の結果を使って行おうと思ったのですが・・
それか、他になにか良い代替案はありますかね
134132人目の素数さん:2009/06/01(月) 05:17:45
load("vect")
するとmatrixの掛け算で変なエラーが出ることないないですか?
nxnの行列と1xn のベクトルの掛け算で
行列のサイズ合わないよ
とか
135クリップボード:2009/06/01(月) 16:29:52
>>133
part関数を使ったらどうでしょうか。
    (%i1) factor(84);
(%o1) 2^2 3 7
part(%o1,1) 4
part(%o1,2) 3
part(%o1,3) 7
136クリップボード:2009/06/03(水) 16:15:47
>>131
matrixをlistに変換するには、演算子matrixを演算子listで置き換えればよいので
substpart関数が使える。
 例えば、
   m:matrix([4,3],[2,1])$
substpart("[",m,0);
[[4.3],[2,1]]

となる。
137132人目の素数さん:2009/06/03(水) 18:03:05
なるほど
138132人目の素数さん: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]にしたいです。
139132人目の素数さん:2009/06/04(木) 15:11:21
(%i1) v : [vx,vy,yz];

x : [xx,xy,xz];

v . x;

(%o1) [vx,vy,yz]

(%o2) [xx,xy,xz]

(%o3) xz*yz+vy*xy+vx*xx

(%o3)を、「v . x」に変形させることは出来ますか?
140クリップボード:2009/06/04(木) 16:35:46
>>138
v0:[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]
141132人目の素数さん:2009/06/04(木) 17:26:01
reshapeを標準関数にいれてほしい
142変態ロリーマン ◆ghclfYsc82 :2009/06/05(金) 05:52:39
元々はメモリ管理がアカンのやけど、そやけど関数を増やせば増やす程、
更に動作がトロくなりますな

143クリップボード:2009/06/05(金) 15:34:36
>>141
求める関数と同じかわかりませんが,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 ]
となる。



144132人目の素数さん:2009/06/06(土) 23:22:07
>>140
ありがとうございました。
おかげで出来ました。
145132人目の素数さん:2009/06/11(木) 20:59:04
これバグかな?下の式は正常に動かないけども
sublist([1,2,3],evenp);
sublist([1,2,3],lambda([x],mod(x,2)=0));
146132人目の素数さん:2009/06/11(木) 21:18:35
自己解決。こうかけば良いようだ
sublist([1,2,3],lambda([x],is(mod(x,2)=0)));
147132人目の素数さん:2009/06/16(火) 10:52:37
MaximaでZpやF2上での計算って出来ますか?
148132人目の素数さん:2009/06/16(火) 23:33:33
>>147
なかったら自分で作るとか。
149132人目の素数さん:2009/06/17(水) 20:19:26
lisp ,@ に相当する演算子はないんだね
150132人目の素数さん:2009/06/17(水) 22:47:35
最小インデックス計算したいだけなのに,なんでうまくいかないんだろう
min_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になる
151132人目の素数さん:2009/06/17(水) 23:11:24
全然デバッグはしてない
mi(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));
152132人目の素数さん:2009/06/23(火) 05:27:36
drowでファイル名指定してepsファイルに出力する方法がわからない
153132人目の素数さん:2009/06/24(水) 01:14:07
どなたかご存じの方がいらっしゃれば教えていただけないでしょうか。

u(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にせよ、成分に分解しないとベクトル解析の計算ができないので大変見通しが悪くなってしまうのが残念です。

よろしくお願いします。
154132人目の素数さん:2009/06/27(土) 22:32:23
maximaで区分関数(?)を表すことってできないのでしょうか?
例えば、下のような連続の式をグラフで表示させたいのですが。
・y(x):=2*x (x<0)
・y(x):=3*x (x>=0)
155132人目の素数さん: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]の部分が行列扱いになっているようでエラーが出ます。
数字でなく式で扱っているのが悪いのでしょうか?出来れば式のままで整理したいのですが・・・
156132人目の素数さん:2009/07/02(木) 18:59:25
それはA1がリストだからじゃないか?
Maximaではリストと行列は全くの別物

A1 : matrix ([a11, a12, a13], [a21, a22, a23],[a31, a32, a33]);

157132人目の素数さん:2009/07/02(木) 23:25:44
すいません、書き込みの際にmatrixは書き忘れました。
実際には>>156に書いてあるように宣言していますが、1要素を抜き取ってもそれは数でなく行列扱いになっています。
158132人目の素数さん:2009/07/03(金) 04:46:09
>A2: A[1][1]*A1;

Aには何が入ってるの?

159132人目の素数さん:2009/07/03(金) 04:56:11
A1の間違いですね、申し訳ないです。
具体的な例を書くつもりが逆に混乱させているようですいません。

とにかく、行列を設定したあとに要素を抽出して、その要素を行列やリストでないただの数字として扱いたいのです。
160132人目の素数さん:2009/07/03(金) 07:51:30
>A2: A1[1][1]*A1;

この書き方だと、行列A1のすべての要素にA1[1][1](=a11)を掛けた行列がA2に代入される。

>とにかく、行列を設定したあとに要素を抽出して、その要素を行列やリストでないただの数字として扱いたいのです。

A1[1][1],A[1][2]等でアクセスできる。というか、上の例ではしてるのでは?

あと、具体的なインプット、アウトプットを書いてくれると分かりやすい。
161132人目の素数さん:2009/07/12(日) 17:34:19
すいません、質問です。
文字が入った行列の行列式を計算しました。
計算自体はうまくいったのですが、途中計算を出すためにはどうすればよいですか?
だれか教えてください。
162132人目の素数さん:2009/07/14(火) 22:24:45
A:matrix([a11,a12,....],[a21,a22,....],....)
っていちいち書くのが面倒なんですが、自動で設定することはできないんでしょうか?
163132人目の素数さん:2009/07/16(木) 00:31:40
macファイルをbatchコマンドで読み込むと$が無視されて数式がジャンジャン表示されるんだけど、$を有効にするにはどうしたらいい?
164132人目の素数さん:2009/07/17(金) 05:03:17
初歩的な質問で申し訳ないですけど、
例えば、
Y = X * Y + A
っという方程式を、
Y = A / (1-X)
のように 左辺にY でまとめて表示させるにはどうしたら良いでしょうか?
できれば、右辺も、X と定数で分けたいです。
複雑な式の場合に、Y = ○X + △ ってまとめたいのですがそんな事が可能?
165132人目の素数さん:2009/07/18(土) 13:46:33
∬(D)f(x,y)dxdy D:x^2+y^2<=1
といった重積分をするとき
integrate(integrate(f(x),y,sqrt(1-(x^2)),-1*sqrt(1-(x^2))),x,1,-1)
と累次化した形で入力しているのですが計算してくれません
この入力に何か間違いがありますか?
それともやり方自体が間違っているのでしょうか?
166165: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)は任意の式です
167132人目の素数さん:2009/07/18(土) 14:35:31
y?
168165:2009/07/18(土) 14:48:00
すいませんf(x,y)です

integrate(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でやってます
169132人目の素数さん:2009/07/18(土) 15:11:57
integrateの引数3番目に数式指定するとどうなるの?
170132人目の素数さん:2009/07/18(土) 15:18:43
(x^2-1)が正だとルートの中が負になるので、
Maximaは積分範囲は実数にしてくださいと言っている。

negativeと答えるべき。
171132人目の素数さん:2009/07/23(木) 12:31:05
maximaのlistとlispのlistを変換する関数ないのでしょうか
172132人目の素数さん:2009/07/24(金) 00:04:26
10x10正方行列のdeterminantを行列成分で表示させようとしたらメモリが足りん的なこと言われたんだけどどうしたらよいの?
173132人目の素数さん:2009/07/24(金) 00:11:40
あきらめる
174132人目の素数さん:2009/07/24(金) 12:07:49
このスレは、明らかに回答者の数が不足している
175132人目の素数さん:2009/07/24(金) 12:47:17
オレも質問者の側だ。回答者に成れるくらいレベルアップしたいが。
ぽんぽこさんの本以外でマトモな資料ってある?
ブルーバックスのはオレにはクソだった。
176132人目の素数さん:2009/07/28(火) 05:51:56
ブルーバックスのはアマゾンでも評判が悪い
177132人目の素数さん:2009/07/29(水) 16:12:14
次のバージョンはいつ出
translateのバグいつ治るんだろ
178132人目の素数さん:2009/08/11(火) 16:37:44
一番バグが少ないのはどのバージョン?
>>177
みたいなバグがないなら古いバージョンでも使ってみたい
179132人目の素数さん:2009/08/12(水) 23:52:33
>>164
solve(y=x*y+a,y);
180132人目の素数さん:2009/08/27(木) 00:16:32
>>179
遅くなりましたが、ありがとうございます。かなり助かりました。
181132人目の素数さん:2009/08/28(金) 15:39:57
本家がmediawiki置かせてくれるサーバーどっかにないか探してるね
182132人目の素数さん:2009/09/14(月) 02:48:02
a x + b などと掛け算を省略できないのは仕様ですか?
それと構造化言語しか使ったことないんですが、block([x,y], a,b,c)をつかうのでなくlisp風で書く(例えば階乗などを)とどうなるんでしょうか?
183132人目の素数さん:2009/09/14(月) 23:07:28
1234[100桁]5678
のように省略されているものを、すべて表示するためにはどうすればいいですか?
184132人目の素数さん:2009/09/15(火) 01:03:44
>>183
そういう表示をする実例(計算式)を出してくれ。
185クリップボード:2009/09/15(火) 12:22:10
>>183
set_display(ascii)ですべて表示できます。
元にはset_display(xml)で戻ります。
186183:2009/09/15(火) 21:51:21
ありがとうございます、助かりました
187132人目の素数さん:2009/09/23(水) 11:11:08
Σ[x=1,∞]x(2x-1)/3^x
の計算をさせたいのですが、どう表記すればいいでしょうか。

sum(i(2*i-1)/3^i, i, 1, inf);
だと駄目っぽいんですよね…。
お願いします
188132人目の素数さん:2009/09/23(水) 13:06:20
nusum(i*(2*i-1)/3^i, i, 1, n); limit(%, n, inf);
189132人目の素数さん:2009/09/23(水) 13:56:16
>>188
>>187 ではありませんが、勉強になりました。有り難うございます。
190132人目の素数さん:2009/09/23(水) 13:56:31
n : 30
でセットですけど、
n = 30
だとどういう意味なんですか?
結果はブーリアンとして扱われるんですか?
191132人目の素数さん:2009/09/24(木) 00:49:56
>>188
ありがとうございます。
直接、infは駄目なんですね。
192187,191:2009/09/24(木) 01:03:49
そもそもの表記が間違ってましたね、気づきませんでした。
i(2*i-1)
ではなく、
i*(2*i-1)
とするべきだったんですね。
193132人目の素数さん:2009/09/25(金) 11:21:16
微分演算子のみを書いておくことって出来ますか?ヤコビアンの確かめで
使いたいんですが、ある式を、たとえば
sin(t)*d/dr+1/r*d/dt
とかって感じで表現できますか?
194132人目の素数さん:2009/09/27(日) 22:31:46
emacsでmaximaモードってないんでしょうか?
imaximaのことじゃなく、maximaの文法に沿ってインデントしてくれるモードです。
195132人目の素数さん:2009/09/28(月) 22:24:16
お前が書けばある
196132人目の素数さん:2009/09/29(火) 00:59:03
linsolve([eq1,eq2,eq3],[x,y,z,])
とかってした場合の
x = a*b/y

みたいな解が出てくるのですが、
変数リストの文字をすべて定数に置き換えて表示させる方法ってありませんか?

上記の例だと簡単ですが、もっと式、変数の数が増えてくると
解けてるのかどうかの確認すらできません。

よろしくお願いします。
197132人目の素数さん:2009/10/05(月) 15:02:05
wxmaximaのどこが便利なのかわからない
198132人目の素数さん:2009/10/27(火) 12:19:24
octaveを使っている人はいるのかな。スレッドがない。化学板にもない。
199132人目の素数さん:2009/10/27(火) 13:32:23
200132人目の素数さん:2009/11/20(金) 02:12:57
wxMaximaを使ってある関数g(x)がある区間x=x1〜x2でとる値を書き出す方法を教えてください。
xと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] );の部分です。

宜しくお願いします。
201115:2009/11/20(金) 22:44:39
結局at()を使って
r(e,x):=at(e,x=1/x);
みたいにやる事になりそうです。
202132人目の素数さん:2009/12/02(水) 22:44:30
wxMaximaのテキスト入力等に日本語を使用する事はできますか?
xml出力でテキスト・タイトル等が残せるのに気がついて、
更に日本語が使えると非常に便利だと思うんですが…
203132人目の素数さん:2009/12/06(日) 19:10:26
行列 4*4の行列式を計算して算出しました。

このときに変数を用いたのですが、それに変数に値を代入して計算を行うことができますか?
204132人目の素数さん:2009/12/06(日) 22:23:11
質問を重ねてすみませんが、
コマンドプロンプトの方は起動すると自動的に
(%i1) とでて、式を入力し、Enterを押すと計算が行われるのですが、
GUI操作の方であるwxMaxima 0.8.3を起動して文字を入力しても
(%i1)が出てきません。
自分で 
(%i1) 計算式 Enter
を入力しても駄目です。

GUI上ではどのようにして計算式を入力すればいいのでしょうか?
205132人目の素数さん:2009/12/06(日) 22:33:32
数式入力後 Shift+Enterで実行だったのですね。
スレ汚しすみません。
206132人目の素数さん:2009/12/07(月) 18:14:50
axiom
ってどうなんだろう
maximaから乗り換えたとかいう書き込みも時々みる
だけどmaximaのlispで関数書ける便利さは捨てれないなあ
207132人目の素数さん:2009/12/12(土) 10:28:20
>>206
maxima言語(?)のみで完結せずに、lispに頼ってるとこは、
あんまり美しくないなぁとか思ってるんですけど…駄目?
208132人目の素数さん:2009/12/14(月) 10:33:45
?princ("test"); のように先頭に ? をつけるると
lisp の関数が呼び出せるようですが、xx-yy
のように - を含む関数の場合、呼び出す方法は
あるのでしょうか?
そのままかくと - が演算子として認識されてしまいます。
209132人目の素数さん:2009/12/16(水) 07:36:13
5.20.1あげ
210132人目の素数さん:2009/12/17(木) 20:27:10
2次元実数上で、領域の包含関係を判定するソフトを作りたいのですが
とりあえず、一次不等式と円の内側を表す不等式  (x-a)^2 + (y-b)^b <= rなど)
を処理できるものを作ろうと思ってまつ。

Maximaでこれらの不等式制約の処理(交点を求めて利用するとか)できますか?

おねがいします。
211132人目の素数さん:2009/12/23(水) 11:58:26
>>208
バックスラッシュでエスケープするそうです。

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.
212132人目の素数さん:2009/12/25(金) 01:20:53
>>211
うまくいきました。ありがとうございます。
マニュアルに載っていたんですね。
213132人目の素数さん:2010/01/03(日) 03:07:15
外部にファイルを書き出させたいのですが、(tex()の結果のみを外部ファイルに出力)
どのように書けばよいのでしょうか。
検索してみてもsave()が出てくるだけで,直接ファイルに書き出す方法を探しています。
214132人目の素数さん:2010/01/04(月) 21:20:19
>>213
with_stdout (f, expr_1, expr_2, expr_3, ...) は、どうでしょうか。
215132人目の素数さん:2010/01/04(月) 21:35:03
>>213
tex(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.
216132人目の素数さん:2010/01/08(金) 23:26:43
>>210 これはできそうでできない。というか、LISPで最初から書けばできるといういみではできるがな
217猫は淫獣 ◆ghclfYsc82 :2010/01/18(月) 00:56:50
ココでちょっとしたメッセージや
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★
★★★「小沢氏は主張を通して検察に対して徹底的に対抗すべし」★★★

小沢先生、頑張って下さい。私は最後まで味方になります。


218132人目の素数さん:2010/01/25(月) 22:09:05
すみません、複雑な式をfloat表示させると、

( 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の指数が現れて、とても困っています。
これらを通分するにはどうすればよいのでしょうか?

どうかよろしくお願いします。
219クリップボード:2010/01/30(土) 11:34:42
>>218
分子分母を通分するには,cancellingの機能を有するrat,ratsimp,factor等の関数を
利用すればよい。
220132人目の素数さん:2010/01/31(日) 17:00:33
もう30年以上も経つ古い設計のままのシステムだから、
完全にリフォームしなおすか、さもなければ安楽死させてはどうだろうか?
221132人目の素数さん:2010/02/01(月) 15:14:59
数値計算関係をgsllあたりに統合してほしい
222132人目の素数さん:2010/02/18(木) 17:59:58
今、俺に一番必要なのがこのソフトだと悟った
俺の逝くべき道が見えてきた

これから質問することが多々あると思うので
どうか宜しくお願いたもう
223132人目の素数さん:2010/02/18(木) 19:56:30
質問です

shikou: 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とか書いてある三角形のマークはグレイになってて押せません
224223:2010/02/18(木) 20:40:29
うわ、自己解決しました
wxMaximaの方じゃなくて
xmaximaの方にコピペするだけかよ・・・
てか、じゃあ、wxMaximaはなんのためにあるんだよ・・・
225132人目の素数さん:2010/02/21(日) 19:50:38
wxmaximaなら、Shift+Enterで実行できるよ
simulation=0.2097
(%i6)
theory=0.20987654320988

利点は、こっちのほうが数式が見やすいことかな
そんな俺も最初wxmaximaは敬遠していた
226223-224:2010/02/22(月) 11:55:20
>>225
超ウルトラありがとうございます!
こっちの方が数倍数式が見やすいですね
√とか累乗とか雲泥の差です
227132人目の素数さん:2010/02/23(火) 15:00:04
本に付属しているCD-ROMのプログラム(量子力学におけるボームの新実在論に関する数式のグラフ)を
そのまま実行しているはずなんですが、下記のようなエラーが出ます:

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.

…二回試して二回とも同じ結果です。
次のプログラムが正しいか、どなたか見ていただけませんか?
228227:2010/02/23(火) 15:03:31
use_fast_arrays: true$

gn: 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)$
229227:2010/02/23(火) 15:04:37
for j: 1 thru gn do
ref[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;

230227:2010/02/23(火) 15:08:24
for n: 1 thru gn - 1 do
for 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分くらいかかりました。
231132人目の素数さん:2010/02/23(火) 15:17:24
>>227
コピペして実行させたら
エラーにならず↓こうなった

(%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
232132人目の素数さん:2010/02/23(火) 15:21:27
っと思ったらCPUが100%って...まだ終ってないのか...orz
233227:2010/02/23(火) 16:31:04
>>231-232
ありがとうございます & ご苦労様です
しばらく(40〜50分)お待ちくださいませ
234227:2010/02/24(水) 10:39:14
>>231-232
おはようございます
その後はどうなりましたでしょうか?
ちなみに自分のは

(%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分後です(それまではずっと計算中)
235132人目の素数さん:2010/02/24(水) 22:50:02
>>234
こっちのパソコンが非力なんで途中で断念しました
関係ないけど↓これ実行させても>>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]);


何なんでしょうね
236227:2010/02/25(木) 08:44:18
>>235
ありがとうございます。
こっちのパソコンでもそのエラーメッセージを確認できました。

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."」でググると
このスレしか引っ掛かりません(!)。
ちょっと検索してみたのですが、もしかすると新種のバグかもしれませんね。
もう少し調べてみます。
237227:2010/02/25(木) 09:01:48
↓によると
ttp://www.math.utexas.edu/pipermail/maxima/2007/009516.html

整数や浮動小数点を文字列として表示しようとすると出るエラーメッセージみたいですね。
でも、>>234さんのコードは浮動小数点のままですよね?

でも、↓によると
ttp://www.ma.utexas.edu/pipermail/maxima/2004/008517.html

なんか「explodeやfriendsを変えたときに付随するバグかもしれない」と言ってますね。
こういうのははっきりしないのは一番困りますね…。(-_-;)
238132人目の素数さん:2010/02/26(金) 06:02:43
ソースを読むか、マセマティカを買う
239227:2010/02/26(金) 12:57:48
>>238
Lispは分からんでもないしソースは読めるだろうけど('A`)マンドクセ
マセマティカ買える金があったら元々Maximaなんてインストしない
Maximaを修得したら移ろうかとは思っているけど
240132人目の素数さん:2010/02/26(金) 22:34:11
このソフトって使えるの?
マセマティカの方が良い?
241227:2010/02/26(金) 23:43:48
>>240
(私が答えるのもなんですが)
使えるには使えるようですが、
もちろん、マセマティカの方が断然良いようです
Mathematicaには出来てMaximaには出来ないことがたくさんあります
∫(7t^2+t)^(1/3) dt がその一例です

それとMaximaは基本的にボランティアで成り立っているので
バグが出たときのサポートがありません
それで↑>>227-239のような問題が出てるのかもしれません
242132人目の素数さん:2010/02/27(土) 01:30:58
>>241
レスありがとう。
参考になりました。
243132人目の素数さん:2010/02/27(土) 12:41:26
MathematicaにできなくてMaximaにできることってある?
244227:2010/02/27(土) 13:56:54
>>243
似たような質問があったよ:

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はバグが多いとも言ってるね・・・
245132人目の素数さん:2010/02/27(土) 20:35:39
Mathematicaはバグが取れにくかったと俺も思う。
何しろ値段バカ高過ぎでユーザーが少なかったと思われるから。
でも安いHome Editionが出て1年。大分減ったかな、、。
246132人目の素数さん:2010/02/27(土) 20:41:28
>>244
ありがとう
Maximaで困ってないと、金を払ってまで試そうとは思わないな
247132人目の素数さん:2010/02/27(土) 22:30:59
マテマテカは高いってほどでもないし、普通に買ったほうがいいと思うよ。
中国製のパチモンだった無料から200元ぐらいだし。
248132人目の素数さん:2010/02/27(土) 23:48:01
>>247
そのパチモンのURLってどこ?
249132人目の素数さん:2010/02/28(日) 00:46:31
検索してみたが$295かぁ
しかも32ビット版しかない模様
世の中、もっと早く64ビットに移行してくれよ・・・
250132人目の素数さん:2010/02/28(日) 00:54:38
30万か…
安いってほどでもなく妥当なところかな。
たとえ5万でも使いこなせる奴はいないだろうから、個人向けの数学系ソフトでいいんじゃないか。
あとはTIの関数電卓(CASのやつでも3万ぐらい)かな。

数式処理じゃなくて数値計算のみなら統計のRしかない。
マキシマはGPLだから自分で改良できるけどそれほどのスキルがある奴はいないだろう。
251132人目の素数さん:2010/02/28(日) 01:05:12
>>250
統計のRもインストしてんだけど
Maximaとの住み分けがいまいち分からない

統計学 → R
解析学 → Maxima

…でいいの?
Maximaでは多変数の三次元グラフはお茶の子さいさいだけど
Rでは描けないよね?
Rはデータ打ち込んだだけで標準偏差を出してくれたのには感動した
あと行列も扱いやすい気がした
Maximaでも出来るのかはまだ知らない
252132人目の素数さん:2010/02/28(日) 01:05:27
>>30万か…安いってほどでもなく妥当なところかな。

凄いな。研究者か何かですか?
253132人目の素数さん:2010/02/28(日) 01:24:35
webとかwikiとかで調べてみてもいまいちだし、数学系のソフトがなんなのか機能がどう違うのか分からないんだろうね。
マキシマは数式処理に特化していて、メインは代数(アルジェブラ)ができるってこと(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の売りの部分。
254132人目の素数さん:2010/02/28(日) 01:34:51
>>253
ありがとうございます
いつかは欲しいな、Mathematica
255132人目の素数さん:2010/02/28(日) 01:43:34
Rは数学で統計に特化してるけど、実際はscheme lipsと統計関係のライブラリが入った数学用に特化したプログラミング言語と同じ。
上の説明と同じで関数f[x]を定義できるけど、結果が数値 -1.26...となるところがCASと大きく違う。
さらに式の書き方とか関数呼び出しの書き方(いわゆる言語の文法)もそれぞれ違うから慣れるしかない。
マキシマはかなり独特な構文で意味不明なのが多く、マテマテカは直感的で手が入っているから馴染みやすく、Rのscheme(lisp)構文は素直だろう。
ただ、プログラミング言語はC言語風の構文が当然だから、C,Java系から見るとどれも異質な感じがするし馴染み難い。

これらでプログラミングをやる(Rでちょっとこったプログラムを組む)ならもうC99,C#,java,ruby,javascriptの方が普通に便利だろう。
基本的に、集計してそれをグラフにしてデータを保存、ならかなり面倒(gui+グラフが鬼門)だけど、Rなら簡単。
つまりRは日常の数学計算に特化したアプリ(とプログラミング言語)ってところ(ただし代数だけはできない)。
上のgimp,photoshopと比べるならexcel+accessに近い。
256132人目の素数さん:2010/02/28(日) 01:52:07
schemeと書くと少し誤解があるか。
どうせプログム板に縁が無いだろうし、まいいか。
257132人目の素数さん:2010/02/28(日) 02:02:23
上の代数(CAS)レスもちょっと誤解があったか。
ソフトの売りはそうだけど一言で言えば、代数であるとはシンボル処理として数式を扱え数式を変形できること。
カシオの関数電卓(自然表記)もある程度お奨めだけど、ルートとかπは擬似的に表示してるだけだし、
方程式求根はできるけどシンボル処理(CAS)ができるわけでないのでカシオの関数電卓は代数ソフトではない(TIの方はCASも可能)。
258132人目の素数さん:2010/02/28(日) 03:47:37
>>256
レキシカルスコープバインディングは scheme っぽいけど、ごまかしが多いから
ある意味便利、ある意味変な挙動するよなw
259132人目の素数さん:2010/02/28(日) 07:34:10
>>255
ありがとうございます

>上の説明と同じで関数f[x]を定義できるけど、結果が数値 -1.26...となるところがCASと大きく違う

なるほど、これでようやくMaximaとRの住み分けが出来るようになりました
(予想していた通り)しばらくはMaximaを中心に使っていくことが多くなりそうです
そのうち統計学も再勉強するんで、そのときはRが大活躍しそうです

…あーあ、それにしても大学のパソコンにはMathematicaもMapleもインストされてたのに使わなかった
今になって激しく後悔orz
260132人目の素数さん:2010/02/28(日) 09:33:37
>>259
学校のパソコンにMathematica入ってるけど
家でMaximaだからMathematicaの使いかたがわからん

Mathematicaが1980円だったら買って勉強したい
261132人目の素数さん:2010/02/28(日) 21:58:48
3万くらいなら買う!のに日本では永遠に買えそうにないね。
>>252
30万どころか、40万以上だろ?
どっちにしろ俺には∞に等しいが、、、。
262132人目の素数さん:2010/02/28(日) 22:31:25
なんで?
295jだろ
263132人目の素数さん:2010/02/28(日) 23:03:37
>>262
Home Editionは295ドルだが、日本では売ってくれないだろ?
理由が理解できんが。
264132人目の素数さん:2010/03/01(月) 01:18:54
ほんとだ。
423500円って書いてあった。
一体誰が買うんだ?
265132人目の素数さん:2010/03/01(月) 07:16:05
100年に一度の不況だというのに、そんな値段じゃ売れないと思うけど、
なんでHome Edition売らないんだろう?

やっぱり日本の代理店が邪魔してるのかな?
266132人目の素数さん:2010/03/01(月) 12:04:53
>>261
学生版は、昔は二万くらいで有った気がするが、今は無いの?
学生証で買えたが。
267132人目の素数さん:2010/03/06(土) 19:10:51
ユーザーがより安いソフトや、より応用範囲の広いソフトに流れて
Mathematicaのシェアが下がっているように聞いた。日本のユーザーズ
グループも解散したとか聞いた。主に使っているのは非常に高度な
数学を必要とする数学者、理論物理学者、統計学者、金融関係ぐらいだろう?
268132人目の素数さん:2010/03/06(土) 19:29:16
そもそも数学者(数学科の先生レベルでさえ)と自称する人でマテマテカを使いこなせてる人は少ない。
269132人目の素数さん:2010/03/06(土) 21:34:30
いくら凄いソフトでも、あの値段じゃシェアが上がる訳が無い。
特に個人には。
270132人目の素数さん:2010/03/06(土) 21:51:30
未だに「エクセルで0から2piまでの数表作ってグラフコマンドで…」が多い人にとって、数学系ソフトは少なくともグラフ作成ソフトの代用にはなる。
271132人目の素数さん:2010/03/07(日) 07:08:49
理論にとっちゃ、手計算の検算くらいにしか使えないのに、あの値段はないわ。
272132人目の素数さん:2010/03/07(日) 07:28:51
そもそもあの種のソフトは何か証明や発見の役にたつものなの?
綺麗なグラフを見てるとインスピレーションが湧くとかはあるかも知れないけど。
273132人目の素数さん:2010/03/07(日) 07:38:16
代数処理ソフトを使うと式変形が超楽になる
それとマテマテカ話はそろそろスレ違い
274132人目の素数さん:2010/03/09(火) 14:26:21
>>244
Mathematica は MACSYMAみたいにlispで拡張書けるの?
275132人目の素数さん:2010/03/09(火) 14:31:15
lispと混合したコード書くには
mapply1とかいう関数つかうといいらしいんだけど
使い方がわからない
276132人目の素数さん:2010/03/09(火) 14:45:04

   柳下浩紀

さんのことなの?非線形拡散方程式って
専門は解析だね。つか、偏微分方程式?
277132人目の素数さん:2010/03/09(火) 16:30:38
maximaのコードみてくと、
dont work とか書いてある便利関数が結構ある
これが動きさえすればmaximaをlispの部品にできるのに
278132人目の素数さん:2010/03/09(火) 18:50:27
このスレにはLisperが棲みついているのか
LispはComputer Programmingのクラスで再帰処理やったくらい
Prologならもっとマシに使えるんだが・・・
Lispもやっておこうかな
279132人目の素数さん:2010/03/09(火) 23:33:57
いや、ハスケルの方がいいよ。
実際問題PG,SEならschemeすら不要だけど、代数・数学・計算屋ならschmeよりも最近落ち着いてきたハスケルの方を勧める。
280278:2010/03/09(火) 23:48:00
>>279
マ、マジレス?
Haskellは単に名前を聞いたことあるなぁ程度だから
http://ja.wikipedia.org/wiki/Haskell
を読んでみた

ほとんどの場合、型宣言が不要、っていうのが引っ掛かった、悪い意味で

あと、ソースコードと「批判」のところに書かれている複雑さについての問題を読んで
俺には向いてなさそうに思えた
281132人目の素数さん:2010/03/09(火) 23:52:42
「型宣言が不要」ってのが不満なのは珍しいな。
282132人目の素数さん:2010/03/10(水) 00:44:36
CやJavaで型宣言に慣れてると
PHPみたいに型宣言なしで動く奴が怖くて仕方ない
283132人目の素数さん:2010/03/10(水) 10:13:33
型宣言が不要だからといって動的型というわけではないぞ
文脈上型が明らかな部分に関しては記述が省略できるということで
型推論とか呼ばれてる
284132人目の素数さん:2010/03/10(水) 12:52:31
Haskellの数式処理で実用なのってあるの?
あるならlispから乗り換えるけど
285132人目の素数さん:2010/03/10(水) 13:04:22
ハスケルは数式処理ソフトではない
286132人目の素数さん:2010/03/10(水) 13:13:08
haskellで書かれた数式処理ね
デフォルトの機能だけじゃどうせ足りなくなるから、結局中身をいじることになるからね
287132人目の素数さん:2010/03/10(水) 13:21:19
>>284-286
何を言ってやがる

俺たちが作るんだよ、そのHaskellで書かれた数式処理ソフトをな!!!!1!!
288132人目の素数さん:2010/03/10(水) 13:26:17
Haskellは無限数列とか扱うにはいいけど
数式処理にはLispの方がいいんじゃないかと俺は思う
289132人目の素数さん:2010/03/11(木) 05:42:11
MaximaをMaxima自身のサブセットで実装する事は出来ないのかなぁ?
290132人目の素数さん:2010/03/13(土) 21:18:30
Lispを使うのを止めてCとかFortranで書き直せないのかね。
291132人目の素数さん:2010/03/15(月) 00:23:54
Lisp使ってるのにも理由があるんじゃないの?
初めてLisp使ったときはびっくりしたよ
Cなら何十行と書かないといけない処理が
たったの三行くらいで済んじゃうんだからね
あの再帰処理の効率の良さが決め手なんじゃないか
とか素人考えで書いてみるテスト
292132人目の素数さん:2010/03/15(月) 12:31:57
Lispには変数の宣言が無い。Lispの変数には特定の型というものが無い。
短くかける理由の一つだろう。
293132人目の素数さん:2010/03/19(金) 16:56:32
>>290
axiomはpython(boot)とlispの混合
294132人目の素数さん:2010/03/19(金) 21:26:28
数式処理一般でLispのOn Lispに相当するような
基礎が書いてある本ってありますか?
295132人目の素数さん:2010/03/20(土) 18:29:50
古いけど、数式処理システム
http://www.amazon.co.jp/dp/4785635363
とか?
Maximaに限らない、数式処理一般の話なら
そろそろスレチで内科医?
296132人目の素数さん:2010/03/20(土) 20:12:10
maximaを導入したのですが、うまくいきません。
wxMaximaで、たとえば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時点での最新版)です。
297132人目の素数さん:2010/03/20(土) 23:08:38
>>296
どうやら、その症状が出たのは今のところ君で二人目のようだな
残念ながら、もう一人の人も解決出来ずに諦めているようだ(>>830から):

ttp://www.unkar.org/read/science6.2ch.net/sim/1011102458/830

キーワードをmaxima "ROOT is an illegal pathname name."と全世界でググって
これしか引っ掛からないんだから、これ以上突っ込みようがなさそうだ・・・
298296:2010/03/22(月) 13:05:22
>>297
ありがとうございます。
いろいろやってもだめだったので、>>830の人と同様にknoppix/mathを導入しました。
299132人目の素数さん:2010/03/30(火) 20:19:58
俺もvistaで動かない。virtual boxにubuntu入れてlinux版使ってるけど、不便だわさ
300132人目の素数さん:2010/03/30(火) 22:07:09
vista でmaxima-5.18.1
動きます。
301299:2010/03/31(水) 02:25:11
ごめん、ログ読んでなかった。>>297読んでDEP?だかを設定したら出来た、サンクス
302132人目の素数さん:2010/04/16(金) 04:47:08
なぜ論理計算が出来ないのか?
303132人目の素数さん:2010/04/17(土) 16:57:29
使ってみようと公式サイト開いたら変な表示が出てきた
17,18日はダウンロードできないってことか?
304132人目の素数さん:2010/04/20(火) 11:35:11
toshiba dynabook tx 66j2
os vista
maxima-5. 21. 0
動きます。

wxmaxima
日本語化されている。
305132人目の素数さん:2010/05/10(月) 01:01:59
diff(x^2, x)
2x

にはなるの当たり前としまして

diff(y^2, x)
0

になるんですよ
y^2をxで微分して2yy'という結果が欲しいんですけど
Maximaにどう打ち込んだらいいのか分かりますか?
306132人目の素数さん:2010/05/10(月) 02:31:25
diff(y(x)^2,x)
307305:2010/05/10(月) 08:59:41
ちゃんと出ました!
やっぱり出来たんですね!
超ありがとうございました!
308132人目の素数さん:2010/05/19(水) 16:47:41
lim[(x,y)->(0,0)] (x * y) / (x^2 + y^2)
をMaximaにどう打ち込んだらいいのか分かりますか?
もちろん、この場合は連続ではないので未定義と出てきてほしいのですが。

limit(limit((x * y) / (x^2 + y^2),x,0),y,0)
とlimitを二重にしたら、計算できてしまい、結果が0と返ってきます。
xからもyからも同時に(0,0)に近付くことは出来ませんか?
309132人目の素数さん:2010/05/22(土) 17:48:14
昔は(今から30年〜20年位前)Lispを使って書かれた大規模ソフトウェアの
例として必ず数式処理システムが挙げられていたのだが、今はLispで書くのが
適当と思われるものはどんなものなんだろうか? 
 Lispの利点とされていた、再起的定義が可能、任意長の整数、
動的な変数の確保と回収、実行時にデータ型を識別する処理、
実行時にプログラム自身を変更して処理できる、などといった機能は、
今ではそれ程までにLispに特有なものでも何でもない。

むしろ、大規模ソフトウェアを書く上では、欠点の方が多いのでは?
CommonLispにしたから全て解消したわけでもないだろうし、所詮
ポインターをたぐりながら動く処理はキャッシュやパイプライン
処理を前提としたマシンの性能をがた落ちにするばかりだし。
310132人目の素数さん:2010/05/22(土) 17:57:56
20年以上前のその大規模ソフトウェアとやらは具体的に何のことですか?
今でもその子孫が存在するかそれ自体が稼動しているんですか?
311132人目の素数さん:2010/05/24(月) 12:44:09
macroがあるから数式処理がしやすいのでは?
312132人目の素数さん:2010/05/25(火) 11:32:33
maximaのprogramをCに変換するプログラムを書いたが
自分のスタイルで書かないと変換できないから
自分専用だな
313132人目の素数さん:2010/05/30(日) 20:46:35
ベクトル変数w (w=[w_1..w_N])を定義して抽象的なまま数式処理することってできないでしょうか
論文にある最適化の式をそのまま入力して微分したりしたいのですが
314132人目の素数さん:2010/05/30(日) 21:14:41
プログラムを作るほうがそんなに数学に詳しくないのでたぶん無理でしょう。
あったとしてもかなりクセがあるつくりで、あなたが想像しているように簡単に実現できるとは限りませんし。
315御手洗景子:2010/06/03(木) 15:43:19
次の関数f(x)のn階微分のx=0における値f^(n)(0)=d^n(f(x))/dx^nを求めよ。どうしてそうなのかも説明せよ。
(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)の微分ができないので教えてもらえませんか?
316御手洗景子:2010/06/03(木) 15:44:40
f(x)=1/sqrt(2*π*v))*e^(-(x-u)^2/(2*v)について、f’(x)=0、f’’(x)=0となる点を求めよ。
という問題なのですが、答えはf’(x)=0はx=u、f’’(x)=0はx=u-sqrt(v)、u+sqrt(v)となり、f’(x)は、(u, 1/√(2πv)) と出てきたのですが、f’’(x)の点の求め方がわからないのでおしえてもらえませんか?
317御手洗景子:2010/06/03(木) 15:47:45
(1+1/n)^nを実際にいろいろなnについて計算し、n→∞での極限値と比較してみよ。
という問題なのですが、実際にnにいろいろな数字をいれるとnがだんだん大きくなるにつれてeに近づきました。
またlim(1+1/n)^n=eになります。

なので

(1+1/n)^nを実際にいろいろなnについて計算すると、nが増えていくほど、eに近づき、すなわち、n→∞の極限値に近づいていくが、一致することはない。

で、答えになりますか、でも、「一致することはない。」が完全にいえないので少し悩んでいます。
318132人目の素数さん:2010/06/03(木) 15:52:51
昭和57年生まれ?
1957年生まれ?
319132人目の素数さん:2010/06/03(木) 18:54:24
>>315
(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の定義
320132人目の素数さん:2010/06/06(日) 22:57:42
>>315-319
スレ荒らし死ね
321132人目の素数さん:2010/06/23(水) 12:53:08
教えてください。
マキシマでA=(B*C)/(B+C)という式を
C=○○という形に変形したいときどうすればいいんでしょうか?
322132人目の素数さん:2010/06/23(水) 15:46:29
solve(A=(B*C)/(B+C),C);
323132人目の素数さん:2010/06/27(日) 01:01:28
310〉
とぼけないで下さい。Macsymaは当時としてはLispで書かれた大規模
システムだったのです。
324132人目の素数さん:2010/06/27(日) 04:40:41
>>323
アンカーのつけ方ぐらい勉強しろよクズ
325132人目の素数さん:2010/06/27(日) 14:41:50
324>
議論のすり替えはしないでください
326132人目の素数さん:2010/06/27(日) 17:52:28
324>>

こうですかわかりません ><;
327132人目の素数さん:2010/06/27(日) 23:22:56
(%i327) こんなぐあいですか?
(%o327) こんなぐあいですか?
328132人目の素数さん:2010/06/28(月) 11:57:01
今、14次元の微分方程式を解こうとしてて
(1)FreeMatのGUIで微分方程式のパラメータを入力
(2)Maximaで解析。
(3)解析結果をCソースで出力する。←今ここ
(4)CプログラムをFreeMatに対応できるように文字変換
(5)その結果をGUIで表示
と言う感じで、(3)で行き詰まったんだけど、どうやってMaximaの解析結果
をCで出力できるか教えてください。
調べたところ、cform.lispというものを使えばいいらしいですが
教授はそれなしでもできるって・・・orz
329132人目の素数さん:2010/06/29(火) 10:19:42
Maximaで
2a + a = 3a で
2*a + a ; → 3a になるのは分かるけど

(√2)a + (√2)a = 2(√2)a はどう記述するのですか?

また
√(2a) + √(2a) = 2√(2a) はどう記述するのですか?
330132人目の素数さん:2010/06/29(火) 14:18:58
√の記述なら
sqrt(2*a)
or
(2*a)^(1/2)

331132人目の素数さん:2010/06/29(火) 14:57:21
ありがとう
332132人目の素数さん:2010/07/03(土) 01:59:30
ordergreat(X[1],X[2], ・・・);
というようにやりたいのですが上手くいきません。
ordergreatやorderlessで添え字付の変数を引数にするにはどうしたらいいのでしょうか?
333132人目の素数さん:2010/07/03(土) 11:16:35
integrate(exp(-x^2),x,-inf,+inf);

ならちゃんと表示されるけど、

integrate(2^(-x^2),x,-inf,+inf);

だと出てこない。

数学知らない人の代わりに考えてくれるという域には今一つだな。
334132人目の素数さん:2010/07/03(土) 11:22:26
数学知らないやつはまず数学学べよwww
335132人目の素数さん:2010/07/03(土) 11:49:01
解答を知っている人間にしか解答を返せないのは、結構微妙な線だと思うが。
336132人目の素数さん:2010/07/03(土) 13:00:49
>>333
これ、マティカでも出ないの?
337132人目の素数さん:2010/07/03(土) 13:12:03
338132人目の素数さん:2010/07/03(土) 13:36:47
めんどくさい計算を代行してくれるだけで
扱い方もわからない式をエスパーで解釈してくれるとか_
339132人目の素数さん:2010/07/03(土) 17:12:36
>>333
>>336
( 2 Pi/Log[2] )^(1/2)
340132人目の素数さん:2010/07/03(土) 17:36:35
>>337
なるほど、erfは誤差関数というのか。

不定積分なら、Maximaでも
integrate(2^(-x^2),x);
で出てきた。

教科書の数値だけ変えた問題が解けなかったりするのは、
人間的でほほえましいと言うべきか、機械的で人間の知性からほど遠いと言うべきか。
341132人目の素数さん:2010/07/03(土) 18:00:47
なあに たんなるプログラムのおよばざるところよ

>機械的で人間の知性からほど遠いと言うべきか。

すぐ人はそういうことを言いたがる
342132人目の素数さん:2010/07/04(日) 23:05:14
e^(i*pi) +1 =0 と出したいのですが、どうすればよいのでしょうか?
343132人目の素数さん:2010/07/04(日) 23:25:24
exp(%i*%pi)+1;
344132人目の素数さん:2010/07/04(日) 23:48:18
piの表記は%PIですよね?
微積分>積分から関数を指定して積分するときに、関数に%PIを含めると計算結果において%PIとπが混在して出てきてしまうのですが、統一して
出力する方法はありませんか?おそらく結果の%PIは自分が打ち込んだ関数に入っている%PIによるもので、πは計算過程から出てきたものかなとも思うのですが。
よろしくお願いします。
345132人目の素数さん:2010/07/05(月) 00:01:09
あ><すいません自己解決しました
%piだったんですね。。失礼しました><
346132人目の素数さん:2010/07/05(月) 13:09:48
sum(x,x,1,n);

出てこないな。
等差数列の和の公式は実装されていないのか?
347132人目の素数さん:2010/07/05(月) 18:18:36
>>346
nusum(x,x,1,n);
と記述するぞょ

ちなみに
2乗
nusum(x^2,x,1,n);

3乗
nusum(x^3,x,1,n);
348132人目の素数さん:2010/07/05(月) 18:47:43
>>347
Thanx

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にはまた別の使い方があるんだろう。
(学生時代には、Σの束ね直ししかしたこと無かったけど、そういう計算するのかな。)
349132人目の素数さん:2010/07/05(月) 19:08:41
ΣΣみたいなやつか?
350348:2010/07/05(月) 19:31:22
>>349
それそれ
351132人目の素数さん:2010/07/05(月) 19:43:56
>>348
anarchy golf のときは for のかわりに使ってる。
よぶんな計算するわけだけど、短いから。
(%i57) sum(print(i),i,1,3);
1
2
3
(%o57) 6
352132人目の素数さん:2010/07/06(火) 00:51:52
>>350
Σ [k=1,l] k = l(l+1) / 2 で
Σ [l=1,m] { Σ [k=1,l] k } = m(m+1)(m+2) / 6 を導け

みたいな問題か?

(十分高校数学レヴェルだから
 どこぞの大学入試で出題されるかもしれん…)
353132人目の素数さん:2010/07/06(火) 19:26:31
>>352
E((x-E(x))^2)=E(x^2)-E(x)^2

みたいなのを思っていた。

問題を解くよりも、教科書の記述を確かめながら読み進めるほうに興味がある。
放送大学の教科書『数理ファイナンス』を計算過程を確かめながら読みすすめれば嬉しい。

サイモンとニューウェルが、"Logic Theorist"を用いて
"Principia Mathematica"の論理展開をたどっていった話にあこがれる。
354132人目の素数さん:2010/07/06(火) 20:01:13
このスレで放送大学の学生がいるとは思わなかったな

『数学とコンピュータ』で解説していた MuPAD を使いたいと思っていたのだけど
今は有料になっていて、どうやら使用できないようだ

それゆえ、今は Maxima を使っている

放送大学の MuPAD の解説通りとはいかないけど
そこそこ使える
355132人目の素数さん:2010/07/06(火) 23:06:58
>>354
学生ではない。
放送を視聴したり教科書を読むだけのポピュラーサイエンス愛好者。
歯が立たないと思えば止める。

『はじめてのMaxima』を読んでみているけど、
群とか順序とかlambdaとかの段階でちょっとキビしいと感じる。

長岡亮介先生のMuPADの話も『数理ファイナンス』(こっちは津野義道先生)も、
そこまで抽象的な話題ではなかった気がする。

MuPAD、Mathematicaのような商用システムの教科書見て、
使い方のイメージをつかんだ方がよいのかも。
356132人目の素数さん:2010/07/07(水) 02:28:56
>>355
さよか
357132人目の素数さん:2010/07/07(水) 09:55:52
>>328
C変換するの自分用に作ったのは持ってるけど公開する気はないわ

ECLでも使えばいいんじゃないかな

fortranに変換して出力できるから
それを書き換えてもいいんじゃないかな
358132人目の素数さん:2010/07/07(水) 09:57:13
行列計算のsolveはできないのか
solve(A.x=b,x)
359132人目の素数さん:2010/07/07(水) 10:10:08
素直に

invert(A).b

にしなさい
360132人目の素数さん:2010/07/07(水) 10:19:55
じゃあ
solve([A.x+(a.B.A.b).y=0,x.x+y.y=1 ],[x,y])
みたいなのは無理なの?
361132人目の素数さん:2010/07/08(木) 04:35:53
ひょっとして関数内のローカル変数にdeclareすることってできない?
関数内でnewcontextもできない?
362132人目の素数さん:2010/07/08(木) 13:20:54
ラグランジュ未定係数法の関数作ったよ
http://d.hatena.ne.jp/niitsuma/20080325/1278561405
363132人目の素数さん:2010/07/08(木) 23:12:04
コピペしてmaximaがしばらく考えるような問題くらはい
364132人目の素数さん:2010/07/09(金) 00:20:12
10^1000000;
365132人目の素数さん:2010/07/09(金) 09:28:05
(8!)!;
366名無しさん@そうだ選挙に行こう:2010/07/10(土) 22:52:10
errorで答えがでませんでした・・・・
367名無しさん@そうだ選挙に行こう:2010/07/11(日) 01:01:06
しょぼいPCやの
368名無しさん@そうだ選挙に行こう:2010/07/11(日) 17:02:30
そういう問題なのかw
369132人目の素数さん:2010/07/19(月) 11:39:37
[[1,2],[3,4]] を2x2の行列に変換するにはどうすればいいですか?
370132人目の素数さん:2010/07/19(月) 11:42:10
A:matrix([1,2],[3,4]);
のことか?
371132人目の素数さん:2010/07/19(月) 18:42:06
リストのリストになっているものを行列にしたいのですが
372クリップボード:2010/07/19(月) 21:58:59
apply(matrix,[[1,2],[3,4]]);
 で出来る。
373132人目の素数さん:2010/07/19(月) 22:23:50
ありがとうございます。なるほど。合わせ技だったのですね。
なにか別の関数があるのかと、違う方向をさがしてました。
しかし、こりゃあmaximaの層で使うにもLISPを知らないとダメなのか。
374132人目の素数さん:2010/07/20(火) 07:09:14
nusum(x^i,i,1,n);
とか
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で表現したいのです。
エラーの原因や解決方法をわかる方いますか?
375132人目の素数さん:2010/07/20(火) 23:02:09
>>374
simpsum:true;
sum(x^i+y^i,i,1,n);
こうすれば結果は出力される

理由はわからないけど
376132人目の素数さん:2010/07/22(木) 11:05:24
式変形がおかしいのは
自分でlisp使って実装しないとだめなのかねえ
377132人目の素数さん:2010/07/22(木) 11:14:56
f(x,y)をbilinearにしたいのだけど、どうやってもうまくいかない

declare(f,linear);
f(a*y,z);
=>f(1,z)*a*y

378クリップボード:2010/07/22(木) 20:39:48
>>374
nusum は超幾何級数の和を求めるための、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
379132人目の素数さん:2010/07/26(月) 02:30:07
maximaのテンソルパッケージを使いこなすには
どの本でテンソルの勉強すればいいですか?
380374:2010/07/26(月) 08:03:30
お礼が遅くなり大変申し訳ありません。

>>375
simpsumについても調べさせていただきました。
解決方法を教えてくださりありがとうございました。

>>378
Gosper's アルゴリズムというものを使っている
という話は伺ってましたが、そのアルゴリズムに必要な要件までは
確認していませんでした。超幾何関数でなきゃだめなのですね。
わかりやすい補足説明も加えていただきありがとうございました。
381132人目の素数さん:2010/07/27(火) 10:47:56
tensorパッケージはつかえない
382132人目の素数さん:2010/07/29(木) 12:05:13
ctensorって極座標変換以外に使い道ない感じするんだけど、この理解であってる?
itensorも実際の問題扱うにはいろいろ機能不足じゃない?
383132人目の素数さん:2010/08/06(金) 04:23:08
136
384132人目の素数さん:2010/08/06(金) 17:36:49
age
385132人目の素数さん:2010/08/08(日) 16:15:35
5.22.0あげ
386猫は悪魔 ◆ghclfYsc82 :2010/08/08(日) 23:10:31
ちょっと失礼してコピペします。


--------------------------------------------
徳島県警阿南署などは5日未明、東京都足立区千住寿町、筑波大学准教授、増田哲也容疑者(50)を
県迷惑行為防止条例違反(痴漢行為)容疑で逮捕した。

調べでは、増田容疑者は、4日午後4時20分ごろから約50分にわたり、JR牟岐線の列車内で、県内の
専門学校生の女性(21)の胸や太ももなどを触った疑い。調べに対し、「夏休み期間に、講演活動を兼ね
て旅行していた。好みの女性だったのでムラムラした」と話しているという。
387132人目の素数さん
通分しないように制御するフラグがみつからない