MAXIMA

このエントリーをはてなブックマークに追加
422名無しさん@3周年
Deriveサブセットが載ってる、
Texas Instrument Voyage200
http://www.naoco.com/calc/voyage_200.htm
なら、こんな事も出来るぞ。

http://up.goraa.info/gazou/img-box/img20040828234121.jpg
このようにきわめてアレな関数を定義する。

どのようにアレかというと…
http://up.goraa.info/gazou/img-box/img20040828234138.jpg
激しすぎww

http://up.goraa.info/gazou/img-box/img20040828234148.jpg
まずy1(x)とy2(x)の交点のx座標を列挙し、それをy1(x)に代入する。

http://up.goraa.info/gazou/img-box/img20040828234202.jpg
テキストエディタに貼り付けて、正しく六個の交点が求められていること
が判る。

以上、解析的に求められる一例。
絶対値含んだ関数を微分して、微分可能な点だけ数を返す様なことも可能。
423名無しさん@3周年:04/09/15 18:53:09
http://vladimir.ddo.jp:8888/cgi-bin/upload2/src/pic2230.jpg
こういう微分をさせてみる。絶対値を含んでるとMathematicaでもムリだったりする。
sign()は符号関数で、パラメーターが正なら1、負なら-1,0ならsign(0)を返す。
sign(0)は数ではないので、微分可能な点は数を返し、微分不可能なときは数を返さないという形で
ある程度整合性を持って表現できている模様。

http://vladimir.ddo.jp:8888/cgi-bin/upload2/src/pic2231.jpg
微分する前とした後をプロットしてみる。分割画面でグラフそのものと
定義を同時に表示。特に定義の方が全部表示されるように分割比率を調節。

http://vladimir.ddo.jp:8888/cgi-bin/upload2/src/pic2232.jpg
グラフのプロットで定義したy1(x)とy2(x)の交点を求めさせてみる。
なんと解析的に解を出せたりする。(小数点を含んだ近似ではないという意味)

http://vladimir.ddo.jp:8888/cgi-bin/upload2/src/pic2233.jpg
先ほどの解をペーストしてマトリックス形式に変換する命令に食わす。
座標として見やすい並び方に。

http://vladimir.ddo.jp:8888/cgi-bin/upload2/src/pic2234.jpg
交点マトリックスを数値に変換して、先ほどのグラフと同時表示させる。
解が正しいことが判る。なお数値は見やすくするために表示時有効数字6桁
にしてある。(内部14桁)

MAXIMAごときでは全く歯が立たないだろう。
424名無しさん@3周年:04/09/15 19:52:40
>>422-423 落ち着いてください.

よーし,パパ Lisp で
425名無しさん@3周年:04/09/16 00:49:51
>>422-423
あのー、ちょっと程度が低いんじゃありませんか。。

まあ、話題を提供してくれるのは嬉しいんだけど。。
426名無しさん@3周年:04/09/16 04:39:35
>>425
え、MAXIMAじゃこれ出来ないでしょ。
悔しかったらやって見せてみなよ。
427名無しさん@3周年:04/09/16 08:11:32
>>426
活発なプロジェクトらしいので,良いアイデアがあれば連絡を取ってみるのも
いいと思います.
428名無しさん@3周年:04/09/16 14:44:00
429名無しさん@3周年:04/09/16 15:28:09
なんか、商品として売っているもので正確に完全に実行できるものを、
タダで手にはいるからといってそれに実装しようとヘコヘコしてるのは
人生棒に振ってませんか?
430名無しさん@3周年:04/09/16 15:31:18
悪いけど、199$の計算機で出来る既知のアルゴリズムを
労力かけて実装しようという意味が全くわからない。
431名無しさん@3周年:04/09/16 15:35:39
あ、ちなみにこの計算機でwhen(A,B,C)ってのは、
Aが真の時Bを返し、Aが偽の時にCを返すという意味です。
432名無しさん@3周年:04/09/16 15:39:28
>>351は場合分けを全く含んでいないから数学的に誤りだよね。
433名無しさん@3周年:04/09/16 15:56:21
>>428
これは>>64 の問題は>351 352 で解けていますがなにか?(428よりエレガントにね)
数値計算で味付けしただけでしょ、deriveは。
コンピュータは アルゴリズムを載っけただけですから
できないのはMAXIMAではなくて あんたの頭だということを
忘れていませんか?
商売でないのだから、絶対値つきの連立方程式を解きたい人と言えば
高校生くらいしかによね。そんな人に向いてるのはOK。
数学だけなら 工学部の教授よりできる1、2、年がごろごろしているよ。
そいつらに問うたら、1分で次のようなアルゴリズムが返って来た。
外からabsをはずして+と-の 2つの式のわけて別リストにして再帰的に
繰り返し absがn個なら2^nの式になる。2元なら2^n*2^mこの連立方程式を
解いて、解を元のabsを含む式に入れてcheckをすればよい。
最後のstepが可能であるのは 解が数値であるときのみで、つまり
これはつまらない問題である、そうです。
商売でなにができるできないというなら別スレでやってください。
数式処理では できないのは頭の問題であることは 皆が知ってます。

