数式処理 J.JSSAC (2005)

Vol. 12,No.

1,

pp.

5-8

特集論文

数式処理黎明期
桂 重俊∗
東北大学名誉教授(Received 2005/05/10

Revised 2005/08/27)

上記の題で原稿を書くようにとの mail を編集委員より頂いた．2000 年数式処理 [1] の論文の第 1 章にに書いたことを焼き直して責めを塞ごうと思っていたところ，野田松太郎先生が「同じ資料の同じ講演は二度はしない」と言われた [2] ことを知り，愕然とした．それで執筆辞退を申し出たが何か書くようにとのことで，数式処理の歴史に関する前論文を補足しながら書くことにする．

1960 年頃から計算機が役に立つことは物理学者，工学者の間に徐々に浸透してきたが，1/2+1/3 =0.833333 で，また 0.000001 を 1000000 回加えても 0.9999976 にしかならない．このため計算機の発展に対して一番冷たかったのは数学者であったのではあるまいか．これをなんとかしたいと有理数計算のソフトを情報処理学会に遠藤恵子君，高橋理君とともに出したのは SENAC のメ
モリ 1000 ワード＝ 6kB の時代であった [3]．十数年後電電通研の AL が発表されたとき（池原悟，岡田博他 [4]）これが日本における数式処理の最初の論文であるといわれたときには驚いた．
一番冷たかったのは数学者であったと述べたが岩村聯，島内剛一，米田信夫，赤摂也，等数学基礎論のグループは ALGOL-N の作成に情熱を傾けた．大磯のプログラムシンポジウムの中心的課題の一つであった．
その後研究室で数式処理システムを作ろうと思うに至った．1972 年の卒業研究で石黒新一君が FORTRAN で数式処理システムを作り，log x を x で微分して 1x になったという発表に対して，T 先生から「君，それは計算機がやったんだろ，君は一体何をしたんだ」という質問を受けて憤慨したことを思い出す．これも 5 回微分におよんでメモリオーバーになった．大型計算機センター（以下大計と略す）の利用者当たりのメモリーが 8kW の時代であった．1975 年滝沢誠
君は FORMAS をつくって大磯のプログラミングシンポジウムで報告した [5]．1978 年鈴木正幸
君がつくった SLISP の上の SREDUCE は東北大大計の NEAC にのってながくサービスに供せられるようになった [6]．この間阿部芳彦君の努力はわすれられてはならない．

1970 年代の後半 H 先生が東北大で講演されたとき「データベースや数式処理が役に立つ日が∗skatsura@katsura.ddnn.jp

c 2005 Japan Society for Symbolic and Algebraic Computation

6

数式処理 第 12 巻 第 1 号 2005

近い将来来るとは思われない」といわれた．私はデータベースについては同感であったが数式処理については反対意見であった．量子力学の進歩が量子論の創始者 Planck や Einstein を追い越していったように計算機の進歩は日本の計算機界のパイオニア H 先生の期待を越えて進歩しつつあるのを感じたのである．今となってみれば computer の効用としてはデータベースの方は百科事典を不要ならしめるに至った．
日本における数式処理の浸透は後藤英一さんのグループの hash 技法を用いた Hlisp[7] 上のReduce2 を各大学の計算センターに寺島元章さんなどが行脚しながら implement したことによることが大きい．Hearn のつくった Reduce には量子電磁力学における gamma 行列が組み込まれていたので仁科芳雄先生が半年かけられたという Klein-Nishina の式の導出が一瞬でできたこと，Feynman グラフを生成したこと，電子ビーム偏向収束系の設計にもちいられたこと等が話題となった．しばらく後藤さんの科研費グループ，のち佐々木建昭さんの理研の記号数式処理研究会グループが日本の数式処理の中心であった．FORTRAN-LISP-ALGOL をマシンに組み込むという考えでつくられた FLATS[8] は完成して公開されたが，4 億の予算と数年の年月をかけて出来できたものを操作してみられなかったのは残念である．
微分には algorithm があったが積分には従来 algorithm はなく，計算機への実装は table lookup であった．Risch[9] は不定積分に対する algorithm を与えたので数式処理マシンにこれが実装されるようになった．なお有理数の四則も無限多倍長が標準となった（Reduce のそれは佐々木建昭による）．

Hearn が 1978 年東北大で Risch の algorithm について講演を行ったとき，あと 5 年で数式処理システムは 1 立方フィートの箱に入るであろうと結んだ．私は too optimistic!と思ったが彼の予想は二三年おくれて実現し，今ではノートパソコンに入るようになった．
数式処理の国際会議としては 1985 年理研で行われたものが最初 [10] である．Second Interna-tional Symposium on Symbolic and Algebraic Computation by Computers という名称であった．
次のは日大で 1990 年に [11] 行なわれた．大会後 Marichev を電機大に招いて積分プログラムの実装の話とソ連における研究生活の窮乏の話をきいた．
以前に「数式処理通信」というガリ版雑誌があった．論文の他, Reduce, Mathematica 等の使用経験や version up の広告が役にたった．1992 年数式処理学会創設により学会誌「数式処理」に引き継がれたが前記の広告類がなくなったのが淋しい．数式処理学会は初代会長一松信氏をもってはじまった．一松さんは多変数複素関数論を中心とする著書 100 冊を超える多作者であるが，私は一変数の Cauchy の基本定理の多変数への拡張を知りたく思っていながら未だに知り得ないでいる．
数式処理システムとしてはしばらく上記各大学の Reduce と東大大型センターの Macsima くらいであったが，近年 Mathematica，Maple，Derive と発表され，いずれも商業政策にのってパソコンの進歩とともに世に普及した．特に関数のグラフ表示が人々を魅了した．

