第86回全国算数・数学教育(鹿児島)大会
第58回九州算数・数学教育(鹿児島)大会 発表用原稿から  
http://www-math.edu.kagoshima-u.ac.jp/~kenmath/index.htm
 2004年(平成16年)8月4日(水)〜8月6日(金)

数式処理ソフトウェアの活用

−MuPADとMathematicaとの比較−


鹿児島県立出水高等学校 堂薗幸夫
http://www.synapse.ne.jp/dozono/
dozono@po.synapse.ne.jp
2004/7/25

 

1.はじめに

 最近ではどこを向いてもインターネット(internet)であり,数学分野での流行もコンピュータによるものが多い.例えばフラクタル(fractal)図形がそうであるように,レヴィ(Paul Levy)やコッホ(Von Koch)による理論的な図形がマンデルブロー(B.B.Mandelbrot)によって体系化され,実際にコンピュータのモニター上で美しい画像としてみることが出来るようになった.かつての数学者の予言したものが,あるいは理論上だけで数学者の頭の中だけに描き得ていたものが,やっとコンピュータという新しい頭脳を活用して白日の下にさらされたと言っても良いかもしれない.一昔前になるが,日本が高度経済成長を遂げていたころ,電卓というパーソナルコンピュータが登場した.そうすると,それまでの算盤などによる職人的であり,習得にかなり時間を要するといったものから開放され,一般的に爆発的に普及した.それと同じようなことが,現在のコンピュータを取り巻く環境とだぶる気もする.電卓においては浮動小数点表示しかできなかったということが限界の一つであった.例えば,1÷3は,近似値でしか出しえなかった.ところが,コンピュータ代数(Computer Algebra)では,まさに記号的に解決できるようになったわけである.これが,数式処理ソフトウェア(Computer Algebra System)と呼ばれるものである.コンピュータを使えば森羅万象のものが処理できるとは言わないが,自分の思考を助ける有用なツールとしての活用をすることで,マンデルブローのようにアイデアを具現化することが出来るのではなかろうか.求められるものも計算技術から思考能力へと変わってきている.もちろん基礎的な知識が必要なことは言うまでもない.紙に書かれた文字を理解し,手書きの理解の段階を過ぎたら,コンピュータ上で生き生きとした数学が楽しめる.(上図右はレヴィのC曲線,上図左はコッホ曲線,左はわが国の数学者高木貞治による高木関数をグラフィック化したものである.)

2.歴史的背景

 数式処理ソフトウェアの発展について,簡単に述べておく.コンピュータの発達といっても,その歴史はわずか20年程度である.基盤むき出しのマイコンと呼ばれる時代から,日進月歩の勢いで進化を遂げてきた.ハードウェアの制約という限界の中で,コンピュータに方程式を解かせたい.という願いが,近似値から文字式を扱えるまでにいたった.つまり,平方根が√のまま,人間に見えるようになったわけである.多種多彩なソフトウェアが開発されてきた.厳密には数式処理ソフトウェアと数値計算ソフトウェアと機能を特化した幾何作画グラフィックソフトなどに分類される.それらの概念図は右図のような位置づけである.参照されたい.

ソフトウェアとして科学技術計算のためのFortranやCOBOL,LISP,BASIC,Pascal,C言語などと進化を遂げてきた.全くの初期は真空管に直接命令を伝える機械語として,人間には分かりにくい記述をとらざるを得なかった.これは,当時ハードウェアと平行しながら開発をしてゆくという初期ならではの問題も伴っていた.その後,人間に分かりやすい言語として古い歴史を持つが, BASIC(Beginner’s All-purpose Symbolic Instruction Code)が開発された.OSの概念を含んだものとして初期に広く活用された.現在においても教科書に取り上げられるごく基本的なものである.英語を基本として覚えやすい命令体型を保有しているため,初学者に取り組みやすいものであった.しかし,インタープリタ型と呼ばれる人間に分かりやすい記述ということはコンピュータに対しては,逐次的に機械語に翻訳をしながら実行するという,せっかくの高度な能力を本来の力を発揮できないものでもあった.そのため OSとしては,Apple(Macintosh)という別の流れもあるが,Microsoftを中心として,BASIC,CP/M,MS-DOSを経て現在のWindowsに到達していることとなる.
 そういった流れの中で,科学技術計算のためにコンピュータ代数システムが開発された.REDUCE(1966)という人工知能の一部として開発されたものから始まり,大学で開発されたMaple(1980)というシステムが登場した.MATLAB(MATrix LABoratory 1984)はThe MathWorks 社が開発し販売している行列の数値計算とグラフィックスが簡単にできるソフトウェアである.その後,Mathematica(1987)が登場し衝撃を与えた.Mathematica はWolfram Research社が開発し販売しているMacintosh,UNIX そしてWindows上で動く,数式処理とグラフィックスが簡単にできるソフトウェアである.他にMathcad,Deriveなどのソフトウェアが知られている.本レポートで扱うMuPAD(Multi Processing Algebra Data tool 1989)は,比較的最近開発されたものである.簡単な開発の歴史などの表は下記のとおりである.