434名無しさん@3周年:04/09/16 16:17:30
訂正
>2元なら2^n*2^mこの連立方程式を解いて
2元なら2^n*2^m回 2元連立方程式を解いて
435名無しさん@3周年:04/09/16 16:35:43
>>433
>351はαとβについての場合分けをした解ではないから
「エレガント」なのではなくて「決定的な数学的誤り」ですよ。
単なるヘタレ実装でヘタレ解しかでないだけ。
たとえばx^2=aの解をx=√aしか返さないとしたらそれはエレガントなのではなくヘタレ。
同値変形になってないんだよ。
Deriveは基本能力がMAXIMAとは決定的に違うよ。
そのつまらない問題でさえ手に余るのがMAXIMAだって事は自覚しなさい。
数式処理で出来ないのではなく、「MAXIMAというヘタレ系で出来ない」だけのこと。
混同しないように。
436名無しさん@3周年:04/09/16 16:38:28
現に>>66で「場合分けできっこない」といってる奴の頭で出来ないことを
5ページに完全に記述しきった訳でね。
しかも>>66で場合分けが必要と言っておきながら>>351では全くやってないね。
矛盾もいいとこ。
http://up.goraa.info/gazou/img-box/img20040916143824.jpg
http://up.goraa.info/gazou/img-box/img20040916143910.jpg
http://up.goraa.info/gazou/img-box/img20040916143923.jpg
http://up.goraa.info/gazou/img-box/img20040916143935.jpg
http://up.goraa.info/gazou/img-box/img20040916143957.jpg
437名無しさん@3周年:04/09/16 16:39:57
>最後のstepが可能であるのは 解が数値であるときのみで

