日曜日, 5月 29, 2016

Theorist Ver1.5 完全復活

すでにお伝えしたように、ボケて、Theoristの細かい使用法(今思うと、完全理解もしていなかった!)が、予期せず丁度休みの日にアマゾンから注文しておいた梶原氏のテキストが届いた。うれしいが、表紙を見ると何か恥ずかしい気がして、しばらくページを開いてもよく理解できなかった。

それでもSheepShaver上で文句もいわず黙々と働いてくれるTheoristはもっとも昔のMacソフト風の面影を色濃く残す今では超貴重な文化財でもあると思う。

何日か眺めていても、一方ではMathLabも遅れているがそちらにも期待が移るし、RやOctaveなどにも未練があって、どうしようか中々心が決まらない。

たまたま秩父での仕事が出て、運転は同僚がしてくれたので改めてTheoristのページをいろいろ眺めていたら、35ページに、0.3.6 線形代数 の項目に全てではないがエッセンスが書かれている!?と思った。

行列の入力のパレットにある4行4以上のデータや文字式の入力に関して極めて適切に解説が施されている。(上図4行目以降)

何度か読み返してみて、これで帰ったらTheoristをさわって、それで実行してみようと思い立った。

ただ、現代数学社のBASIC数学に時たま投稿するたしか同姓の梶原〜という教授がおって、Theoristを使っていると目がショボショボしてしまう、などとあまり評価していない書き込みがあり、自分でも使ってみてそれもあたっているなとも思う。また、最初にMathematica2.1ついで2.2が送られてきて大分たってからTheoristを購入、これはどこで買ったかも覚えておらず一応マニュアルがあったが、一目見て数学の専門家が解説したものではないとわかったので、読まずに放り投げていた。

帰って早速試すと、これはRやOctaveでのベクトル入力と同じ感覚とすぐにわかった。
縦ベクトルで36行なら、データ入力後に;をデータのすぐ後ろに打つだけで自動的に?が現れ、入力を要求する。2列のデータなら二列目がすんだらやはり;で??が現れる。この調子で自分のデータも全て入力が終わった。

ただデータの総計が36データ、目的変数は一列、説名変数は2列、36行であり、どうしても縦に長くなるし、転置行列もつくると2行、36列の横長データとなってしまう。
しかも横データの場合、白いノートパッドに数字が並ぶだけで位置情報などの補助が最初と最後だけしかわからず、列ベクトルの自動転置が(多分)できないので、自ら,を打ちながら横に展開させ、チェックのために画像を撮り、印刷して数字の直しや番号のオーバーラップなどを修正した。これが一番手間がかかった。MatLabやOctaveなどは画面上での入力の手間は同じだが、どちらも皆テキストデータなどの入出力機能があって、今回の場合などはそれを行うに限る。


前回Octaveで8データからなる2説明変数の重回帰式をとりあげたが、以前のTheoristでの例と同じデータだったので、そのまま、定数項0の行列に直し、試運転してみた。
結果は勿論あっている。といいたいところだが、最初の4行と最後の4行をあわせたデータを用いたためため、まだ検算をしていない。Octaveのマニュアルにも書いてあったが、エクセルにただ数値を入力しても直に結果は出るが、それでは実力がつかない、と書かれている。

定数項なしの答えが出る直前の状態がこれで、これで実習しておいたので、本番であせらなかった。2行8列のベクトルと一列8行ベクトルのかけ算で、答えが一行2列の出力となる。
左から順々に計算をさせる。

次に難点だったのが代入。2、3列の行列演算だったら良いかもしれないが、ページ2〜3ページ代入すべき変数が離れてしまうとどうするんだろうと一日考えたが、結局コマンドメニューを押しながら目的地までドラッグしさえすればOKとわかった。

8データの時は式を全部表示させて、左から順々に計算させていけばよかったが、36個もあると代入も大変だし、仕方がないので、区切って個別に計算した。