システム名 開発者 開発場所
REDUCE 1966 A. Hearn アメリカ  スタンフォード大学
CAMEL 1968 D. Barton イギリス ケンブリッジ大学
MACSYMA 1969 J. Moses 他 アメリカ MIT Laboratory for Computer Science
Maxima 1970台 W.F.Schelter アメリカ MIT の Macsyma system
SCRATCHPAD 1971 J. Griesmer アメリカ IBM
muMATH  1979 D. Stromyer   アメリカ ハワイ大学 A.Rich
Maple  1980  S.Watt  カナダ  Waterloo Maple Inc.
SMP  1981  S. Wolfram  アメリカ  カリフォルニア工科大学
MathCad  1984    アメリカ  MathSoft Inc. 
MATLAB  1984  Moler  アメリカ  MathWorks
Octave        MATLABのクローンのシステム
Scilab      フランス  Inria研究所
Mathematica  1987  S. Wolfram 他  アメリカ  イリノイ大学
LISP-STAT  1989  Luke Tierney  アメリカ  ミネソタ大学統計学部
MuPAD  1989  Prof.B.Fuchssteiner  ドイツ  the University of Paderborn
Derive    David Stoutemyer   ハワイ  Soft Warehouse社
Risa/Asir 1989  竹島卓ほか  日本  富士通研究所
Cinderella   Prof. Ulrich Kortenkamp  ドイツ  JAVAで記述された二次元幾何学ソフト

【Computer Algebra Systemの歴史に関連するHP】
日本数式処理学会 http://www.jssac.org/
平野さんのホームページ http://www-antenna.ee.titech.ac.jp/~hira/hobby/symbolic/history.html
ponpokoさんのホームページ http://www.bekkoame.ne.jp/~ponpoko/Math/MathIndex.html

3.本レポートにおける目的

 数式処理ソフトウェアの中で最もシェアの高いものとして,Mathematicaがあげられる.機能も豊富で,科学技術計算や数学研究の目的で,大学等の最先端施設での利用は述べるまでもない.高等学校の数学においては,その汎用性の高さから力を持て余す部分が多く,また残念ながら価格等の問題から本格的に授業に活用というところまでは行っていないようである.今回研究の中心としたのは,ほぼ同じ機能を持つ数式処理ソフトウェアMuPADの紹介と,Mathematicaとの比較対照である.教育目的に限っては,フリー(無償)のソフトウェアであるため,また,比較を見ていただけると分かるように, Mathematicaにも勝るとも劣らない強力なグラフィック処理機能など,教育現場で使えるものと信じている.

 

 MuPADを題材に取り上げたのは以下の理由による.
1.Windows上で動き,最新のサポートもWebから出来る.
2.教育機関では無料で利用できるライセンスが存在する.
3.高等学校の数学を扱うには十分な機能を持つ.
4.グラフィック機能も優れている.
また,教育目的としての数式処理ソフトウェアの活用には,以下のような意義がある.
1.数式を素早く即時的に計算できる.(面倒な計算が不要となる)
2.学習とはいえ,ソフトウェアの操作のように,数学と戯れつつ興味を深めることが出来る.
3.グラフィックの表現で,その式の持つ深い意味が試行錯誤的に理解できる.
4.数学的な考察・表現を考えることにつながる.

などである.

4. "MuPAD Light 2.53"のダウンロードとインストール作業

MuPADは,ドイツのthe University of Paderbornにおいて開発を続けられている数式処理ソフトウェアである.現在では,SciFace社が加わり,全世界で開発・利用がされている.Mathematicaと同様に,Linux,Windows 98/XP,MacOSなど代表的な多くのOS上で動作する.
以下ダウンロードとインストール,並びに登録作業について記載しておく.

