「実験数学」講義法雑感
山本芳彦(大学院理学研究科数学専攻)
私の担当する「実験数学」では、数式処理システムの一つであるMathematica を使用して、いろいろな数 学の話題に関して、数値実験、図表・グラフやシミュレーションの作成することを通して、それぞれの考え 方を理解したり、新しい数学的考察方法を模索したりするなど、数学的な思考方法を身につけてもらおうと いう非常に欲張った実験かつ講義を試みています。本年度第1セメスターでは、主として文系を対象とした 主題別科目「実験数学1」を担当しています。受講生は教室の許容範囲一杯の75 名です。コンピュータ使用 の経験のない人も対象にしているので、最初の数回で、Login の方法、Mathematica の呼び出し方から始め て、数式の書き方、グラフの作成方法、簡単なプログラムの作成など、数式処理に必要な最低限の知識を身 につけてもらうと、以後は、数学を主題として講義を進めることができます。
今年度の場合は、
(1) 自然数の逆数の小数展開(1): 周期性の観察
(2) 自然数の逆数の小数展開(2): 周期を求める
(3) いろいろな関数のグラフ(1): 数列, 関数y = f(x)
(4) いろいろな関数のグラフ(2): 陰関数, 媒介変数, 3Dグラフ
(5) いろいろな数列の極限: 極限の様子の観察
(6) べき級数の収束の様子を観察する
(7) 乱数とその応用(1): じゃんけん
(8) 乱数とその応用(2): カードゲーム
(9) 乱数とその応用(3): モンテカルロ法
(10) 方程式を作る(1): 代数的数(予定)
(11) 方程式を作る(2): 微分方程式(予定)
という内容で、例年より乱数に関する実験が増えています。
多くの学部で「情報活用基礎」が4月に開講されるので、コンピュータ利用の導入部分に関しては、数少
ない未経験者のみを対象とすればよいので、Mathematica の呼び出しまでは直行できます。Mathematica
の 使い方についても、初めの中は、教卓での入力のまねをするだけなので、ほとんど問題ないようでした。数
式の入力は多くとも数行ですから、最初キーの場所探しに大奮闘していた人たちも、多くは、すぐついてこ
れるようになりました。後で復習ができるように、入力部分とその説明を資料テキストにして配布していま
す。数学的な内容の部分についても、簡潔な説明をテキストに入れています。
プログラムの練習は、基本的に次の3段階で行っています。
(i) まず教卓の機械で基本的なコマンドの入力・説明・実行して見せた後、それぞれの手元の機械で入力・
実行させる。
(ii) 次に、基本のコマンドを少し修正すればよい程度の簡単な練習問題を与えて、修正・実行させる。
(iii) さらに、「こんなことも可能となる」というような問題を与える。この場合には、基本的なコマンドだ
けでなく、既習の様々な知識・技術を有機的に組み合わせて解決方法を工夫することが期待されていま
す。したがって、結果・解答は一通りとは限りません。
毎回最後に、レポート問題を提出しています。問題は多めに出して、自分のレベル、希望にあったものを
選ばせています。多くは数学的な考察を必要とするものです。しかし、データの作成と整理およびそれから
得られる推測のみでも受け取ることにしています。自由課題も認めています。
教材の選択については、かなりの準備が必要です。(i) 多くの学生が興味を持ちそうな問題で、(ii)
取っつ きやすく、(iii) いろいろな方向への発展が可能で、(iv) 場合によっては新しい数学の発見を期待できるもの、
という欲張った条件を満たすものはなかなか見つかりません。どうしても、毎年いくつかの話題は以前のも
のの再利用という結果になってしまいます。周りの数学の先生はもちろん、他のいろいろの専門の先生方と
雑談を通してたくさんのヒントを頂くのですが、多くは大学院以上の問題で、初学年用に丁度よいものはな
かなか見つかりません。特に、文系用の場合には、微積分を駆使というわけには行かないのでなおさらです。
講義の方法としては、プログラムの練習とほぼ同様で、
(i) 各授業の最初にその回の話題を説明した後、それをMathematica でどのように記述するかを教卓にあ
る機械に実際に入力しながら説明・実行し、同時に学生は各自の機械でそれを実行させる。
(ii) いくつかの練習問題を口頭で提出し, それを解かせる. その際、なるべく教卓を離れて、教室中を周り、 個々の学生の質問は座席まで出向いてその場で説明することを心がける。その際、多くの人に共通する 質問などがあれば全員に対して説明する。
(iii) ほぼ、全員がその日の話題を理解できたことを確認して、応用問題、発展問題を提出し、再び、学生達
の質問を受けに座席をまわる。そのときには、程度の高い質問、関連する話題に関する会話・質問等も
受け付ける。
講義全体はおおむね当初に意図したものになっているのですが、いくつかの問題点が残っています。多くは
情報機器を利用する講義の方法自体に起因するものとインターフェイスの問題です。私自身の技術不足、努
力不足の部分も多いかと思います。
例えば、講義中の問題としては、次のようなものがあります。
(a) 機械を前にすると、それにさわることが気になって落ち着いて説明を聞かない:これはコンピュータ教 室利用科目では共通の悩みだと思います。当初より、説明を聞くことの必要性を十分認識させておく と、意外と防止できるようです。
(b) 教官が近くにいないとき、Web ブラウザ、メールなど他のプログラムを実行して、時間をつぶしてい
る: これは見つけたとき、即座に厳重注意して再発を防ぐのがよいと思います。教官が近づくのを察知
すると、即座に切り替えることのできるという便利な機能がときにはじゃまになります。
(c) 配布されたテキストのプログラムを、理解せずに、ただ単に打ち込んで実行し、予定された結果が出力
されるとそれで満足してしまう:こういった学生がかなりいます。これに対しては、結果が同じだから
といって自分がすごい能力の持ち主になったと勘違いしないように、とあらかじめ警告を発していま
す。また、テキストの配布のタイミングをなるべく遅らせることで対処しています。
また、システムの使い方については、
(d) 授業に使用するMathematica で日本語が扱えない: あらかじめ自室のWindows のMathematica で作 成した日本語テキストがそのまま使えないので、コピーして資料テキストとして配布している。また、 講義の中の説明に日本語が入らないので、英語またはローマ字で書かなければならない。日本語が書 ければ、レポートの作成も容易になる。この点はMathematica の他のversion では解決されているか もしれない。 もっとも、Windows で使える日本語だけでなく英語についても、数式が優先されているので、句読点 や空白が自由に使えず、とんでもないところで改行されたりしてひどい目にあうことも多い。 どのようなテキストを作成するかについても、次のような問題があります。
(e) 用意周到すぎる懇切丁寧なテキストは講義を不要とする: これはどんな講義にも共通する問題だと思い
ますが、実際、学生が本当にやる気になれば、よいテキストさえあれば十分であることは確かです。し
かし、「実験数学」の場合には、個々のプログラムの理解だけでなく、あれこれ試した後に適当なプロ
グラムを自力で作るという作業が必要で、その部分をとばして次に進むと、問題集で問題を読んだ直後
に解答を読むようなもので、技術の修得の足しになりません。このことを、レポートを提出した学生に
指摘されたことが数回あります。”もっと考える部分を増やしたほうがいいのではないでしょうか”と。
(f) 逆に、テキストの説明が少なすぎると、説明等のメモを取る必要ができて、学生が落ち着かなくなる:
キーボードやマウスの利用とノートへの記入は両立しにくい。とくに、現状では机の幅と奥行きが十
分でないので、ノートをおく場所がありません。
結局、適当に手を抜いたテキストを作ることになるのだが、その手の抜き方にも工夫がいります。
(i) 導入部の数学概念の定義などは直感的にもわかりやすいように配慮しながら簡潔に記述する。
(ii) Mathematica コマンドはすべて正確に書き込む。説明は口頭で行ってもよい。
(iii) コマンドの実行結果の出力の記入は主要なものに限り、それらから容易に予想できる結果はなるべく
省く。
(vi) 基本的問題はできるだけ丁寧に記述する。しかしそれらを発展させる問題については、定式化をなる べくひかえて最小限のヒントのみとする。
最後に、実験数学の講義やレポート等を通して、理系文系を問わず多くの学生達や先生方に、知り合うこ
とができ、また多くの貴重な意見や情報を頂けたことに対して感謝の意を捧げます。