これも意味不明だな。
http://up.goraa.info/gazou/img-box/img20040828234148.jpg
これが解析解以外の何だって言うんだ?
438名無しさん@3周年:04/09/16 16:50:08
MAXIMAの普及は数式処理の未来にとって有害だと思うね。
MAXIMAの限界が数式処理の限界だと混同する奴が増えるから。
現に何匹か居るみたいだし。
439名無しさん@3周年:04/09/16 17:00:01
>>433
http://up.goraa.info/gazou/img-box/img20040916165742.jpg
つまらない道具でつまらない発想になってしまった学生たちには
予想の出来ない解を返しましたよ。
場当たり的な個別問題の実装にはとどまらず、かなり広い範囲で条件付の
同値変形を行えるって事よ。
単にグレブナー基底求めましたじゃダメだっての。
440名無しさん@3周年:04/09/16 17:01:07
>>66 では
"つまりもし数式的に解けると仮定すると この単純な2つのalph betaにたいし
てさえ 解の個数つまり表現形がことなるので 場合分けが必要ですね。
では 一般のalphとbetaのとき どれだけ 場合わけしてしめしたらよいのでしょ
うか? ということで不可能としているのです。
ただし 実用上は 他の数式処理システムのように 厳密性に目をつぶって
えいやーとひとつの解をほしいときもあります。この場合もそれにあたるでしょ
う。こんなときは ほしい解の正当性をじぶんが 保証できる場合にあたり
mmmsolveとかいう名前でsolveの関数を書かなければいけません。"
とあり>352でheuristic なアルゴリズムを... とあり矛盾していないように
見えます。むしろ whenが解の表現に有効と主張するのであれば
>>66がいう"解の個数つまり表現形がことなるので 場合分け"が完全にできること
lambdaでなくてK、Lが意味ある形になるかどうかということが問題です。
441名無しさん@3周年:04/09/16 17:09:34
>>440
当然λの完全な表示が求めらているからKもLも出るよ。一対一対応してるでしょ。
442名無しさん@3周年:04/09/16 17:13:54
いやwhenが入っているのは単純な整式とはいえないので、
連立が 可能かどうかは 分からないと言うのが正しい。
443名無しさん@3周年:04/09/16 17:23:36
>>442
なんかこの計算機自分で使っててちょっと恐ろしいんだが、
when付きの式をsolveにぶち込んでもちゃんと正確に解を返すんだよね。
三角関数含んででも解に2@n1*π  (@n1は任意の整数を示す)とか含んで返してくるし。
ちょうどMathematica5のReduce[]というコマンドがこういう事をやる。
Mathematica5のReduce[]の方がかなり強力問題でも解を返すけどね。
444名無しさん@3周年:04/09/17 01:07:31
>>438
別にMAXIMAのかたを持つわけじゃないが、
「Deriveサブセットが載ってる、 Texas Instrument Voyage200」
なるものを、馬鹿チョンで使おうとするアホの出現の弊害の方が
大きいと思うがな。
数学ができないのに気がつかない馬鹿が一番迷惑なんだよな。
445名無しさん@3周年:04/09/17 01:44:04
>>444
MAXIMAだと気づくとでも?
それは使用者の資質に帰する問題だな。
446GO MAXIMA :04/09/17 03:40:27
あの私の書き込みでいろいろ言われていますが、
>>436 これは複素数の範囲での解を含めて>66の発言があるわけで
当然のことながら 436の解もすべてを尽くしていないわけです。
x^alph=1 を複素数の範囲で数式処理で明示的に解けるか考えてみてください。
>>437 解析解でも数値で得られるときと 式ででてくるときもあるでしょう。
数式処理では これらは区別します。これが分からないのは素人さんですかね。
>>438 賛成できません。 しかしmaximaが古臭いシステムであるのは確かです。
これは設計されたときには、十分発展していなくて その後本質的な
役割を果たすようになった数値ー数式の協調相互作用についての実装が
まったくないことが原因です。一例をあげときますと山崎圭次郎 ガロア群の計算
(数学研究へのコンピュータの影響、日本評論社など)高精度数値計算のが
数式処理のみのアルゴリズムを凌ぐ例です。
数値数式の協調相互作用の実装は、応用上も極めて重要であるばかりでなく
、数学の研究に使う場合でも 誰かが言っているように証明すべき命題は
証明される前に発見されている、その多くは数値数式の実験によって、
というわけだから極めて重要である。もう一桁使用者が増えるとそのような
実装を行う人も出てくるであろうと推測できる。
まあ 数式処理の現場での使われ方を書いてある文献は異常な程少ないので
、機能がどうこうと問題にする人がでるのも無理もないのですが。
知らないといことは恐ろしい、自戒も含めて。
447名無しさん@3周年:04/09/17 04:24:20
>>446
確かにx^alph=1 を複素数範囲で明示的に展開することはVoyage200計算機では
出来ないようです。実数なら漏らさずやるようですが。

しかし、x^alph=1をMathematica5のReduceでやってみて下さい。
驚愕しますから…

こういう解返されると人間が複素数体でやる事なんて無いんじゃないかとも思えてくる。