MAXIMA at SIM
[2ch|▼Menu]
1:max
02/01/15 22:47
MAXIMAに関するスレ

2:名無しさん@1周年
02/01/15 22:50
maximaで値をunsetするときはどうするのですか?

3:名無しさん@1周年
02/01/18 02:15
>>1 GUIやらplot3dウィンドウやらついてて、
なにやら便利そうですね。

ライセンスは要らないの?

4:名無しさん@1周年
02/01/18 04:34
>>3
たしかGPLっす。
サーチ猿人で、"MAXIMA" + "数式処理"で検索!!

5:max
02/01/18 04:39
わたしはGCLとmaximaをrpmで入れました。
今のところ問題無。
ふだんはMathematica使い。たまにmaxima使い。

6:名無しさん@1周年
02/01/18 05:08
ライセンスについて、
今は 米エネルギー省公認のGPLになったのですね。一安心...

URLリンク(www.ma.utexas.edu)

7:max
02/01/18 06:31
>>5
ごめんなさい、うそです。
パッケージ、かなりの確率でだめっす。
固有値、固有ベクトルが死んでるの痛すぎ。

8:名無しさん@1周年
02/01/19 01:39
>>1
remvalue()

9:名無しさん@1周年
02/01/19 17:55
テンソルの表現ってどおするの?

10:あぼーん
あぼーん
あぼーん

11:名無しさん@1周年
02/01/19 22:46
>>7 ぢつは私、Maxima(=DOE MacsymaのCommonLisp版)見つけて、
 それを快適に使おうと、386BSD 0.1とか初代XFree98とか
 installして、結局よくわからないエラーが出まくりで閉口したものです。

 >パッケージ、かなりの確率でだめっす。
 >固有値、固有ベクトルが死んでるの痛すぎ。
それは、直せないのでしょうか?
#私が触った当時は、plot3dもすぐには動かなくて、
#手を入れた記憶があります。
#Gnuplot(って明らかにMacsymaっぽい)連携も不充分でした。

あるいは、きちんとした製品(Mapleとか)買った方が、有意義でしょうか?


12:名無しさん@1周年
02/01/20 05:40
皆、どんどん追加求む。

Maxima リンク
御本尊
URLリンク(www.ma.utexas.edu)

山内さんのMaximaページ
URLリンク(phe.phyas.aichi-edu.ac.jp)
xaximaページ
URLリンク(phe.phyas.aichi-edu.ac.jp)

MathModern各種数式処理システムユーザー情報交流サイト
URLリンク(home.att.ne.jp)

13:max
02/01/21 01:04
>>7
このままではいけないので再インストール(OSも)。
Redhat7.X : イイ感じ
Vine2.1.5 : イイ感じ
Miracle : GUIがあやしい
カーネル?は大丈夫っぽい、パッケージ警告出る。
固有値/ベクトルも計算できとる(たぶん)。

14:max
02/01/21 01:11
あ、それとrpm版はGUIでつかうときはQuit();しないで終了させると
プロセス残るよ。

15:max
02/01/22 22:56
>>12
URLリンク(www.ma.utexas.edu)
URLリンク(www.math.meiji.ac.jp)
マニュアル。
URLリンク(www.sra.co.jp)
SRAからmaximaもらえる!?

16:名無しさん@1周年
02/01/26 13:38
maximaってlispかならずしも必要じゃないんですか?
maximaだけrpmでいれて動いてるようなんですけど...。

17: 
02/01/28 07:47
むかし同じく386BSDの時代から、苦労してAKCLからコンパイルしてとか
やっていたくちです。今はLinux上でだったら導入は楽チンですね。

18:名無しさん@1周年
02/01/28 10:49
うん、rpmラクチンすぎ。->凄い勢いでサルになっていく自分発見。
あー、ところで、ここら辺でなんかMAXIMAのプログラムかきません、皆さん?


19:名無しさん@1周年
02/01/29 18:49
数値解ってどうやって出すんですか?
厳密解しか返さないんですけど。

20:    
02/01/29 20:51
浮動小数演算、長大浮動小数点数演算も最初から
組み込まれているので、そういった近似数をつかって
数値計算をすればいいでしょ。数値解を与える計算法・
アルゴリズムは、ライブラリでも作るか既に作った
人のを入手することになるでしょう。部分的には
Maxima自身にも数値での評価とか関数が入ってますよ。

21:19
02/01/30 09:56
私がやりたいのはもっと簡単なことです。
SQRT(7)とかを機械精度あるいは任意精度の数値で返して欲しいのです。
SQRT(7.0)とすれば良いのですが、
MathematicaとかだとN[]ってありますよね、そういった関数はないのでしょうか?

22:max
02/01/30 11:41
おー、まったくレス無しってわけでもないようですね。
私自身、MAXIMAよく知らないので、みんな、有益情報求む。
で、
>>21
ev()かな。eval()とかも。
ev(sqrt(7),FLOAT);て感じで、型を明示してやらなくてはいけない。
面倒かも知れないけど、ケースセンシティブに徹しているとこが潔い。
これも数式処理へのこだわりか。
Mathematicaももっと型を意識したシンタックスになっているとよいがな。
まあ、意図的に型を意識しないシンタックスになっているようだが。

23:max
02/01/31 18:08
ちょっとコメント。
>>11
>>22
総合的に評価するとMaple7がいいようですね。バランスのとれたシステムといって良いでしょう。
Mathematicaもかなり速くなりました。
遅いといわれていますが、もはや気にする程度のものでないと思います。
ただ、バグが多いのとやはり基本的な処理能力はMapleが上でしょう。
しかし、設計段階からポリシーそのものは非常に練られたもので、
言語仕様の柔軟性と統一感は他のシステムの追従を許しません。
Macsymaは使ったことはないですが、Maximaよりは高速でしょう。
さて、Maximaですが、あきらかにlispとの連係を前堤としたもののようです。
言語仕様もlispとはだいぶ違うようですが、lispライクな機能を使いたいときは
lispを使えということでしょう。
11の方はメインでmaximaを使うことも考えているようですが、十分使用に耐え得ると思います。
まあ、商用だと逆にバグ取りを自分で出来ないってのもありますしね。
ほかに、数式処理システムとしてはMupad、Reduceがありますが、
Mupadはちょっとおそいようです(メモリ制限からか?)。

で、今回はこのへんで。
まあ、皆さんも気軽に感想など書き込んでくださいな。


24:11
02/02/01 02:15
もう10年近く、MAXIMAに触っていませんが,,,
数式処理関係の資料も手元に溜まっているので
今度また触ってみようと思います。

ところで、この10年で、数式処理システム周りに
何らかの変化/進展は見られたのでしょうか?
もし御存知でしたら、お教え下さい。

25:max
02/02/01 07:37
若輩者の私は、最初に数式処理に触れたのはMathematica2.0のころです。
因数分解をいとも簡単に解いてのけるのをみて感動したものです。

>>24
私の乏しい経験のなかで語らせて頂くと、
数式処理そのものに大きなブレイクスルーはなかったように思えます。
しかし、確実にその能力は、より高く、研ぎすまされたものになっていっているのは、
お感じになっているここと思います。これからもさらに期待できそうです。