Mathematica で私が最初に試みた問題は超幾何関数1 1
Im2 F1 ( , , 1, x)
2 2の計算である．ver 2.2 では解がでなかった．ver 2.3 では誤った解がでた．ver2.31 に至って正J.JSSAC Vol. 12, No. 1, 2005

7

解がでた．
その後野呂正行，横山和弘．竹島卓等による Risa/Asir の開発 [12][13] と Gröbner basis の解法構築とが中心となった．この間の Buchburger の応援も忘れてはなるまい．この頃から formula

manipulation は computer algebra となっていった．Katsura(Katsura-Fukuda-Inawashiro-FujikiGebauer）方程式は Posso において数式処理および計算機の計算能力のテスト用の標準問題に指定され [14][15]，計算可能な n の値をを幾つまで上げられるかが，S. 森継，H. 小林に始まる世界的競争となった．私の知っていたところでは Faugere[16] が K-10 を 31 分で解いたのが 1 位であったが彼の記録は抜かれたであろうか．

1994 年公開された Asir は日本で生まれたソフトとして世界に誇るべきものと思う．いつか
NHK スペシャルで山本卓真氏が戦後の日本の誇りとして富士通のコンピュータ技術のことを挙げておられたが Asir はなかでも誇るべきものであることを忘れないで頂きたい．

2000 年松山で行われた RisaCon に電通大からネット参加した．このとき統計力学におけるある多元高次方程式を Asir で 10 時間かけて解いたという話をしたとき講演を聞いていた野呂さんはその問題を講演を聞きながら解いて講演が終わったときには同じ結果を得ていたという．Asirの新版が旧版にくらべて如何に進歩したかを示す例である．なおネット参加という形は質問はmail 受付とすれば将来の学会は自宅参加も可能な形となるであろう．
Reeduce3.7 における Groebner Basis の Dimension の計算がおかしいので Neun に照会し，二三回の交信の後訂正版をもらった．3.7 は 1999 年に出ているが 3.8 が出るまでの間はこの情報は意味があると思うのでメモを JSSAC に送ろうと思っていたが果たさないでしまった．ここにその事実だけ記録しておく
数式記述については Knuth の TEX が一世を風靡しているが，Mashiko-Mashiko（増子益子）シ
ステム [17] が日本の 10 大学近くで用いられていたのに，FM11 の消滅とともに消えてしまったのは大変残念である．半行改行という概念を通常の editor に加えただけでよいので Windows 用に書き換えれば普及する筈だと思っている．
数式処理の黎明期からの進展で身近に見聞経験した範囲のことを記録してみた．読者のご叱正を得られれば幸である．数値計算と数式処理の融合（佐々木建昭，野田松太郎等）等については筆者の不勉強のため触れることができなかった．

参 考 文 献[1] S. 桂， Computer 特に数式処理との関わり． 数式処理, 8, 1, (2000).
[2]

数式処理, 11, No.3-4, 1 野田松太郎教授退職記念号．

[3] K. 遠藤，T. 高端，S. 桂， 情報処理学会全国大会 (1961) 25．
[4] Y. 大野，S. 池原，H. 岡田，他，数式処理言語 AL．情報処理学会，全国大会，No. 47 (1973).
[5] M. 滝沢， Y. 阿部， S. 桂， TSS による数式処理ー FORMAS. 第 16 回プログラミングシンポジウム (1975).

[6] M. Suzuki, Y. Abe and S. Katsura, Implementation of Lisp Processor. Tech. Rep. Tohoku
Univ., 42, 895, (1977).
[7] E. 後藤， preprint．

8

数式処理 第 12 巻 第 1 号 2005

[8] E. 後藤他， 数式処理計算機 FLATS． 三井造船技報 No. 120 pp.74 197.
[9] Risch, R., The Problem of Integral in Finite Terms. Trans. Amer. Math. Soc. 13 9, 167-189,(1969).
[10] N. Inada and T. Soma, Symbolic and Algebraic Computation (1985).
[11] G. Goto, Symbolic and Algebraic Computation ISSAC90 (1990).
[12] T. 齋藤，T. 竹島，T. 平野，『グレブナー基底の計算 実践編——Risa/Asir で解く』. （財）
東京大学出版会, (2003).

[13] M. 野呂，K. 横山，『グレブナ基底の計算 基礎篇——計算代数入門』（財）東京大学出版会, (2003).

[14] C. Traversso, Posso News Letter No. 1 (1994).
[15] S. Katsura, Posso News Letter No. 2 (1994).
[16] J-C. Faugere, http://posso.lib6.fr/-jcf (1998).
[17] S. 増子，J. 益子，S. 桂， パーソナルコンピューターにおける数式記述用ワードプロセッ
サー， 数式処理通信, 2，4 (1985).