教団「二次元愛」

リアルワールドに見切りをつけ、二次元に生きる男の生き様 (ニコニコでは「てとろでP」)

因数分解はPCにさせよう

2011-09-04 00:04:09 | 科学
一般に計算用のソフトとは、数字を計算する類のものがほとんどである。
エクセルやMATLABのようなものだ。

あたりまえだが、こういうモノは値が決まっているものを計算するには向いている。
たとえば
「1 + 2 はいくつか」
というものを計算するような場合だ。

しかし!

この手のソフトには1つ欠点がある。
文字式を処理できないことだ。
たとえば
「a^2 + 2ab + b^2 を因数分解せよ」
という場合だ。

数字を直接あつかう計算ならカンタンなのに、なんで文字式だと難しいのだろうか?

その答えはプログラムをかじったことがある人ならたぶん誰でも直感的に理解できよう。
これは一般的なCPUというものが文字式の計算をそのままできるようなアーキテクチャになっていないから、プログラムでそれをやろうとするとえらく面倒になるからだ。
(それと同じく、分数や無理数の厳密解を解かすのもまたえらく面倒である)

では、PCでは文字式の計算をすることはできないのか?

いや、できる。
MuPADという文字式の計算ができるソフトがあった。
おまけにMuPAD Lightはタダで使うことができた。

このソフトは実に役立った。

ちょっと専門的な話になるが・・・
高周波で非線形素子や周波数変換器を組みあわせた回路をつくったときに、どの成分でどのスプリアスが発生するのかを、このMuPAD Lightを使って計算したことがある。
手計算だとアタマおかしくなるような超デカい多項式の展開をこれにやらせ、それでも15分かかったが、人力でやるに比べたらあっという間に解いてくれた。
このソフトがあったからこそ歪キャンセラーの理論解を求めることができた。
実にありがたい。



しかし!

MuPADはLight版がなくなってしまい、有料版だけになってしまった。
おまけにMuPADの会社が買収されてしまい、MATLABの一部になってしまった。

現在はMATLABのそのMuPAD相当のオプションだけ買うのでも100万円以上しやがる。
そんなもの買えるか!!!

・・・と思っていたところ。

まだ他にもあったのだ。



Maxima, a Computer Algebra System
http://maxima.sourceforge.net/



↑これである。
ためしに使ってみよう。



【im@s∧math】M@them@tics M@ster 特別編 第4項【因数分解!】
http://www.nicovideo.jp/watch/sm15428793



↑この理工学m@ster祭り2ndの動画で題材にしている因数分解の問題を解いてみる。
この因数分解は、中学校で習った2次方程式の解の公式にそのまま放りこめば誰でもカンタンに解ける類のものではもちろんない。







そして解いたのが↑こちら。
あたりまえだけどちゃんと解けている。

このMaximaはどうか知らんが、たしかMuPAD Lightでは積分は解いてくれないものが多かったように憶えている。
とはいっても、あの因数分解が解けるんだから大したもんだよ。

うぅむ、やるな。
これでタダなんだからなおさらだ。
もうMuPADいらね(笑)。



PCで因数分解ができるってことにティン!ときた人は、Maximaを入れてみてはいかが?