Step1 ダウンロード MuPAD を入手するには,
MuPAD(Sciface)のホームページ
http://www.mupad.com/にアクセスする.
Downloadをクリックし,Downloadページに行く.
ここでMuPAD Light 2.53- Windows用を選んでダウンロードする.どのバージョンも無料でダウンロードできるが,すべて30日以内に登録("licence key" の入力) をしないと使えなくなる. "Licence key" は "MuPAD Pro"以外は,研究,教育目的であれば無料で入手できる.つまり "MuPAD Light"は事実上無料で利用できる.
MuPAD Light を選んでクリックすると ,「mupad_light_253.exe」 というファイルを「実行する」か,「保存するか」と聞いてくるので,適当な場所に保存する. ファイルは18.3MBあるため, ADSL(1.5M)で数分程度かかると思われる.
Step2 インストール ダウンロードが終わったら,そのフォルダーの中に入っている "mupad_light_253.exe" ファイルをクリックするとインストールが始まる.
インストールが終わったら,スタートボタンからMuPAD Light 2.5 → MuPAD Light とたどってクリックするとMuPADが立ち上がる.
このとき,"register(登録)されていません" というメッセージが現れるが ,30日間は登録しないで自由に試すことができる.
Step3  ライセンスの入手 30日以内に登録しなければならない. MuPAD lightであれば無料で登録できる. 
TAN Serverへ行き,CGIに書き込みながら"userID"と"license key"を手に入れる.
https://mupad.p15139412.pureserver.info/muptan/muptan.php

まず Languageを右の国旗から選択する.
残念ながら日本語はなく, 英語かドイツ語である.
次に TAN server の事実上のトップ画面が現れる.

"TAN を入力する"の "TAN" というのは transactional number という意で,transaction(処理)をするための番号であるが,この番号を使って,色々な処理(MuPAD PRO の購入,ユーザー登録など)をやることになる.最初にアクセスしたときは,TANは持っていないはずなので,一番上の"go"をクリックする.

色々なグループが出るが,教員であるので"professional use" をクリックする.
すると更に画面が変わり,Highschool でoutside EUと選択し,"Generate TAN" を押す.

更に「使用条件」を読み,納得いけば "I accept" を押す.これでやっとTAN がもらえる.

"Register first" を押す.登録画面には,たくさん記入する箇所がある.青色の箇所は必須で,黒い箇所(tel,fax,email)は記入しなくてもよい.半角英数文字での記入が終わったら "submit data" をクリックする. 

記入ミスがあると赤文字で教えてくれるが,ミスがなければ次の画面に進める.

Step4 登録 次にorderページに進み,A free license for MuPAD Light2.5 for Windowsをクリックし,I acceptすると,やっと "UserID" と "key"をもらうことができる.
これをインストール済みのMuPADに入力すれば, 登録(resister)は終了である. (ちなみに入力は MuPADを起動して「HELP」→「resister」とたどって実行する.その中で,user name には “user ID”, registration key には “key” を入力する.TANの”user ID”がMuPADでのuser nameとなり,TANのYour current TANは”key”ではない。)
  メモ 特に問題がなければ,上記の作業(ダウンロードからインストール,登録,使用開始まで)は,20分から30分程度で完成するはずである.これで新しい頭脳を持つことになるので,是非試してもらいたい.

【インストールに関連あるサイト】
Muro Laboratory Home Page(岐阜大学) http://www.gifu-u.ac.jp/~muro/mupad/mu_pad.html
生越さんのホームページ http://ogose.nendo.net/mupad/install.html

5.実際の利用

 MuPADとMathematicaの比較を行ったわけだが,その数式入力には,方言のようなものがあり,全く同じというわけにはいかない.そのため高校数学の各分野において,MuPADで記述したものをMathematicaで再記述してみるという検証と,その逆とを繰り返した.
実際の画面を見ていただくことが最も適切と判断し,各ジャンルごとに資料としてスクリーンショットを撮った.例えば,二次関数に関してそれぞれでの方程式の計算記述とそれぞれで作成したグラフなどを掲載してある.基本的に,左側がMathematicaであり,右側がMuPADの配置としてある.また,これらは,後日私の個人Webサイトにても公開するつもりである.

p.7  展開の記述 因数分解の記述
p.8 平方根の記述 割り算の記述
p.9 二元連立方程式の解と図  三元連立方程式の解と図
p.10 数列の和 漸化式
p.11 二次関数のグラフ 二次関数の解
p.12 100の階乗 三角関数
p.13 微分その1 微分その2
p.14 三次関数の作図 微分グラフ
p.15 極限値 複素数
p.16 積分その1 積分その2
p.17 平面ベクトル 空間ベクトル
p.18 行列その1 行列その2
p.19 アステロイド 楕円
p.20 球の作図 テイラー展開
p.21 高木関数 コッホ曲線のアニメーション(Mathematicaのみ)
p.22 ジュリア集合(Mathematicaのみ) マンデルブロー集合(Mathematicaのみ)
 以上のような,高校数学で重要と思われる分野について,調査を深めてみた。もちろんこれらは,持っている機能のほんの数%でしかないことは言うまでもない。

 