むしろ、数式処理を使うことによる進歩の方が大きいでしょう。
数式処理システムを使うことにより数学的な新しい構造(?)が見つかった、
というのを聞いたことがあります
(Mandelbrotとかじゃなくて空間をいくつかに分けるようなのだったと思う)。
物理においてはそのシンボル操作の機能の高さとグラフィック能力により、
著しく効率の上昇した領域もあるといいます(logistic mapsとかかな?)。
また、教育においても数式処理なる授業があるそうです。
CとかフォートランといっしょにMathematicaやMapleを学ばせているそうです。

ちょっと違うはなしですが、ケイリー・パーサー暗号化のプログラムは
最初、Mathematicaで書かれたとか。


26:max
02/02/05 17:44
びびった。
ヘルプテキストの一部がフランス語で書いてある。

27:max
02/02/05 17:49
ところで、統計プログラムなんか書いてみようかと...
lisp-statもまだ多変量解析はそんなになかったと思うが。
いろいろ情報求む。

28:max
02/02/05 17:54
とりあえず、ショボいが基本ってことで。
mean(list):=
sum(part(list,i),i,1,length(list))/length(list);

(ごめんなさい)

29:    
02/02/15 23:51
日産の車にもマキシマというのがあったが、かぶってないのかな。

30:名無しさん@1周年
02/02/16 20:25
>>29
かぶるんだよなー。
インターネットサーチの時とかも。
"math"とか"数式処理"とかつけないとなー。

31:名無しさん@1周年
02/02/17 19:50
80年代になんとかMAXってのが流行った(楽器,コンピュータ,あと忘れた)のは、
  ヤパーリ MaxHeadroom (つうタモリ似のをっさんの出るCG)
が流行った影響だろーか?

あと、FP以降〜Haskellまでの関数型言語研究に、オースチン近辺が果たした役割
ってなにかありそう...

32:名無しさん@1周年
02/03/25 17:13
技評の SoftwareDesign誌 2002/4月号に、
吉田爺@バークレー 氏のMaxima記事が載ってたので、あげ。

吉田爺は、絶対Mathematicaマンセーかと思ってたら、
mathematicaは「素人向け」で「電卓的色彩が強い」から使ってなくて、
昔からReduceを使用→Macsyma2.4を個人購入→Maxima.sourceforge.netに移行
とか言ってるし...

そろそろMaximaがブレークするのかなー。


33:名無しさん@1周年
02/03/25 17:17
あと、Texas大で Maximaのメンテナンスをしてた
W.Schelter氏は、2001年に亡くなったんですね。追悼

34:名無しさん@1周年
02/04/02 21:02
MAXIMAm age

35:max
02/04/14 00:44
結構、あげられてるな。
maxima、ブレークすると嬉しいよなー。
なんか、むかしGNOMEのプロジェクトで、
数式処理を作るっていうようなのを聞いた気がする。ガセか?自信ない。
Linuxのパッケージに、maximaバンドルとかやってくれるといいな。

お、そろそろ、5.6.1、落しおわるな。

36:名無しさん@1周年
02/04/14 01:40
GNUプロジェクトの Jacal なら知ってるけど。

Scheme処理系 scm上で動作する、数式処理プログラム。

