Comments
Description
Transcript
見る/開く - ROSEリポジトリいばらき
ROSEリポジトリいばらき (茨城大学学術情報リポジトリ) Title Author(s) Citation Issue Date URL コンピュ-タ-利用の数式処理 : 一般相対性理論専用システ ムの移植 石塚, 俊久 / 田中, 靖夫 茨城大学教育学部紀要 自然科学(37): 7-15 1988-03 http://hdl.handle.net/10109/8103 Rights このリポジトリに収録されているコンテンツの著作権は、それぞれの著作権者に帰属 します。引用、転載、複製等される場合は、著作権法を遵守してください。 お問合せ先 茨城大学学術企画部学術情報課(図書館) 情報支援係 http://www.lib.ibaraki.ac.jp/toiawase/toiawase.html 茨城大学教育学部紀要(自然科学)37号(1988)7−15 コンピューター利用の数式処理 一般相対性理論専用システムの移植一 石塚 俊久*・田中 靖夫** (ユ987年9月12日受理) On the Cemputer Aided Algebraic ManipulatioR System: Implementation of SHEEP System for General Relativity Toshihisa Ig.HizuKA“ and Yasuo TANAKA** (Received September 12, 1987) 1.序 論 数式計算は数値計算に比較してより大容量のメモリーと数式計算特有のアルゴリズムを実現する 高速性が必要とされるため,1−2年前までは,なかでも日本においては,未だ実験的段階にある と考えられていたと思われる。しかし,歴史的には,数式を扱うプログラム言語LIST PROC ESSOR(以下リスプと記す)は1960年代に考案されはじめており,数値計算の言語であるFO RTRANと同じ位に古い言語である。上に述べた理由と数式計算を机上で行うことの便宜さのた めに開発が遅れ実用化には長い年月を要した。この間,リスプについての様々な試みがなされ,そ のため非常に多くのリスプ処理系が作られたことは注意する必要がある。 一方,自然科学の研究対象はより高度な複雑な内容まで広げられて,線形的現象や平衡系の研究 から非線形や非平衡系にまで及び始めている。それにともない,扱う数式もより複雑になり摂動を 適用した高次の展開が必要になる。物理量も単純なスカラー量から複雑な高階のテンソル量を扱わ なければならない。また,必要な数値計算を実行するとき用いる数式は人の手で展開し,整理した ものが用いられるけれども,その計算も時として多量で長いものになり,誤りなくやりきるには相 当の忍耐と注意深さが要求される。 特に物理学や天体物理学の強重力場における現象の解明に必要な一般相対性理論に基づく計算は 本来的にこの様な性格をもっている。たとえば,リーマンテンソルR、b、dなどは全部で256ケの 成分を計算しなければならない。これらの計算はルーチン的であるが,相当長い式の展開が行われ 計算用紙io数枚にわたることが多々ある。 こういう計算が自動的に行われれば研究者にとっては非常に役に立つことは明かである。最近の *茨城大学理学部物理学教室 **茨城大学教育学部物理学研究室 7 茨城大学教育学部紀要(自然科学)37号(1988) 8 コンピュータの処理能力の向上はこのことを可能にし始めたし,ネットワークの発達している欧米 では日本に比べより手軽に数式処理を実用にしている。ここ1−2年前くらいから物理学や天体物 理学などの専門誌に掲載される論文に,計算機による数式処理を利用した旨の但し書を見ることが 多くなった(例えばSeidel and Moore,1987)。 ここでは実用に供されている数式処理プログラムrSHEEP」を東京大型計算機センターの副 システムVAX8600計算機で稼動させた経緯を報告する。2節では茨城大学にいて利用出来る数 式処理プログラムの状況とその特徴について述べ,今回動かしたプログラムとの違い等に言及する。 3節では今回のプログラムのテスト結果について記述する。相対論の計算のいくつかを例示しこの プログラムのもつくつかの問題と今後の課題について最後の節でのべる。 2.数式処理について 初期の数式計算用のプログラムはFORTRANで書かれたものもあったが,本格的になるに従 って記号処理言語リスプが用いられるようになった。それから20年近く経った現在,日本の研究者 が利用できる数式処理システムがいくつかある(金田,1987)。このなかには機能は小さいが手 軽にパーソナルコンピュータで使え,商用ベースで供給される「REDUCE」もある。 RE DU CEは大学教養課程程度の微積分,式の展開が行える汎用のプログラムである。パーソナルコンピ ュー ^では機能の一部しか利用できないが,茨城大学の研究者は情報処理センター経由して東大大 型計算機センターのM680Hコンピューター上でこれを利用できる。 REDUCEのもつ機能を全 面的に利用できる。また,公衆電話回線をもちいて同センターのVAXコンピュータ上で動いてい るMACSYMAというより高度の機能を持つ大型数式処理系にアクセスできる。しかし,回線料 など経済的負担もかさみ手軽に利用出来るわけではない。 ところで,茨城大学内には手軽に利用できるコンピュータが増えてきている(田中ほか,1987)。 また,ハードウェアの急速な発達によりその処理能力も向上しているため,手近で数式処理を使え る可能性が開けてきている。特定の目的に数式処理能力を限ったとしても,ある程度実用になる数 式処理システムを実現するにはすくなくとも3メガバイト位のメモリが必要になり,現在のパーソ ナル・コンピュータにはまだ難しいと思われる。最近出始めた80386または68020ベースのい わゆるパーソナルワークステーション等が適当である。68000ベースの計算機によるREDUCE の使用例を見ると中・大型計算機でのそれに比較して遜色がない(戸島,1986)。 したがって REDUCEやMACSYMAのように汎用ではなくても,専門分野専用の数式処理プログラムを 身近で使用できるようにすることは,地方大学における諸条件および計算機の性能向上の傾向から みて望ましいことである。今回,一般相対性理論向けのそれほど大きくない数式処理プログラム SHEEPを中型計算機上で動かした経験はそのための基礎として位置づけられるであろう。 石塚・田中:コンピューター利用の数式処理 3.一一般相対性理論専用プログラム「SHEEP」 1960年半ばには,一般相対性理論の数式計算をコンピュータに行わせる試みがすでに始まった (Fletcher etal.,1967;D’ lnverno,ユ969)。これは汎用大型計算機が相当程度の処理能力持 つようになった時期に符合する。ここで紹介するプログラムSHEEPは工970年頃から何人かの 相対論専門家により少しつつ作成されてきた一般相対性理論専用のプログラムであり,既に欧州な どで稼働している(Mac Callum,1986)。現在,ケンブリッジ大学コンピュータセンターのOR ION/UNIX LISPシステムで動かされている。このプログラムを東京大学大型計算機セン ターVAX 8600の上でテストした。 プログラムは実行モデュールで約1.7メガバイトの大きさである。3個の大きなプログラムモジ ュールで構成されている。一番下のベースモジュールがフランツ・リスプである。その上でS一リ スプ処理系が動き,最上段にSHEEPが乗っている。この構造は移植性を考慮したためである。 S一リスプはREDUCEなどを表現するために用いられている言語である。第1節で述べたよう にリスプは非常に多くの「方言」が出来ており,各リスプ間で機能が不統一になっている。しかし S一リスプはそれに比べ歴史もふるく基本的機能をもち共通的性格を持っている。このためより高 度な機能を持つリスプのうえに簡単なインターフェースを通して処理システムを構成しているので 他のコンピューターへの移動は比較的容易になるのである。 東京大学大型計算機センター VAX 8600はULTRIXというOSが管理している。その上で 最初,UNIX上で作動していたSHEEPの実行形式プログラムを無修正のまま走らせたが,異 常終了した。動かない原因は二つあることが分かった。第一はカレントディレクトリの不適合であ る。これはSHEEPプログラム中のトップディレクトリ用変数MSEARCHLIS !*をVA X8600のそれと入れ換えることが解決した。図1は修正したファイルである。第二は, SHEEP が起動されるとまずsclassi. iniというファイルが取り込まれるので,このファイルを実行プロ グラムと同一レベルのディレクトリに置かなければならないのである。さらにSHEEP中で使わ れている幾つかの初期設定用の変数の値を変えて見ると正常に動作しなくなるため,変更は上述の 二・っにとどめた。 しかし,VAX8600の資源を十分有効に利用できない問題が発生した。数式計算では展開や代 入などにより中間段階での式の二二が膨らむ特徴がある。このため例えば,富松・佐藤メトリーク の計算の時に頻繁にガベージコレクションが起こり,遂にはメモリー不足のエラーが発生して計算 を中止する。原因は実行形式モジュールのコンパイル時に使えるメモリーが3メガバイト位に設定 してあることである。VAX8600は10数メガバイトは楽に取れる。従って,この点はコンパイル しなおすことで解決出来よう。 4.計算翼行例と今後の課題 図2aはSHEEPの初期画面である。 【SHP>のプロンプトがでて始まる。参考のためケン ブリッジ大学ORION/UNIX上で動かした場合の初期画面を図2bに示す。我々のものは 9 10 茨城大学教育学部紀要(自然科学)37号(1988) 一つ前のバージョンであることが分かる。このシステムの特色の一つは1960年代迄使われてきた 座標表示のテンソル計算のみならず現代的手法であるテトラト形式やスピード形式の計算も出来る 点に在る。構築途中のシステムだから制約は当然在るが,会話的に処理することも出来るし,メト リークをファイルにし,一括して計算することも可能である。 %### SCLASSI. INI %%%%% This file SCLASSI. INI, in the directory above the image directory from which CLASSI was fetched, is loaded autornatically every tlme CLASSI is started (unless the switch 一X is given on the eommand line). A}so the file CLASSI. INI from current directory or directorys on MSEARCHLIS!* wi11 be 10aded, % lnitialize for functions TIMER and TOTALTIME (SETQ P’ qEVTIME (SETQ PREVGCTIME O)) (TIMER) (SETQ STARTTIME PREVTIME) (SETQ STARTGCTIME PREVGCTiMff) O/o Statement below was written by T. lschizuka en 6th, May,1987 for CCUT VAX (SETQ MSEARCHLIS!* ’ (”/usr/usr5/a30236/shp/clasrc/franz” ”/usr/usr5/a30236/shp/clasrc” ”/usr/usr5/a30236/shp/shpsrc” ”/usr/usr5/a30236/shp/shpsrc/franz” ”/usr/usr5/a30236/shp/metrics” ”/usr/usr5/a30236/shp/slsrc/sllib” ”/llsr/usr5/a30236/shp/slsrc”)) % INITMESSAGE!* and DATE!* will be modified and loaded. (SETQ INITMESSAGE!* ’”CLASSI built on SHEEP version 2.038 welcomes you ”) (SETQ DATE!* ’”VAX8600 CCUT June 1987”) % %### SCLASSI. INI end 図1 修正したsclassi. iniファイル。 SHEEP起動時に自動的に読み込まれる。 MSEA:RCHLIS!*は トップディレクトリー用の変数である。 Loεしding sc玉assi.圭ni sclassi. ini loaded Loading /usr/usr5/a30236/shp/clasrc/classi. ini /usr/usr5/a30236/shp/clasrc/classi, ini Ioaded CLASSI built on SHEEP version 2.038 welcomes you (VAX8600 CCUT June 1987) SHP> 図2a VAX計算機上のSHEEPシステムの初期画面。メッセージの一部がVAX用に変更されている。 石塚・田中 コンピューター利用の数式処理 11 Car日捻γ’:idqξ…・〔}F;;:l! ON!uN:1. x L:〔∈i;F:t Sy蕪h・・r鎚 鱈、’t Ee・1’L≒磁 :m凸捻。し量† 135‘) 薯亘⊂m・≡:」irビraq臼りja3肋滋dξ3;:k t’1h3(}こ:27 Cln i;t“:i l噸=}}….1{ヲξ応 1.,:i雪PV物事i{コ羊、一 !・◎2・砿・◎1 :tMl二卿二・…51ヒ::白 器 535596 by粧嚇 薯1堀γ邑驚‘コξ[t1アこ(:}馬1‘)〔}n 3」しロユ、5,・鰹}甜隔引鴨冒),(1:2・{・:2肌3患瓢C5・一」.ユ.、1≡ぼ蝋Or跡し:tfi i≡)cl I.,c) 9t Ct ’1 n q !し縢ξ…・1”・t“〆讐h哩…・貯P・触hP!罷・=1撫箔戸ボin1 姦し}驚i鐸薄’欄/∼≡}h臼・:”Pノ欝hpノ欝d熱心玉i・irti }{=}品d嗜きd l一心dd’h、 q/し{’1…tL−1−L…ゴ計、ξ…噌Pノ麟叩/こ1 Et fn了一cr ,i /:コ1と燃ヨ:L,:I Y、:t 〆uIヨ・勲雪柵!懸h勲善P置引つP!⊂:la罰、{::/〔=:i灘;…践,1而, 1{コ,三紺・…ヨd CL’t総釧 bし1:日†oγ、餅→E護P v桝目鷺〕n 2・◎・徽・抑・:=1(旺底蹟1.・.IEI・1ごorゴ1軽3¥ou じ・1∴ ’、P獅ユ魅藤) s団=:‘〉 図2b ケンブリッジ大学計算機ORION上のSHEEPシステムの初期画面。バージョンが新しい。 座標表示で,簡単なシュバルッシルト・メトリークに対する相対論の諸量を会話形式で求める場 合の入力例とコマンドを図3に示してある。(CORD)は「座標表示での計算をしなさい」とい うコマンドである。即ち,ds2 ・・ g。bdXadXbの係数gの成分を入力していく。其の際,対称メト キリークの場合は(ON DIAGONAL)スイッチで非対称成分を入出力禁止することができる。 こういうスイッチが既に約30種類組み込まれている。図に見られるように(MAKEEINM)コ マンドでテンソル量が計算される。この様な標準のテンソル量が40種類程組み込まれ,しかもリス プを十分理解することにより自由に機能を拡張することができる。 他方,ファイル読み込みによるデータ入力方式は,再入力の必要がないので,複雑なメトリーク やテンソルの計算に向いている。図4aは上述のメトリークをファイル形式で,かつフレーム表示 (この場合局所ローレンツ系での表現)で計算した場合である。必要なファイルの形式を図4bに 示した。(:LOAD”ファイル名”)でファイルを取り込む。この様に,特定の座標系にとらわれ ることなく容易に色々な表示の計算が素早くできる利点がある。個々のコマンドの意味と用い方に 習熟する必要があるが,それは数値計算に際してはFORTRANに慣れなければならないのと同 様である。 図4aでは使用ずみメモリーを整理するガベージコレクションが発生している。 gc:に続くメ ッセージがそれを示している。中間結果が膨大になる場合にはこれが頻繁に発生し,時には出力メ ッセージがこれだけになることが起こる。そう多くのメモリを要しない図4の計算はVAX 8600 では数分で終る。しかし,この様な簡単な計算でも手で行うと専門家でも2−3日はかかる。ルー チン的計算に対するコンピューターの有効性が明かである。 弱点としては分数式の計算で分母に多項式が使えないことがあげられる。その場合REDUCE の併用が必要になるけれども,それを組み込むことは比較的容易である。 以上でこのシステムは最良ではないにしても使い慣れると共に理論計算に役に立ち,また改良を 進めるとより効果的であることがみて取れるであろう。現在のプログラムSHEEPは大きなシス テムなので改良には時間がかかるけれども一般相対性理論の専門的知識を必要とするので改良は研 究者自身が行わなければならない。 12 茨城大学教育学部紀要(自然科学)37号(1988) (CORD) Loading /usr/usr5/a30236/shp/clasrc/cord.shp /usr/usr5/a30236/shp/ciasrc/cord.shp leaded CORD SHP> (ON D IAGONAL) NIL SHP> (MAKE EINMC) g oo =A$ g ll =一 P/A$ g 22 =一RA2$ g 33 =一一 qA2*SIN (N) A2$ GDET ended GINV ended GDET lost GUU ended GDF ***Declare functloR A now(FUNS (A R)) ***Define variable R now(VARS T R H P) ended GAM ended GDF lost GAMU ended RIE ended GAM Iost GAMU iost RIC ended RIE lost RICM ended RSCL ended }∼IC los之 EINM ended SHP> (MAKE DS2) DS2 ended SHP> (WR I TE DS2) 2 2 2 2 2 2 2 一1 2 ds = AdT ’A dR mR dH 一R s in (H)dP SBP> (WRITE EINM O O) o 一2 G o 一AR 一2 +R 一一 @1 唖∼ A ,R 図3 シュバルツシルトメトリークの計算例。会話形式でデータを入力している。アインシュタインテンソ ルの出力は一部のみである。 石塚。田中:コンピューター利用の数式処理 13 (LOAD ”schvvar, 10r”) Loading /usr/usr5/a30236/shp/metrics/schwar. Ior GINV lost 琶IN樋C lost RSCLC lost RIC擁C los驚 GUU lost GDD lost SCHWAR. LOR Schwarzschild g}etric in LORENTZ tetrad empty space *** T new nam *** R Rew nam *** M new nam A ended *** M redefined function *** A redefined function IZUD ended /usr/usr5/a30236/shp/metrics/schwar. ier leaded SHP> (make e inm) (MAKE EINM) HDD ended HDET ended HI’NV ended HUU ended ZUD ended ZDET ended ZINV ended ZDU ended HDF ended ASD ended APZ ended LIE ended ASD lost APZ iost GAM ended RIE gc:(*iist:1128{24%}; fixnum:12{7%}; ut!:e%) ended LIE lost RIC ended RSCL ended EIN ended EINM ended SHP> (MAKE DS2F) FORMSU eRded DS2F ended SHP> (WR I TE DS2F) 2 1/22 一1/22 2 2 ds = (A dt)’ 一(A dr) 一(rdH) 一(rsin(H)dP) SHP> (WRITE EINM e O) t G =O t 図4a 図3と同じメトリークを局所ローレンツ系で計算した例。ファイル読込形式でデータ入力を行う。 茨城大学教育学部紀要(自然科学)37号(1988) 14 (PRELOAD IZUD) (TITLE ” SCHWAR. LOR Schwarzschild metric in LORENTZ tetrad empty space”) (OFF ALL) (ON NOZERO PTEVAR) (NA岡 T R M) t $ r $ m $ (VARS T R H P) O/e (t,r,theta,phi) (RPL A) 1 −2*謎/R $ (FUNS (M) A) (NEWSUL RIESUL) A $ :A $ (USESUL RIESUL RIEF SPCURV R ICC) (LORENTZ IFRAME) $$$$ o $ o o $ e 00RO O $ AA(一一1/2) $$$$ (RPL IZUD) AA(1/2) $ O o $ o $ e $ R*SIN H $ 図4b 図4aの計算例に対するファイルの内容。一番上の文はこのファイルの説明と参照した文献が 表示してある。()のなかはコマンドとテンソル量である。 以下に述べる事が当面の課題として残る。 (1)日本ではVAXコンビゴータよりも汎用機を利用する機会が多い。また,高級パーソナルコン ビュータの方が手にし易い。従ってこれらの上で動かすことが出来るようになることが望ましい。 (2)現段階ではこのシステムを利用するのには相当の慣れが必要であり,マニュアルの整備が必要 であろう。 (3)著者達の専門分野である流体運動や磁気流体の問題にあらわれるテンソル量や方程式への拡張 も考えられる。 謝 辞 著者の一人(T.1.)が在外研究の期間中SHEEPの存在を知り,短期間試用する機会を得 た。その時マクカラム教授(ロンドン大学)には幾つかの教示を受けたこと,また,同プログラム の日本での使用に快く同意してくれたことに深く感謝いたします。このSHEEPを実行させる作 業は東京大学大型計算機センターの副システムVAX8600上で行った。 石塚・田中:コンピューター利用による数式処理 15 引 用 文 献 D’Inverno, R. A. 1969. ALAM−Atlas lisp algebraic manipulator. Comput.」.12, 124一一127. Fle七cher,」. G. R., R. M. Clements, K. S. T horne and B. A. Zi㎜er鵬n.1967. Computer program for calculating generai relativistic curvature tensors. Astrophys. 」. Lett.148, L 91 一 L92 金田康正.1987.数式処理の現状と癒用。電子情報通信学会誌 70,187一ユ90. MacCallurn, M. A. N.1986. Computer−aided classification of exact solutions in general relativity. ln: }i{. Sato and N. Nakamura (eds・), Gravitational Collapse and Relativity (YAMADA Conference XIV), pp. 127−140, World Scientific Pub., Philadelphia. Seidel, E. and T. Moore. 1987. Gravitaeional radiation from realistic relativistic stars: Odd−parity fluid perturbations・ Phcrs. Rev. D 35, 2287−2296. 田中靖夫・大槻功・山本宏.1987.オンライン端末に於ける簡易図形出力装置.ff.茨城大学教育学部紀要 (自然科学)36,1−7. 戸島熈.1986.MC6800用REDUCE. BIT 3月号別冊(後藤英一,一松信,広田良吾編),182−188.