展開の記述
因数分解の記述
平方根の記述
割り算の記述
二元連立方程式の解と図
三元連立方程式の解と図
数列の和
漸化式 
二次関数のグラフ 
二次関数の解 
100の階乗
三角関数
微分その1
微分その2
三次関数の作図
微分グラフ 
極限値 
複素数 
積分その1 
積分その2 
平面ベクトル
空間ベクトル
行列その1
行列その2 
アステロイド
楕円 
球の作図 
テイラー展開
高木関数
コッホ曲線のアニメーション(Mathematicaのみ)
ジュリア集合(Mathematicaのみ)
マンデルブロー集合(Mathematicaのみ) 

 

6.まとめ

 もはやコンピュータは,数学研究と考察に欠かせないものとなった.数式処理ソフトの有効な活用法について,理解の一助となる視覚的効果や処理手順などを,高校数学の視点から比較・研究した.
まず,視覚的効果に関しては,手書きでグラフを描くという作業を通して理解を深めてゆくという通常の学習段階の後に,コンピュータによる動きを含んだ画像として認識すると,更にそれらのグラフの持つ数学的特性が良く理解される.
更に,例えば複雑な微分や積分計算において,ドリル的な学習と平行しながら,素早く結果を出して深い考察へつなげるとともに,次のステップへ進みたいという状況も生まれ得る.もちろん,電卓のように0.33333…という近似値表記ではなく,3分の1といった正しい値を表記してくれる.つまり,1/2+1/3=5/6と正しく計算してくれることを意味しており,これらは同時にコンピュータが数学ツールとして使えることをも意味している.
我々は,数学という学問を指導,教育する中で,時代の流れ・動きをも伝えてゆく責務がある.過去の時代に一部の民の頭脳の中にしか存在し得なかったものが,現在ではいとも簡単にスクリーン上で展開されてゆく.広く遍く知れ渡ると言う目的のほかに,容易に扱えるという目的を,まるでおもちゃに触れるかのように完遂するため,こういった状況をこのまま黙って見逃すわけには行かない.コンピュータ代数学というソフトウェアツールが当たり前のように普及してゆく時代を楽しんでゆきたい. 時代の流れを伝えるために,2,3歩踏み出してみても良いだろう.

7.参考文献,資料pdf,参考WebSiteなど

MuPAD     :     http://www.mupad.de/       http://www.mupad.com/
ライトストーン社     :     http://www.lightstone.co.jp/products/mupad/
はじめてのMuPAD (赤間 世紀 著,シュプリンガーフェアラーク東京)(右図) 
 (現在一般で発売されている解説書はこれだけである。) :
  http://www.springer-tokyo.co.jp/content/isbn4-431-70946-0.html
MuPAD -- a computer algebra system  :   http://www.cas.cmc.osaka-u.ac.jp/~paoon/OriginalDoc/MuPAD.html
高校生のためのMuPAD (生越 茂樹)  :                http://ogose.nendo.net/mupad/
数式処理 MuPAD 入門 (平田 浩一 愛媛大学) :  http://www.ed.ehime-u.ac.jp/~hirata/MuPAD/index.html
MuPAD Pro3.0 簡易日本語マニュアル  :  http://www.lightstone.co.jp/products/mupad/mupadmanual.pdf
MuPAD Tips (土基 善文 ---高知大学)  : http://www.math.kochi-u.ac.jp/docky/MuPAD/mupadtips/index.html
MuPAD入門 (示野 信一 ---岡山理科大学)   :          http://www.xmath.ous.ac.jp/~shimeno/
大学一年生のためのMuPAD入門 (幸谷 智紀,角谷 悟)    :    http://na-inet.jp/mupad/intro.pdf
MuPAD の使い方 (川添 充 ---大阪府立大学) : http://magi.cias.osakafu-u.ac.jp/~kawazoe/unix/mupad.html
MuPADを用いた数学研究の試み (新潟県立新発田高等学校 金沢 光則,西村 健一)
例題で学ぶMathematica〔数学編〕 (白石 修二 著,森北出版株式会社)
はやわかりMathematica第2版 (榊原 進 著,共立出版)
Mathcadによる図で解く微分・積分 (水谷 千治 著,株式会社ナガセ,東進ブックス)
CD-ROM付き センター数学U・B (水谷 千治 著,株式会社ナガセ,東進ブックス)

8.勤務先 鹿児島県立出水高校について

鹿児島県立出水高等学校  IZUMI Senior High School Kagoshima.Pref.JAPAN

〒899-0213 鹿児島県出水市西出水町1700番地  1700 Nishiizumi- town Izumi-City Kagoshima JAPAN

代表
Tel 0996-62-0281
Fax 0996-62-7530

進路指導室直通
Tel・Fax 0996- 62-8324

http://www.synapse.ne.jp/izumikoh/
izumikoh@po.synapse.ne.jp