ホロノミックなんとかいう計算方法を使ってる...
グレブナ基底とどう違うかサパーリわからなかった(哀

37:36
02/04/15 19:15
Jacalのホームページ
 URLリンク(swissnet.ai.mit.edu)
"Algebra and the Lambda Calculus"
 URLリンク(swissnet.ai.mit.edu)

38:max
02/04/20 01:13
Maple8でましたね。
URLリンク(www.maplesoft.com)
数式処理ソフトの業界って、競争が結構良い方向に向かってますよね。
バージョンアップのたびに速くなってるし。
ほんとは、それが当然のことなんですけどね。

39:GO MAXIMA
02/06/30 23:08
固有値 固有ベクトルのパッケージが死んでいるというのは
嘘です。
まずは メーリングリストに参加するか 過去ログを読むように。

例えば Jordan Canonical Form の計算について 私がcontribute
した パッケージ diag.mac とjordan.dem では mathematicaで
正しい計算できない8x8の 行列のjordan標準型についても 正しい
計算ができます。
maxima 5.5 以降 特に 5.6は かなり 安定していて おもなbugは
メーリングリストの 仲間によって fix されています。
わたしの パッケージも5.9.0の contributeのdirにあります。
メーリングリストは
URLリンク(www.ma.utexas.edu)
私の Jordanの投稿は
URLリンク(www.ma.utexas.edu)とか
001182.htmlを参照

多倍長の計算は FLOAT2BF:true $
FPPREC:100 $ これは100桁−場合
とした後で 書く関数の引数をbfloat()とします
例えば exp(bfloat(10*0.1));などで百桁の計算ができます。

記述LISPは common lisp です。
まあ LISPが使えたほうが よいです。というのも すべての定義は
本質的に LISPで書いて読みこめば MAXIMAの本来の動作も簡単に
変えられます。嫌なBUGは とりあえずこの方法でFIXしています。



40:GO MAXIMA
02/06/30 23:55
1 例題と演習

maxima(macsyma)の使い心地について

reduceとの一番大きな差は reduceは よくもあしくも 自動で計算してくれる
部分が多いのに maximaは 明示して計算させなければ 計算しない部分が多い。
これは reduceは しょちゅう clear文で 自分の定義したものを消さないと次
に移れないことになるのに対して、 maximaではそんなにしょちゅうkill文を
使う必要はない、(上手になれば)。しかし 最初から動かすのに必要な知識が
多めに必要ということにもなり、maximaの普及に影を落している。
したがって maximaの初心者は 自動計算を期待するのではなく 手計算の代わ
りに 計算してくれる 黒板の如きものというイメージをいだいておけば
挫折することも少なくなると思う。

この演習のもと本は早稲田の広田良吾 教授が bitの別冊に載せられたもので
ルーツは 広島大学の工学部の大学院生に 講義したノートであるそうだ。
reduceで書かれたものを 私がmaximaに書き直したものである。
数式処理システムは どれも個性が強く 単なる書き直しと言うわけにはいかず
私なりのmaximaへの すすめ となっている部分も多いと思う。

工学部の大学院生にとって必要な数学は線型代数を除けば、確率過程か 微分
方程式のどちらかが 必須というのは80年代前半によく耳にしたように記憶し
ている。このもとの演習はそれより一寸前のころ行われていたことを考えると
大変進歩的な 授業であったといってよいだろう。
現在のレベルはと考えると めまいのするほど沢山の数学が要求されているだ
ろうけれども。こんなときにも TOOLとしての 数式処理がまさにこの演習書の
内容でなくて この演習書のやりかたで役に立ことは疑い無い。

もちろん数学と 数式処理システムとは 素人が考えるより 無関係であり、
プロの数学者が 考えるよりは関係は 深い。それはスタイルの問題であり、今現
在の 数式処理システムは 江戸時代の和算家のそろばんというところであろう。
我々が 道具を使える サルであるいじょう 数学の表現の仕方も また変わって
行かざるをえないだろう。
そうして いつの日か和算が グローバルな宇宙数学として開花すると私は考え
る。もちろん そのときの 主役は人間ではないだろうし 人類が棲息している
かどうかもわからない。

そんな 遠い未来の話ではなくても 今第2の 和算の時代が開花しつつある。
Clifford Algebra のGeometricな解釈によって。
Clifford Algebraの 計算にはそろばんが必要であり、19世紀に開花しながら
十分に普及しなかった非ユークリッド幾何を徹底的に使いこなすための道具で
もある。また今後百年以内に登場するであろう 3次元car (宇宙船)に必須の
数学でもあろう。真に力のある理論は 天才のみが 使いこなせるのではなくて、
何百年かかるか分からないが やがては人類皆のよく理解できる常識となるよ
うに思える。


41:名無しさん@1周年
02/07/02 02:23
Shelter亡くなったって本当?原因は?
それでバージョンアップがとまっていたのか?
将来に黒雲が立ち込めているような気がする。

42:名無しさん@1周年
02/07/02 02:51
>>41
前述のギヒョーの記事によると、
2001年に訪問先のロシアで亡くなったそうです。

「1982年〜2001年まで DOE-Macsyma〜MAXIMAのメンテを続けていた」
という事は...GNU EmacsのR.M.Stallman並のグルですな、この方は。

>>40
ソリトンとか非線形数理科学で有名な先生ですね





43:GO MAXIMA
02/07/02 05:00
現在は バークレーのFatemanが 親分のようです。
かってのウオルフラムのライバルですよ。実力は十分です。
別に 将来に不安はないですよ。
Shelterさんが亡くなってからの方が活溌にみんなやっています。
現在動かないパッケージは common lispに書き換えた際に発生したものが
ほとんどで必要なものは 二十年まえのものも 修復されているものも
あります。
問題なのは この手のTOOLは 研究の第一線で使う人が いなくなると
時代遅れというか だめになるようです。
製品のMacsymaが つぶれたのも MapleやMAthematicaに負けたという
面も もちろんありますが、ほんとうは 1995にはじまる サイバーグ
. ヰッテンの 理論からの 爆発についていけなかったのがほんとうの
ところではないかと思います。(つまり日本はまるごと おお負けだから
わからないといえます。) a-tensorのパッケージがしょぼかったね。
MAXIMAも80年の最初のころまで ウオルフラムが ガンマ行列パッケージ
を書いたりして 間違いなく第一線の研究者が使っていた。
あ これは いまもMAXIMAのパッケージに入っていますよ、動かねえけど。
ウオルフラムは 金儲けでも 天才で Macsymaの開発をしながら その
大衆受けしないポイントを 確認(つまり 見た目、GUIまわりが弱い)
それと 当初から テンソル計算など しろうとが使わない機能が
充実していた。だから 最初のMAthematicaは テンソルは別パッケージで
有料だった。これは わざとである、なんせ彼は数式処理ではその方面の
専門家として重宝されていたのだ。テンソル式がズラっと並ぶような
TOOLをしろうとが買うはずが無いと読んでいたと思う。
まあもちろん Macsymaの最大の弱点 である パターンマッチングは
彼一流の感性で 関数型言語として Mathematicaでは克服されている。

でも ある程度の力のある開発者からみれば その差は微差で まあ
LISPで書かねばならないことが 増えるのですが、、、、
MAthematicaにできて MAXIMAにできない重要な内容はないと思います。


44:GO MAXIMA
02/07/05 01:36

=======================================================================
例題1.1
4則演算、2つの変数A、Bの和、差、積、商を計算してそれぞれを変数WA、SA、
SEKI、SHOに代入する。
=======================================================================

(C1) wa:a+b;
(D1)b + a
(C2) sa:a-b$seki:a*b$sho:a/b$
$だと出力は抑制される。

=======================================================================
例題1.2
1.1でA=1/2,B=1/3とおいてWA,SA,SEKI,SHOを出力させる。
=======================================================================
(C6) a:1/2$
(C7) b:1/3$
(C8) wa;
(D8)b + a
式のままである。このへんはreduceとおおいに異る。evalであるEvを使う
(C9) Ev(wa,[a=1/2,b=1/3]);
(D9)5
-
6
同じことを wa,[a=1/2,b=1/3]; と簡略に書くこともできる。
(C10) sa,[a=1/2,b=1/3];
(D11)1
-
6
以下同様

=====================================================================
例題1.3はmaximaでは不要
例題1.4
kill(a,b)としてa,bを消去して(変数の束縛をとるだけ)
(a+b)^3 としてもmaximaでは展開されない、明示的にexpandを使う
=====================================================================
(C12) kill(a,b)
(D12)DONE
(C13) expand((a+b)^3);
(D13)32 23
b + 3 a b + 3 a b + a
=====================================================================
例題1.5
(a+b)^2-(a-b)^2を計算して 変数SKに入れて出力する
=====================================================================
(C14) sk: expand((a+b)^2-(a-b)^2);
(D14)4 a b



45:GO MAXIMA
02/07/05 01:41
第2章 FOR文

===================================================================
例題2.1

3+5+7+9+11+13の計算
====================================================================
(C1) sum:0 $
(C2) for i:3 thru 13 step 2 do sum: sum +i;
(D2) DONE
(C3) sum;
(D3)48

あるいは
for i:3 while i<=13 step 2 do s:s+i;
さらに和を求める関数sumも用意されている。

(C4) sum(2*i+1,i,1,6);
(D4)48
========================================================================
例題2.2

8!=8*7*6*5*4*3*2*1の計算
========================================================================
(C5) seki:1$
(C6) for i:1 thru 8 do seki:i*seki;
(D6) DONE
(C7) seki;
(D7)40320

あるいは
(C8) product(i,i,1,8);
(D8)40320

========================================================================
例題2.3

n=1,2,3に対して、f(n)の値を配列a(n)に入れ、a(2)にf(2)が入っていること
を確かめる。
========================================================================

とりあえず グローバル変数でよければ 配列は特に宣言しなくてもよい。
(C9) for i:1 thru 3 do a[i]:f(i);
(D9) DONE
(C10) a[2];
(D10)f(2)

演習2.1、2.2

-2+1+4+7+10を求めよ
1/2+1/6+1/12+1/20+1/30を求めよ
(7*6*5)/(3*2*1)を計算せよ。


46:GO MAXIMA
02/07/05 01:44
=========================================================================
例題2.4

3次元ベクトルaとbについて次の恒等式(ラグランジュ(Lageange)の恒等式)が
成立することを示せ
|a x b|^2 =|a|^2|b|^2-(a.b)^2
xは外積 .は内積を表す。
=========================================================================
(C11) kill(a,b,f)$
(C12) aXb[1]:a[2]*b[3]-a[3]*b[2]$

(C13) aXb[2]:a[3]*b[1]-a[1]*b[3]$

(C14) aXb[3]:a[1]*b[2]-a[2]*b[1]$


(C15) aXb[1]^2+aXb[2]^2+aXb[3]^2-(a[1]^2+a[2]^2+a[3]^2)*(b[1]^2+b[2]^2+b[3]^2)+(a[1]*b[1]+a[2]*b[2]+a[3]*b[3])^2;

2 2 2 2 2 2 2
(D15) (- a - a - a ) (b + b + b ) + (a b + a b + a b )
3 2 1 3 2 1 3 3 2 2 1 1

2 2 2
+ (a b - b a ) + (b a - a b ) + (a b - b a )
2 3 2 3 1 3 1 3 1 2 1 2
(C16) expand(%);

(D16) 0

恒等式の証明は差をとって展開(expand)するだけでよいので簡単にできる。

演習2.4

ベクトルaXbは aおよびbに直交することを確かめよ。



47:GO MAXIMA
02/07/05 01:47
むむ display2d:false にしないと 指数がばけるみたい

48:GO MAXIMA
02/07/05 01:48
第3章 LET文

reduceの LET文には (a)パターンマッチングと(b) 演算規則の生成の2つが
あるとのことですが maximaでは (a)の機能が弱く パターンマッチングより
ジカ代入というか手動で行うことが多いと思います。letとletsimpだけでは
reduceのようには 気楽に扱えません。とはいえ、reduceの演算規則にあたる
ものはmaximaでは 関数で実現できるので機能に差があるわけではない。

==========================================================================
例題3.1

w=(x+y)^4 を展開してxyを zに 置き換えよ。

==========================================================================

(C2) let([x*y,z],one);

(D2) x y --> z
(C3) letsimp(expand((x+y)^4),one);

2 2 2 4 4
(D3) 6 z + 4 y z + 4 x z + y + x


let([x*y,z],one);は x y --> z というルールに oneという名前をつける
ことにあたる。そうしてこのルールは reduceのように 自動的に適用されるの
ではなくletsimp文で 明示的に指示するというやり方になる。
もし他にtwoというルールがあって 、oneを適用してからtwoを適用したい場合
には
letsimp(expand((x+y)^4),one,two);とできる。
またルールの名前から内容を確認するときは
(C4) letrules(one);

x y --> z
とする。
ルールを除去するのは
(C5) remlet(x*y,one);

というようにルールの左辺とルール名で指定する。これは本来ルール名のみで
消去できるほうがよいだろう。


49:GO MAXIMA
02/07/05 01:50

=========================================================================
例題3.2と3.3

z=(1+x+x^2+x^3)^2を展開して4次までの項を求めよ。つづいて5次までの項
を求めよ。

=========================================================================

(C24) let([x^4,0],one);

4
(D24) x --> 0
(C25) letsimp(expand((1+x+x^2+x^3)^2),one);

3 2
(D25) 4 x + 3 x + 2 x + 1
(C26) let(x^5,0);

5
(D26) x --> 0
(C27) letsimp(expand((1+x+x^2+x^3)^2));

4 3 2
(D27) 3 x + 4 x + 3 x + 2 x + 1

ルールが1つのときは C26 のように無名のルールを使うこともできる。


=========================================================================
例題3.5

任意の自然数nにたいしてn!を計算する規則を作れ。

=========================================================================

maximaでは 多くのreduceの letにあたるものは ここで示すように 関数定義
で代行して不足は無い。
(C1) fact(_n):=product(k,k,1,_n)$
(C2) fact(40);

(D2) 815915283247897734345611269596115894272000000000



50:GO MAXIMA
02/07/05 01:52
=========================================================================
例題3.6

z=exp(x+x^2+x^3+x^4+....)をxのべきに展開してx^4の項までもとめよ。

=========================================================================

exp(x)=1+x+x^2/2!+x^3/3!+..........からx^4の項まで考えればよい

(C3) let(x^5,0);

5
(D3) x --> 0
(C4) sum((x+x^2+x^3+x^4)^i/i!,i,0,4);

4 3 2 4 4 3 2 3 4 3 2 2
(x + x + x + x) (x + x + x + x) (x + x + x + x) 4 3
(D4) ------------------- + ------------------- + ------------------- + x + x
24 6 2

2
+ x + x + 1
(C5) letsimp(expand(%));

4 3 2
73 x + 52 x + 36 x + 24 x + 24
(D5) ---------------------------------
24


=========================================================================
例題3.7

C = A(A-1)(A-2)...(A-N+1)/(N(N-1)...2.1)
A N
を計算する規則を作り C , C を計算せよ
1/2 3 -3 2
=========================================================================

reduceの FOR ALL ...LET 文は maximaでは 関数で表現する。
factは例題3.5のものを使う。

(C38) comb(_a,_n):=product(_a-i+1,i,1,_n)/fact(_n);

PRODUCT(_a - i + 1, i, 1, _n)
(D38) comb(_a, _n) := -----------------------------
fact(_n)
(C39) comb(1/2,3);

1
(D39) --
16
(C40) comb(-3,2);

(D40) 6



51:GO MAXIMA
02/07/05 01:53
=========================================================================
例題3.8

f22(n)=1/(1*2)+1/(2*3)+.....+1/(n*(n+1))を計算する規則をつくれ。
n=1,2,3,4,5に対して値を計算せよ。
帰納的に n/(n+1)であることを数式処理でどうやって証明するか?

=========================================================================

これも3.7と同様 ただし 現在の数式処理がバカチョンでいかないという例の
ようです。
(C43) f22(_n):=sum(1/(i*(i+1)),i,1,_n);

1
(D43) f22(_n) := SUM(---------, i, 1, _n)
i (i + 1)
(C44) for i:1 thru 5 do display(f22(i));

1
f22(1) = -
2

2
f22(2) = -
3

3
f22(3) = -
4

4
f22(4) = -
5

5
f22(5) = -
6

帰納法を使うf22(k)=k/(k+1)と仮定すれば f22(k+1)=(k+1)/(k+2)であること
を計算で示せばよい。
このへんは手で計算した方が速いが 型をしめせば以下の通り
(C45) let(f22(k),k/(k+1))$

(C46) letsimp(f22(k)+1/((k+1)*(k+2)));

3 2
k 3 k 2 k
----- + ----- + ----- + 1
k + 1 k + 1 k + 1
(D46) -------------------------
2
k + 3 k + 2
(C47) ratsimp(%);

k + 1
(D47) -----
k + 2


52:名無しさん@1周年
02/07/06 00:47
WはMacsymaのソースを元にSMPをC言語で書いて開発し発売したが、大学の
計算機リソースを用いて開発したというかどで、訴訟になり放棄。
Mathematicaも最初はMacsymaのソースを見ながら、GNUーC言語に皮を
かぶせたような言語で開発したらしい。
 複雑なシステムやライブラリはそれを支える高級技術者、科学者が
それの開発とメインテに従事しながら高給を取れる仕組みがないと
なかなか、続かない。日本には長らくPHDプログラムがなく、大学院
生にも給料が出ないなどで、学業とは無縁のアルバイトに忙殺される
などにより、高度な学問レベルの最前線では、アメリカやヨーロッパの
敵ではなかった。しかも数式処理のシステムが主に成長普及した時期は、
豊富な時間的な制約のすくない計算機資源やプログラミング環境、
特にインタラクティブな(バッチではない)OSの利用が不可欠だったが、
日本はこれらに関しては大学では特にそういう面が反対を向いていた。

53:名無しさん@1周年
02/07/06 00:51
国内で、HLISP, UTILISP, ReduceLisp とか、Lisp専用機作って頑張ってた人
いたと思いますが。少なすぎ?


54:GO MAXIMA
02/07/06 04:00
最近Clifford 代数というか Geometric AlgebraをMAXIMAに
載せようと しているのだが よいスタイルにするのは相当
難しい。 古い数学の人から見れば R上で 2次型式をきめれば
それに対応してClifford 代数が決まり 、何らかの行列環と同
型になる、そんな 2次形式論がいまどき 重要なわけ??
行列のspinor表現ていっても Lie群論は 半単純群の分類ですでに
終っている理論よ〔有限次元では)。何がしたいの?
えーっと それを使っていままでバラバラに見えていた理論や
計算が 統一的に扱える モデルです。
ふーーん モデルとか解釈と言うのは 数学じゃあない。
そんなものに インパクトはないよ。
となりそうですが これもあまりに数学を固定的に考える日本の
弊害が見え隠れしている。MIT流の何が数学か分からない
自由さにも 個人的にはついていけないけども。。。
E. Cartan の論文は いまだに読まれていると思いますがあれほど
一世を風靡した ブルバキは ほとんど読まれていないとおもいますね。
ブルバキは Cartanの 弟子が 多く含まれていたはずですが埋葬に
失敗して Cartanのエキセントリックな(つまり飛んでる)もとの表現が
復活できる。これについては David Hestenes の Differntial Forms
in Geometric Calculus が へたな 小説の100倍は面白い。
特に2章の What is a manifold? とか3章がよい。
URLリンク(modelingnts.la.asu.edu)
から手に入る。これを見て ブルバキが なぜあんなに型式主義に
走ったか 理解できた気がした。師匠の自由さに困惑してそして
40年も数学を停滞させたあの原論が生まれたらしい。なに止まって
いたのは 某国だけってか。