X*Xt(Xの転置)の計算をまず行う。すると(78.963,420.94;420.94,3280.2)が得られ、その逆行列が()^-1で自動的に出てくる。それが、(0.040089,−0,0051445;ー0.0051445,0.00096544)となっている。
次にXt*yの計算で逆行列とXtとを掛けた後に目的変数ベクトルと最後のかけ算となる。

ところが逆行列と説明変数の計算結果はこうした場合、コピー&ペーストが効くかためしたら、可能だったので、そうした。ところが最後のかけ算でエラーが出てしまった。
最初はなぜか不明だったが、最後にかける目的変数(36行ベクトル)とのかけ算ではやはり36列でなければならない、ということで、コピーした逆行列の個数を数えたら一個たりない。

これもプリントして番号を付けていったら最後の一組だけ落ちていたので、その上下2個の値を追加して終了。(-0.02741;0.01348)を末尾に追加。

するとyの代入も済み、演算させるデータを変色(選択)し、処理メニューより計算を選ぶ。すると答えが二つ出た。
Windowsのエクセルで何度も検算した結果と比べると以下のような結果となった。
ここでXの項目は、10センチの枝の直径と、樹皮内部の当年生長量(cc)を表し、yは、その枝から放出される切断後、数時間以内に計測した二酸化炭素量で23℃、一時間あたりの表示である。平成元年の学会で日本語で発表済みだが、公刊しないと意味がないとされる。
梶原氏も国内で和文で発表されたものは雑文とみなされ、英語などで発表しないと業績とみなされないとシリーズ後半の著作中でくどく述べられている。
この起動画面が出るようになったのは買ってから数年後であり、それまではバージョンアップしていたのであろう。SheepShaverのウィンノート版も作り、教え子たちから強制的にウィン派に変更せざるを得なかった梶原先生には、確かCDに焼いたか、USBに入れたかして、Macも壊れTheoristも動かずだろうと推測して、お送りした事がある。勿論雑誌の簡単なマニュアルを同封して。後日、いちおうお礼の手紙が来たが、今はそれも記憶の彼方。

Theoristが動き出した先週の金曜日にアカデミックソフトから連絡がきて、ライセンスナンバーとダウンロード先の連絡があり、こうもタイミングがどこかで合うのも面白いとおもった。
まだ碌にみてもいないが、画面がiMacのスクリーン全体が自由に使える意外には今のところこれといって魅力がないようである。Matrix入力もこちらは5行5列まであるが、Theoristの後継ソフトといわれても見た目はそうかもしれないが、;や、で区切っても行や列数に変化はないようである。ただ、ライセンスは3台のPCまでOKで期間の制約はなくなっている。マニュアルは無いも同然で使って覚えろか!?

梶原教授は、Theoristを最もMac的なソフト、で式の代入も、将棋の駒を指すかのような、代入すべき式をマウスで押さえたまま代入すべき場所に移し、マウスを放す、ドラッグ操作で済む、WYSIWYG, What you see is what you get. 見ての通りに結果が得られ、呪文のタイプの必要は全くない。などとあり、

158Pには、これで京大院入試はおわりであるが、(28)の右辺に上記要領で代入計算させると初期値問題の解を得る。母のほうのソフトTheoristばかり紹介すると娘のMathematicaが嫉妬し母と娘がHard Disk内でトラブルを起こすと困るので、娘の方の顔も立てて、Mathematicaに(6)式を数式処理させて、大学のスパコンに走らせられる様に、フォートラン語で表現させると次頁のとおりである。

とあり、MathematicaよりもTheoristの方が母だとはたとえもあろうが初めて認識した。

追加
いろいろ代入操作をしていたら、いつの間にかyベクトルが消えていたので、また新たに入力しなおした。その初期画面。4個の入力が終われば;をおすと5つめの?が自動的に現れる。

0 件のコメント: