注意 -現在は BSD ライセンスに近い free になっています
PC-Unix の中でも Linux ですとユーザが多いため「Mathematica」を始めとして、 多くの数式処理システムが市販されていますが、FreeBSD については市販品がな く、しばらくの間、REDUCE (ZIB 社の製品) を動かすためだけに Linux を使って いたことがありました。
その後、イギリスの「Codemist Ltd」の Unix 汎用のソースを購入してみたとこ ろ、FreeBSD でも REDUCE が使えるようになりましたが、ちょっとしたコツがあ りますので、要点をメモしておこうと思います。
http://www.codemist.tc/reduce/ を見て、「Professional Reduce」(REDUCE 3.6 system for Generic) を購入します。 価格は 350 pounds sterling でした。これには「Reduce」と「Codemist Standard LISP (CSL)」のソースコードが含まれていて、メディアは
floppy disks DOS format CD-R DDS/DAT tape (2GB format) FTPから選択できます。私は CD-R で購入しました。
以下、ソースコードを展開する作業ディレクトリを /usr/local/r36 として説明 します。
1) 作業ディレクトリの作成 # mkdir /usr/local/r36 2) ソースコードの展開と行末コードの修正 入手したソースコードを /usr/local/r36 ディレクトリに展開し、全てのテキスト ファイルの行末を、DOS 形式の CR+LF から、Unix 形式の LF のみに書き換えます。 DOS 形式のままだと、コンパイルできません。 3) makefile の用意 # cd /usr/local/r36 # mkdir cslbsd # cp csllinux/makefile cslbsds # Linux 用 makefile をコピー 上記のコマンドを実行し、/usr/local/r36/cslbsd/makefile に下記のパッチを あてます。gcc の最適化オプション「-O3」を FreeBSD で指定するとコンパイル がうまくゆかずに、途中で止まってしまったり、core dump するといった不可解 な挙動に戸惑いますので注意してください。Linux では、この問題がありません。 「-DPUBLIC」は REDUCE の image file を /usr/local/lib/reduce という名前に 固定します。「-static」は、REDUCE のバイナリが多少大きくなっても、将来、 ライブラリが変更されたとき、再度コンパイルしなくても良いようにしようとい うもので、共有ライブラリを使いたいときは外してください。 *** ../csllinux/makefile Mon Feb 2 11:06:02 1998 --- makefile Thu Jul 16 09:24:19 1998 *************** *** 12,18 **** # your system. Also if the system you are running on needs CC = gcc ! OPTFLAGS = -O3 CFLAGS = -c $(OPTFLAGS) -ansi -I$(CSLBASE) LIBS = -lm -lc -lcurses --- 12,18 ---- # your system. Also if the system you are running on needs CC = gcc ! OPTFLAGS = -O -DPUBLIC -static CFLAGS = -c $(OPTFLAGS) -ansi -I$(CSLBASE) LIBS = -lm -lc -lcurses *************** *** 30,37 **** ASMOBJ = ASMOBJDEP = notused.obj SYS = sysunix ! STORE = -k6000 ! XSTORE = -k6000 RM = rm MKDIR = mkdir COPY = cp --- 30,37 ---- ASMOBJ = ASMOBJDEP = notused.obj SYS = sysunix ! STORE = -k8000 ! XSTORE = -k8000 RM = rm MKDIR = mkdir COPY = cp *************** *** 47,54 **** # file name conventions (in particular "/" as a directory separator) while # the second will (in some cases) be a host-specific translation. - #UCSLBASE = ~/r36/cslbase - #CSLBASE = ~/r36/cslbase UCSLBASE = /usr/local/r36/cslbase CSLBASE = /usr/local/r36/cslbase --- 47,52 ---- 4) コンパイル # make csl # make slowr36.img # make ccode # make r36.img 最後のステップで、r36.img が /usr/local/lib/reduce に移動します。FreeBSD のメモリ管理に不適切なところがあるようで、極端な swap が発生して、途中で 止まってしまうことがありますが、その場合は次のような処置をとってください。 a) X などを止めて、console だけでコンパイルしてみる b) メモリを 256MB 程度に増やす c) 途中で止まったら、ps で Reduce のコンパイルに関連したすべてのプロセ スを止めて、そのステップをやりなおす Linux の場合は何の問題もなくコンパイルできます。 5) テスト # ./r36 で「Reduce」を起動し、 factorial 200; (x+y)^4; int(x^6*log x,x); z := mat((0,1),(1,1)); z^40; solve(a*x^2+b*x+c,x); on rounded; precision 70; pi; bye; 等をテストします。 6) バイナリのインストール # mv r36 /usr/local/bin/reduce 以上で、「reduce」コマンドとして起動できるようになります。/usr/bin/reduce と /usr/local/lib/reduce 以外は消去してもかまいません。なお、グラフィック表示には「gnuplot」を使うようになっていますので注意して ください。
「Reduce」の参考書はたくさんありますが、手もとにあるものをリストしておきま す。始めての人には、 [1], [2], [3], [11] あたりがよいかもしれません。
[1] 広田良吾,伊藤雅明-「REDUCE 入門」 (サイエンス社)ISBN 4-7819-0546-3 [2] 守谷良二,-「例題でわかる REDUCE」 (海文堂出版) ISBN 4-303-72320-7 [3] 大河内茂美,- REDUCEで数学を (森北出版) ISBN4-627-83260-5 [4] 後藤英一,一松信,広田良吾編,- 計算機による数式処理のすすめ (共立出版) [5] 落合豊行,永友清和,- REDUCEによる線形代数 (近代科学社) ISBN4-7649-0164-1 [6] A.C.ハーン,- REDUCE ユーザーズマニュアル (マグロウヒル) ISBN4-89501-287-5 [7] A.C.ハーン,- Reduceユーザーズマニュアル (マグロウヒル出版) ISBN 4-89501-327-8 いづれも少し前のバージョンですが、REDUCE のマニュアルの和訳です。 REDUCE のマニュアルはかなりのボリウムですが、TeX の原稿で配布されています。 [8] 佐々木建昭,元吉文男,渡辺隼郎,- 数式処理 (昭晃堂) [9] 守谷良二,-数式処理システムREDUCEによる数学入門 線形代数編 (日本理工出版会) ISBN 4-89019-019-8 [10] 中村秀治,松井正一,- REDUCEによる構造力学の数式処理 (技報堂出版) ISBN 4-7655-1491-9 [11] 小林英恒,- 高校数学によるREDUCE入門 (サイエンティスト社) ISBN 4-914903-06-7 [12] 大河内茂美,- REDUCEで数学を 〜数式処理ソフト〜 (森北出版) ISBN 4-627-83260-5 [13] 牧野潔夫,- 整数論の数式処理 (サイエンティスト社) [14] 下地貞夫,- 数式処理 叢書名:基礎情報工学シリ−ズ (森北出版) ISBN 4-627-80630-2 [15] 森本光生,- パソコンによる数式処 (朝倉書店) ISBN 4-254-12072-9 [16] 渡辺隼郎,- 微分方程式の数式処理 叢書名:シリ−ズ新しい応用の数学 (教育出版) ISBN 4-316-37550-4 [17] D.Stauffer,F.W.Hehl,N.Ito,V.Winkelmann,J.G.Zabolitzky,- Computer Simulation and Computer Algebra (Springer-Verlag) ISBN3-540-56530-2 [18] Malcolm A.H. MacCallum, Francis J. Wright,- Algebraic Computing With Reduce : Lecture Notes from the First Brazilian School on Computer Algebra (Oxford Science Publications) [19] Gerhard Rayna,- Reduce : Software for Algebraic Computation (Springer Series Symbolic Computation-Artificial Intelligence) [20] N. MacDonald,- Reduce for Physicists (Institute of Physics Publishing) ISBN 0-7503-0277-1
インタネットでは下記のサイトがよくまとまっています。
http://www.rrz.uni-koeln.de/REDUCE/
念のため、上記の WEB サイトから連絡先を転記しておきます。
Codemist Limited "Alta", Horsecombe Vale Combe Down Bath BA2 5QR United Kingdom Phone and Fax: +44-1225-837430 Electronic Mail: jpff@codemist.tc or jpff@maths.bath.ac.uk
平林浩一