55:GO MAXIMA
02/07/07 12:52
第4章 条件付き LET文
=========================================================================
例題4.1
クロネッカー (Kronecker) のδ
i j
δ = 1 (i=j)
i j
= 0 (i≠j) を作れ
=========================================================================
これも 関数定義で行う。
(C50) delta(_i,_j):= if (_i=_j) then 1 else 0;

(D50) DELTA(_i, _j) := IF _i = _j THEN 1 ELSE 0

(C52) delta(2,4);
(D52) 0
(C53) delta(2,2);
(D53) 1

例題4.2 略
=========================================================================
例題4.3
Legendre(ルジャンドル)の多項式P(x)は 次の漸化式を満たす。
n
(n+1)P (x) -(2n+1)xP (x)+nP (x) = 0, P (x) = 1,P (x) = x
n+1 n n-1 0 1
n=2,3,4について ルジャンドルの多項式を求めよ。
=========================================================================
漸化式は 普通に関数定義をすると 再帰になる。
(C6) p[_n](_x):=block(if _n=0 then 1 else (if _n=1 then _x else ((2*_n -1)*_x*p[_n-1](_x)-(_n-1)*p[_n-2](_x))/_n));
(D6)p[_n](_x):=BLOCK(
IF _n = 0 THEN 1
ELSE (IF _n = 1 THEN _x
ELSE ((2*_n-1)*_x*p[_n-1](_x)-(_n-1)*p[_n-2](_x))
/_n))
(C7) p[2](x);
(D7) (3*x^2-1)/2
(C8) p[3](x);
(D8) (5*x*(3*x^2-1)/2-2*x)/3
(C9) ratsimp(%);
(D9) (5*x^3-3*x)/2
(C10) p[4](x);
(D10) (7*x*(5*x*(3*x^2-1)/2-2*x)/3-3*(3*x^2-1)/2)/4
(C11) ratsimp(%);
(D11) (35*x^4-30*x^2+3)/8
block文は大きめの関数を書くときに便利。
演習4.1 上の例題でP[2/3](x)とするとどうなるか?
(注) stack overflow する。reduceとは動作が異なる。
演習4.2
Hermite(エルミート)の多項式の漸化式
H (x+1) -xH (x)+nH (x) = 0 (n>=1)
n+1 n n-1

H (x) = 1,H (x) = x とする。n=2,3,4についてH (x)をもとめよ。
0 1 n


56:GO MAXIMA
02/07/07 13:05

第5章 DF 微分演算子

代数式fの変数x に関するn回微分あるいは変数x、yに関するm、n回偏微分など
を自動的に計算する。
maximaでは 微分は diff、関数関係は depends文で宣言する。

=========================================================================
例題5.1
代数式 5 2 3
f=ax y +bx y が与えられてたとき df/dx、
5 3 2
∂ f/∂x ∂y, df/dt を計算せよ。
=========================================================================
(C2) f:a*x^5*y^2+b*x^3*y $
(C3) diff(f,x);
(D13) 5*a*x^4*y^2+3*b*x^2*y
(C4) diff(f,x,3,y,2);
(D14) 120*a*x^2
(C5) diff(f,t);
(D5) 0
最後の結果は x、yが tと関数関係にある場合はdepends文で宣言してやれば正
しく計算できる。宣言しないときは 関数関係がないものとして扱われる。
(C7) depends(x,t,y,t);
(D7) [x(t), y(t)]
(C8) diff(f,t);
(D16) 2*a*x^5*y*'DIFF(y,t,1)+b*x^3*'DIFF(y,t,1)+5*a*x^4*'DIFF(x,t,1)*y^2
+3*b*x^2*'DIFF(x,t,1)*y
この表示はdisplay2d:true としたときの方がきれい。

==========================================================================
例題5.2
ルジャンドルの微分方程式
(1-x^2)y'' -2xy'+n(n+1)y = 0の解は Rodriguesの公式
P (x)=1/(2^n*n!) diff((x^2-1)^n,x,n)を満たす。n=1,2,3について
n

P (x)を出力してこれを確かめよ。
n
==========================================================================
(C9) p[_n](_x) := ratsimp(diff((_x^2-1)^_n,_x,_n)/(2^_n*_n!));
(D9) p[_n](_x):=RATSIMP(DIFF((_x^2-1)^_n,_x,_n)/(2^_n*_n!))
(C10) for i:1 thru 3 do display(p[i](x));
p[1](x) = x
p[2](x) = (3*x^2-1)/2
p[3](x) = (5*x*(3*x^2-1)/2-2*x)/3
(D10) DONE
p[3](x)はratsimp(p[3](x))で(5*x^3-3*x)/2となる。
(C15) for i:1 thru 3 do display(ratsimp((1-x^2)*diff(p[i](x),x,2)-2*x*diff(p[i](x),x)+i*(i+1)*p[i](x)));
RATSIMP(0) = 0
RATSIMP(3*(3*x^2-1)-6*x^2+3*(1-x^2)) = 0
RATSIMP(4*(5*x*(3*x^2-1)/2-2*x)-2*x*(5*(3*x^2-1)/2+15*x^2-2)/3+15*x*(1-x^2))
= 0
(D15) DONE


57:GO MAXIMA
02/07/07 13:21
例題5.3は 略
==========================================================================
例題5.4
非線形偏微分方程式(KdV 方程式)
diff(u(x,t) + 6 u(x,t) diff(u(x,t),x) + diff(u(x,t),x,3) = 0
の 1 ソリトン解は
u(x,t)=2*k^2/cosh^2(k*(x-c*t)) である。cは kの関数 でありソリトンの速
度をあらわす。cを求めよ。
==========================================================================
maximaの3角関数の指数はcosh(x)^2のように 後に書くことに注意する。
関数型が与えられているので 左辺に代入して3角方程式を解くだけであるが
自動で 求まらなくても 落ち着いて 必要な項を 取り出し 黒板でやるように
手動でやらねば ならぬこともあることに 留意してください。
(C1) u(x,t):=2*k^2/(cosh(k*(x-c*t)))^2;
(D1) u(x,t):=2*k^2/COSH(k*(x-c*t))^2
(C2) depends(c,k) $
(C3) s:ratsimp(diff(u(x,t),t) +6*u(x,t)*diff(u(x,t),x)+diff(u(x,t),x,3));
(D3) -(48*k^5*SINH(k*x-c*k*t)^3+((-32*k^5-4*c*k^3)*COSH(k*x-c*k*t)^2+48*k^5)
*SINH(k*x-c*k*t))
/COSH(k*x-c*k*t)^5
ここで必要なのは 分子=0を解くことだから
分子を取りだす num(d3)、これはnumeratorの意味である。
または より一般的に part(d3,1,1)としても同じ maximaでは 細かい項の操作
はpart関数を使うので マニュアルを調べておくこと。
(C4) s1:num(%);
(D4) -(48*k^5*SINH(k*x-c*k*t)^3+((-32*k^5-4*c*k^3)*COSH(k*x-c*k*t)^2+48*k^5)
*SINH(k*x-c*k*t))
cosh^2(x)=1+sinh^2(x)の関係をいれる必要があるが置き換えは一回なので
substを使った。substは代入の演算子です。
本格的には matchdeclare(x,true);としてxはなんにでもマッチしますと宣言
してからlet(sinh(x)**2,cosh(x)**2-1); letsimp(d4);
でいける。3章のletsimpを参照せよ。
(C5) subst([cosh(k*x-c*k*t)^2=sinh(k*x-c*k*t)^2+1],s1);
(D5) -48*k^5*SINH(k*x-c*k*t)^3-SINH(k*x-c*k*t)
*((-32*k^5-4*c*k^3)*(SINH(k*x-c*k*t)^2+1)
+48*k^5)
(C6) trigsimp(%);
(D6) (4*c*k^3-16*k^5)*COSH(k*x-c*k*t)^2*SINH(k*x-c*k*t)
trigsimpしないでいきなりfactorでも この場合はうまくいくはず。
(C7) factor(%);
(D7) -4*k^3*(4*k^2-c)*COSH(k*(x-c*t))^2*SINH(k*(x-c*t))
c=4k^2 ここは solve(d7,c);でもよいとにかくcは定数だからこれしかない。
次の演習問題はやや難しい。
演習5.1
次の非線形波動方程式(sine-Gordon方程式)
diff(u(x,t),x,2) - diff(u(x,t),t,2) = sin u
の 解(1-K解)は
u= 4arctan (exp (±(x-vt)/sqrt(1-v^2))) となることを確かめよ。
ただしsin(x)=4tan(x/4)(1-tan(x/4)^2)/(1+tan(x/4)^2)^2を
途中で必要とする。
演習5.2
エルミート多項式H[n] (x)はつぎの微分方程式をみたす。
y'' - xy' + ny = 0
n=4のときの解は 3+ax^2+bx^4である手計算でa,bを求めよ。


58:maximan
02/07/14 14:02
Maximaへのインターフェイス。
いくつか考えられますが、Souza, Fateman, Moses, Yapp氏らが書いた「The Maxima Book」が参考になりました。検索かけてみたください。PDFファイルがhitすると思います。
試してみた感じ、計算させるだけで印刷したりしないのなら、
emacs + maxima + maxima.el,maxima-symbols.el,maxima-font-lock.el
で充分だとおもいます。


59:maximan
02/07/14 16:07
>>40
いい企画(?)ですね。いつも楽しみにしています。
ところでこの「例題/演習」は、第何章ぐらいまで続くのでしょうか?
それと、Maximaのドキュメントってあまり、充実していないように思うのですが(ですからこの「例題/演習」がありがたい)、市販のMacsyma関係の書籍で入門者にお勧めの1冊ってどれでしょうか?



60:GO MAXIMA
02/07/14 16:52
>>59
11章くらいです。
今ちょっと H:matrix([e1,v,0],[v,e2-e1,v],[0,v,-e2]);
これの固有ベクトルを求めることが sci.math.symbolicmathのnewsgroupで
話題になっていて mapleでは 求まって maximaとmupadでは求まらない、
とあったので調べていた。原因は 固有値までは求まるのだが 固有方程式が
解けない。ただの3元1次方程式が 解けないのだから 厨房にまけ?

なお固有値の計算をするとき load("eigen")$としてライブラリをよびだす
のは eigen.mc (新しいバージョンではeigen.mac)をLISPにコンパイルした
ものは 完全に同じ動作をしないからである。このへんは コモンLISPのむずな
ところで 要するに eigen.macをきれいに書けばよいのだが VER7.0くらいまで
は見込がなさそうなので いちいち始めに一回loadする。eigenのライブラリは
ちょっとプログラムスタイルが 悪いというかコワイ部分(ループのなかでルー
プ終端値を書き換えたりする、HP-25のP.ヘンリッチを思い出す)がある。
時代もののせいだろうか。
L1:eigenvalues(H);
L1[1][1];は 固有値のひとつ 。たった3次の正方行列の固有値のひとつが
このようになること自体に 数値処理と数式処理の深いみぞが見れる。

(-SQRT(3)*%I/2-1/2)*(SQRT(-32*v^6-(21*e2^2+6*e1*e2+21*e1^2)*v^4
-(24*e2^4+6*e1*e2^3-36*e1^2*e2^2 +6*e1^3*e2+24*e1^4)
*v^2-4*e2^6+12*e1*e2^5+3*e1^2*e2^4 -26*e1^3*e2^3+3*e1^4*e2^2+12*e1^5*e2
-4*e1^6)/(6*SQRT(3)) +(e2*v^2+e1*(-v^2-e2^2)+e1^2*e2)/2) ^(1/3)
+(SQRT(3)*%I/2-1/2)*(2*v^2+e2^2-e1*e2+e1^2)
/(3*(SQRT(-32*v^6-(21*e2^2+6*e1*e2+21*e1^2)*v^4
-(24*e2^4+6*e1*e2^3-36*e1^2*e2^2+6*e1^3*e2+24*e1^4)
*v^2-4*e2^6+12*e1*e2^5+3*e1^2*e2^4-26*e1^3*e2^3
+3*e1^4*e2^2+12*e1^5*e2-4*e1^6) /(6*SQRT(3))
+(e2*v^2+e1*(-v^2-e2^2)+e1^2*e2)/2)^(1/3))
このくらいになると 検算をしておくのが普通です。(むやみに 数式処理シス
テムを信じないこと)
もとの特性方程式はcharpoly(H,x);としてもでてくるが,determinant(H
-x*ident(3));としても同じ。ratsimp(%);で整理する。
-x^3+(2*v^2+e2^2-e1*e2+e1^2)*x+(e2-e1)*v^2-e1*e2^2+e1^2*e2
という3次方程式(=0は省略される)の解になっていることを確かめる。
直接代入すると subst([x=L1[1][1]],この方程式);ratsimp(%);で
QUOTIENT by ZERO (0割のえらーでっせ)
-- an error. Quitting. To debug this try DEBUGMODE(TRUE);)
えーーそんなあほな この程度の検算もできん数式処理システム降りさせても
らいますとなるところ。でもちょっとまって固有値L1[1][1]をよく見てみると
6行目の/は最後までかかっていて そのなかに別の/がある。つまり数値用と
兼用のライブラリだから この固有値は 整理されていない。計算の途中で0で
割っている用に見えてもみかけだけやないだろうか?ということで
L2:ratsimp(L1[1][1]);subst([x=L2],この方程式);rasimp(%);であたりまえ
だが0が 返って来て 検算ができた。(続く)


61:あぼーん
あぼーん
あぼーん

62:GO MAXIMA
02/07/14 17:54
えーと 本では BARBARA HELLER の MACSYMA for Statisticans
John Wiley & Sons,Inc 1991
ISBN 0-471-62590-6
もし品切れでもこの本は外国では割りに出回っていたはずなのでアマゾンの
アメリカなら古本やで見つけてくれるとおもいますね。
品切れでなければ日本のアマゾンの方が安いでしょうけど。
この本は最後の7章Advanced Uses of MACSYMAのできが悪いが1章から
6章まで 解説と 演習もバランスもよく特に演習には 後ろに実行した解が
載せられていて 自習するひとに親切です。MACSYMAとなっていますが
すべてMAXIMAで実行できます。テンソルやGUI関連の記述はありません。

1章 Getting Started
1.1 Introduction
1.2 Entering MACSYMA and Typing Command Lines
2章 Variables,Lists,Equations,and Arrays
2.1 Atomic Variables,Numbers,Lists and Equations
2.2 Functions
2.3 Arrays
2.4 Subscripted Functions
2.5 Some Predefined MACSYMA Functions
3章 Iteration,Conditional,Blocks,Recursion
3.1 Iteration
3.2 Compound Statements
3.3 Conditionals
3.4 Blocks
3.5 Recursion
4章 Part Selection,Substitute,and Ev
4.1 Selection of Part of an Expression
4.2 Substitution
4.2.3 Edgeworth Expantionこの部分だけ数学的なレベルが高い
4.3 Ev
5章 Internal Representation,Storage,General Utilities
6章 Matrices and Lists
7章 Advanced Uses of MAXSYMA
7.1 Pattern Matching
7.2 Rules この章は改定してもらいたいがMacsyma Inc.がなくなったので無理
か!
Referenced
Answer to the Exercises
Index 全P241


63:maximan
02/07/14 22:45
>>62
contentsまでありがとうございました。
参考にしたいとおもいます。


64:maximan
02/07/15 02:26
次の問題を解け。
(問)生産技術x=K^(alpha)*L^(beta)を有する企業Aがある。この企業Aの費用最小化問題をラグランジュの未定乗数法を用いてMAXIMAで解け。
以上の問題を数式で表現すれば以下のようになる。
(ここで、x:生産量、L:生産要素(労働)、K:生産要素(資本)、w:Lの価格、r:Kの価格、cost:費用である。)
min cost=w*L+r*K
s.t. x=K^(alpha)*L^(beta)
MAXIMAプログラム:
(C1) cost:w*L+r*K$
(C2) constraint:x-K^alpha*L^beta$
(C3) mincost:cost+lambda*constraint$
(C4) FOC1:diff(mincost,K)$
(C5) FOC2:diff(mincost,L)$
(C6) FOC3:diff(mincost,lambda)$
(C7) solve([FOC1=0,FOC2=0,FOC3=0],[lambda,K,L]);
(D7) []

??? 解けませんねー。ここで選択変数K,Lの最適解を求めるにはどのような工夫をすればいいのでしょうか。どなたかご教示ください。
ちなみに、
K=(alpha*w/beta*r)^(beta/(alpha+beta))*x^(1/(alpha+beta),
L=(beta*r/alpha*w)^(alpha/(alpha+beta))*x^(1/(alpha+beta).
min.costは略。


65:あぼーん
あぼーん
あぼーん

66:GO MAXIMA
02/07/15 17:27
>>64
以下のような理由でこの問題には数式処理による厳密さを保った解は表現しき
れないよいうちょっとむずな話です。
いまちょっと時間がないのですが これは 昨年の9月か10月ころ話題になった
のですが
(C1) solve(x^n -x^m,x);
(D1) [x^n = x^m]
とよくにています。 このとき nとmの場合分けの複雑さから 数式的には
ほとんど正しい解または解法はない。ということだったようです。
いまの問題に即していえば lambdaを消去して
(C30)algsys([beta*r*k-alph*w*l,x-k^alpha*l^beta],[k,l]);を解くことにな
るのですがとけません。alphを3として betaを5とした場合がとけるので結果は
(C43) algsys([3*r*k-5*w*l,x-k^5*l^3],[k,l]);
(D43) [[K = (SQRT(2)*125^(1/8)*%I+SQRT(2)*125^(1/8))*(w^3*x/r^3)^(1/8)
/(2*27^(1/8)),
L = (3*SQRT(2)*5^(3/8)*%I+3*SQRT(2)*5^(3/8))*r^(5/8)*x^(1/8)
/(10*3^(3/8)*w^(5/8))],
[K = 125^(1/8)*%I*(w^3*x/r^3)^(1/8)/27^(1/8),
L = 3*5^(3/8)*%I*r^(5/8)*x^(1/8)/(5*3^(3/8)*w^(5/8))],
[K = (SQRT(2)*125^(1/8)*%I-SQRT(2)*125^(1/8))*(w^3*x/r^3)^(1/8)
/(2*27^(1/8)),
L = (3*SQRT(2)*5^(3/8)*%I-3*SQRT(2)*5^(3/8))*r^(5/8)*x^(1/8)
/(10*3^(3/8)*w^(5/8))],
[K = -125^(1/8)*(w^3*x/r^3)^(1/8)/27^(1/8),
L = -3*5^(3/8)*r^(5/8)*x^(1/8)/(5*3^(3/8)*w^(5/8))],
[K = -(SQRT(2)*125^(1/8)*%I+SQRT(2)*125^(1/8))*(w^3*x/r^3)^(1/8)
/(2*27^(1/8)),
L = -(3*SQRT(2)*5^(3/8)*%I+3*SQRT(2)*5^(3/8))*r^(5/8)*x^(1/8)
/(10*3^(3/8)*w^(5/8))],
[K = -125^(1/8)*%I*(w^3*x/r^3)^(1/8)/27^(1/8),
L = -3*5^(3/8)*%I*r^(5/8)*x^(1/8)/(5*3^(3/8)*w^(5/8))],
[K = -(SQRT(2)*125^(1/8)*%I-SQRT(2)*125^(1/8))*(w^3*x/r^3)^(1/8)
/(2*27^(1/8)),
L = -(3*SQRT(2)*5^(3/8)*%I-3*SQRT(2)*5^(3/8))*r^(5/8)*x^(1/8)
/(10*3^(3/8)*w^(5/8))],
[K = 125^(1/8)*(w^3*x/r^3)^(1/8)/27^(1/8),
L = 3*5^(3/8)*r^(5/8)*x^(1/8)/(5*3^(3/8)*w^(5/8))]]
これでbetaを6とすると
(C49) algsys([6*r*k-3*w*l,x-k^3*l^6],[k,l]);
(D49) [[K = (SQRT(3)*%I-1)*w^(2/3)*x^(1/9)/(2*4^(1/3)*r^(2/3)),
L = (SQRT(3)*%I-1)*r^(1/3)*x^(1/9)/(2^(2/3)*w^(1/3))],
[K = -(SQRT(3)*%I+1)*w^(2/3)*x^(1/9)/(2*4^(1/3)*r^(2/3)),
L = -(SQRT(3)*%I+1)*r^(1/3)*x^(1/9)/(2^(2/3)*w^(1/3))],
[K = w^(2/3)*x^(1/9)/(4^(1/3)*r^(2/3)),
L = 2*r^(1/3)*x^(1/9)/(2^(2/3)*w^(1/3))]]
つまりもし数式的に解けると仮定すると この単純な2つのalph betaにたいし
てさえ 解の個数つまり表現形がことなるので 場合分けが必要ですね。
では 一般のalphとbetaのとき どれだけ 場合わけしてしめしたらよいのでしょ
うか? ということで不可能としているのです。
ただし 実用上は 他の数式処理システムのように 厳密性に目をつぶって
えいやーとひとつの解をほしいときもあります。この場合もそれにあたるでしょ
う。こんなときは ほしい解の正当性をじぶんが 保証できる場合にあたり
mmmsolveとかいう名前でsolveの関数を書かなければいけません。

67:あぼーん
あぼーん
あぼーん

68:maximan
02/07/16 18:11
>>66
消化にはもう少しばかり時間が要りそうです。そこで2、3質問ですが、

(C) is(x^(1/3)*x^(1/3)=(x*x)^(1/3));
(D) TRUE
なのに、
(C) is(x^(1/2)*x^(1/2)=(x*x)^(1/2));
(D) FAULSE
となるのは、何故でしょうか?sqrt(x)をx^(1/2)とMAXIMAに扱わせたりできないのでしょうか。
それと、「これは 昨年の9月か10月ころ話題になった」そうですが、何処で話題になったのでしょうか?MAXIMA MLですか、それともsci.math.symbolicmathのnewsgroupでしょうか。
最後に、sci.math.symbolicmathのnewsgroupって、どこをたどっていけば講読できるのでしょうか?


69:GO MAXIMA
02/07/16 19:20
えーと最初の問題についてはもう 気づいておられると思いますが

(C2) is(x^(1/2)*x^(1/2)=x);
(D2) TRUE
(C3) is((x*x)^(1/2)=x);
(D3) FALSE
C3の(x*x)=(-x*(-x))ですからね。このへんは受験生のほうが詳しいかも。
(C5) assume(x>0);
(D25) [x > 0]
(C26) is((x*x)^(1/2)=x);
(D26) TRUE

MAXIMAのメーリングリストです。8月かも、なんかおかしな大学の教官が
乱入してきて 皆あきれていたが さすが皆は親切でしたね。

>sci.math.symbolicmathのnewsgroupって、どこをたどっていけば講読でき
るのでしょうか?
今は URLリンク(www.Google.co.jp) の画面上の グループをクリック
sci.応用科学.社会科学 をクリック
sci.math*をクリックしてsci.math.symbolicをクリック
ここから検索も投稿もできます。ただし 投稿はspamにさらされる可能性が
高いらしく私は友人のアドバイスに従って投稿は控えています。
このGoogleサイトのお蔭で(高速です。) 、購読する必要は無くなっていると
思います。特にグループ内検索は便利ですよ、90年以前のでもとってきますか
ら。


70:GO MAXIMA
02/07/16 19:26
えーと最初の問題についてはもう 気づいておられると思いますが
(C2) is(x^(1/2)*x^(1/2)=x);
(D2) TRUE
(C3) is((x*x)^(1/2)=x);
(D3) FALSE
C3の(x*x)=(-x*(-x))ですからね。このへんは受験生のほうが詳しいかも。
(C5) assume(x>0);
(D25) [x > 0]
(C26) is((x*x)^(1/2)=x);
(D26) TRUE

MAXIMAのメーリングリストです。8月かも、なんかおかしな大学の教官が
乱入してきて 皆あきれていたが さすが皆は親切でしたね。

>sci.math.symbolicmathのnewsgroupって、どこをたどっていけば講読でき
るのでしょうか?
今は URLリンク(www.Google.co.jp) の画面上の グループをクリック
sci.応用科学.社会科学 をクリック
sci.math*をクリックしてsci.math.symbolicをクリック
ここから検索も投稿もできます。ただし 投稿はspamにさらされる可能性が
高いらしく私は友人のアドバイスに従って投稿は控えています。
このGoogleサイトのお蔭で(高速です。) 、購読する必要は無くなっていると
思います。特にグループ内検索は便利ですよ、90年以前のでもとってきますか
ら。

71:GO MAXIMA
02/07/16 21:51
えーと最初の問題についてはもう 気づいておられると思いますが
(C2) is(x^(1/2)*x^(1/2)=x);
(D2) TRUE
(C3) is((x*x)^(1/2)=x);
(D3) FALSE
C3の(x*x)=(-x*(-x))ですからね。このへんは受験生のほうが詳しいかも。
(C5) assume(x>0);
(D25) [x > 0]
(C26) is((x*x)^(1/2)=x);
(D26) TRUE

MAXIMAのメーリングリストです。8月かも、なんかおかしな大学の教官が
乱入してきて 皆あきれていたが さすが皆は親切でしたね。

sci.math.symbolicmathのnewsgroupって、どこをたどっていけば講読でき
るのでしょうか?
今は URLリンク(www.Google.co.jp) の画面上の グループをクリック
sci.応用科学.社会科学 をクリック
sci.math*をクリックしてsci.math.symbolicをクリック
ここから検索も投稿もできます。ただし 投稿はspamにさらされる可能性が
高いらしく私は友人のアドバイスに従って投稿は控えています。
このGoogleサイトのお蔭で(高速です。) 、購読する必要は無くなっていると
思います。特にグループ内検索は便利ですよ、90年以前のでもとってきますか
ら。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4359日前に更新/446 KB
担当:undef