2014-12-17

微積分II演習(第10回)

今日は、前々回のレポートを返却しました。多くの人の解答は問題ありませんでしたが、積分範囲の定め方などにおけるミスが少々見られたので、注意を促しました。

今回は、広義積分に関する問題を扱いました。

今年の授業は今日が最後となります。次回は来年のお正月明けですが、各自、健康に留意して、よい冬休み、そしてお正月を迎えられることを望みます。

2014-12-10

微積分II演習(第9回)

今日は、前々回のレポートを返却しました。このときは、累次積分の積分順序の交換に関する演習問題を出しましたが、ミスの原因として、積分領域の作図が不正確である場合が見受けられました。積分範囲は積分領域によって定まりますので、正確な図を作図するよう、注意する必要があると思います。

さて、今回は、前回扱った、重積分における極座標形式への変数変換をさらに一般化して、一般の変数変換を扱いました。ヤコビアンを扱ったりしていますので、講義の内容も復習しながら演習問題に取り組んでほしいと思います。

2014-12-03

微積分II演習(第8回)

今回は2週間ぶりの授業でしたが、3重積分の問題(あらかじめ与えられた累次積分の計算)と、極座標による積分の変数変換の問題を扱いました。

次回は、積分におけるより一般的な変数変換(ヤコビアン)を扱う予定です。

2014-11-19

微積分II演習(第7回)

今日は授業開始前に行われた全学防災訓練の影響で、若干遅れて授業が始まりました。

今回から重積分ということで、今回は、累次積分の計算問題と、積分順序の交換を行う問題を扱いました。

来週は推薦入試に伴い、休講となります。次回の授業は再来週ですが、早くも12月です。そして、全14回の授業を予定している本授業科目も今日が7回目で、次回から後半に入ります。

2014-11-14

Team SNAC Tsukuba

数学類3年生の卒業予備研究の方は、坂井公先生と共同で担当しますが、先月行われた配属希望調査を経て6名の学生を受け入れ、今日からセミナーがスタートしました。

当面は、テキストとして V. Shoup: A Computational Introduction to Number Theory and Algebra から、第17章 "Polynomial arithmetic and applications" を読みます。

さて、私共の研究グループは "Team SNC" と名乗っておりましたが、今年に入ってから、名称を "Team SNAC Tsukuba"(チームスナックつくば)に改めました。

"SNAC " は "Symbolic and Numerical Algebraic Computations"(記号および数値代数計算)の略です。以前は "Symbolic-Numeric Computation"(数式 ・数値融合計算)と名乗っていましたが、「融合してない」数式処理や数値計算も、状況によっては扱うことで、守備範囲をより広くとることにしました。一方で、計算対象としては、多項式を中心にした「代数計算」を中心に据え、研究テーマを適度な幅で設定したつもりです。

ついでにですが、"SNAC" の発音は、私共のセミナーの必需品としているお茶菓子 "snack" にかけたものでもあります。

現在のメンバーは、学部3年生が共同担当で6人、学部4年生が3人、修士1年生が3人、これらが私が直接指導の責任を持つ人達で、これに加えて、各セミナーに数人の人達が加わっています。今後、チームとしても、さまざまな活動を展開していきたいと思います。

2014-11-12

微積分II演習(第6回)

今回の授業は前回から2週間空きましたが、今回は、Taylorの定理による2変数関数の2次近似と、2変数関数の極値を求める問題を扱いました。

講義の担当の先生の情報では、次回から重積分に進むようですので、演習の方もそれに合わせて進めていきたいと思います。

2014-10-29

微積分II演習(第5回)

微積分の科目は、講義と演習の授業の2本立てになっていますが、現在のところ、授業日程の組み方から、演習の方が講義よりも授業回数が1週分多く、授業内容は演習の方が講義よりもやや先を進んでいる印象があります。

そのようなこともあり、今回の授業では、高次(階)偏導関数の計算問題に絞りました。

それから、前々回に出題した全微分の回のレポートを返却しました。この際、全微分可能性の判定の際に、定理の必要条件や十分条件を十分区別できていないと思われる解答がありましたので、その点について補足説明しました。

来週は、授業の曜日振り替えの都合で、微積分演習の授業はなく、講義のみになります。次回の演習の授業は再来週で、授業のペースも、講義に歩調を合わせられるようになると思います。

2014-10-22

微積分II演習(第4回)

今回は、接平面と法線の計算、それから合成関数の微分に関する問題を扱いました。

配布資料の記述(文字の使い方)で若干混乱を招いた点があったようですので、今後修正を検討したいと思います。

2014-10-15

微積分II演習(第3回)

今回は、主に、偏微分の計算と、全微分可能性の判定に関する問題を扱いました。

全微分に関しては、講義ではまだ入りかけのようでしたが、全微分の定義に基づく判定方法を説明しました。レポートに期待したいと思います。

2014-10-08

微積分II演習(第2回)

今回の授業では、手始めに、2変数関数の極限値と連続性に関する演習問題を扱いました。

授業では、例題を解説した後、レポート課題に取り組んでもらいましたが、今日のところは、皆さん比較的筆が進んでいたようです。レポートは来週の次回授業時に回収の予定です。

それから、先週回収したレポートを採点し、返却しました。必要条件、十分条件に関する問題は、おおまかに理解できていると思われる人が多かったですが、細かい判断が甘い人も見受けられた(完全に理解できている人は少ないと見受けられた)ので、解説を読んで復習してほしいと思います。あと、学習支援システムmanabaの方にも成績を記録しましたので、返却されたレポートに書かれている成績と異なる人は申し出てください。

2014-10-03

卒業研究 (2015) 募集開始

今年も卒業研究(3年の間は「卒業予備研究」)の募集の季節になりました。

今日、3年生にガイダンスが行われたのだそうで、今日から募集開始です。私は坂井公先生の副担当になります。計算機数学をテーマに、希望者を募集します。

今後、希望者との面談などを経て、今月下旬に学生の配属先が決まり、来月から卒業予備研究のセミナーが始まる予定です。

2014-10-01

微積分II演習(第1回)

今日から秋学期が始まりました。秋学期は、化学類1年次の微積分II演習を担当します。

今日は初回で、講義もまだ始まっていませんので、授業のガイダンスを中心に行い、演習は、数学の復習(必要/十分条件)、春学期の微積分の復習(微積分学の基本定理)に取り組んでもらいました。

次回から秋学期の内容に本格的に入っていきます。ティーチング・アシスタント (TA) の2人の大学院生とともに授業にあたります。よろしくお願いします。

2014-07-11

線形代数I演習(第13回)

今回は、ハミルトン・ケーリーの定理を用いた行列の計算と、行列の固有値・固有ベクトルの計算の問題を扱いました。

ハミルトン・ケーリーの定理については、多くの人達が高校の数学で学んだようで、詳しい説明は省きましたが、計算は案外一筋縄ではいかず、苦労している人もいるようでした。固有値と固有ベクトルの計算については、例題で説明したためか、ハミルトン・ケーリーの定理ほど支障はないようでしたが、まずは正しい計算手順を身につけてほしいと思います。

私の出張の都合で、次回が最後の授業になります。よろしくお願いします。

2014-07-04

線形代数I演習(第12回)

今回は、ファンデルモンドの行列式の導出と計算、および、いくつかの特殊な形をしたn次行列式の計算の問題を扱いました。

ファンデルモンドの行列式を応用した計算では、与えられた行列式をどのようにしてファンデルモンドの行列式に帰着させるかがポイントになります。それから、特殊な形をしたn次行列式の計算では、行変形などをうまく活用して、行列式の一般型を求めるかがポイントになります。各自、工夫して問題を解いてほしいと思います。

次回は、教科書第4章の話題から、固有値や固有ベクトルの計算を扱う予定です。

2014-06-27

数理科学IIA(第9回)

今回は、浮動小数演算に現われる誤差として、丸め誤差、桁落ち誤差、情報落ちについて説明した後、計算代数で浮動小数演算を用いた場合に誤差が現われる例として、1変数多項式に対するEuclidの互除法を取り上げました。そして、このような計算の際に現われる計算の困難さを克服する手法の一つとして、数式・数値融合計算の目的などを紹介しました。

授業の残り回数も少なくなってきましたが、残りの授業では、数式・数値融合計算の一つとして「近似GCD(最大公約子)計算」を取り上げ、その手法などを紹介していきたいと思います。

線形代数I演習(第11回)

今回は、行列式に関する基本的な性質と、余因子、余因子行列に関する演習問題を扱いました。

余因子や余因子行列の計算は、定義を覚えた上で慣れるまでやや手間を要するかもしれませんが、定義を確認しながら正しく計算できるようにしてほしいと思います。

2014-06-20

線形代数I演習(第10回)

今回は、実際の行列式の計算に入り、3次の行列式の計算問題を扱いました。また、次に学ぶ「行列式の性質」では、内容量がやや多いため、基本的な性質のいくつかについて、前倒しで演習問題を出題しました。

次回は行列式の性質を中心に、演習問題を解いていきたいと思います。

数理科学IIA(第8回)

今回は、計算機上での整数と浮動小数点数の表現について説明しました。

次回は、浮動小数演算における誤差とそれらが代数計算に与える影響について説明する予定です。

2014-06-13

線形代数I演習(第9回)

今回は、前回提出してもらったレポートを返却して補足説明を行った後、先週実施した、この授業に関するアンケート調査の結果を報告しました。現在のところは、問題の量、難易度とも「ちょうどよい」と答えた人が最も多かったですが、足りない場合は、自分で教科書の演習問題を解いたり、他の問題集を探したりと、工夫されることを望みます。

今日の演習では、行列式の導入の準備として、置換に関する問題を扱いました。まずは置換の定義を知り、計算に慣れてくれればと思います。

次回は、講義の進行にもよりますが、そろそろ行列式の定義に入るかな、と思っています。

数理科学IIA(第7回)

今日は、前回説明した拡張Euclid互除法のアルゴリズムを提示した後、次の話題に入りました。

これから数式・数値融合計算の話をするわけですが、そのためには、計算機上での数の表現、特に浮動小数点数の説明が不可欠で、そのためにはメモリ空間の説明があった方がよく、そうなると、計算機全体の装置の説明があった方がよいように思いました。そこで、今回は、計算機の主な装置や、メモリ空間とメモリ容量の単位をはじめとする説明を行いました。

次回は、今回の説明を踏まえて、計算機上の整数と浮動小数の表現について議論する予定です。

2014-06-11

計算機演習(第9回)

計算機演習の授業は、前回までのMathematicaに代わり、今回からプログラミング言語Haskellの授業が始まりました。Haskell編は坂井公先生が担当されます。私も参加してお手伝いをしています。

Haskell編のテキストには「すごいHaskellたのしく学ぼう!」(Miran Lipovača著, 田中英行・村主崇行共訳, オーム社)を使います。原書 (Learn You a Haskell for Great Good!) はオンラインでも読むことができます。

今回は、テキスト第1章「はじめの第一歩」の§1.1から1.4までの内容をテキストに沿って実習... ということでしたが、「テキストエディタ」の概念を知らない、プログラムをどうやって編集すればよいかとか、バッククォートを初めて使うとか、プログラムのファイルのロード(読み込み)がうまくいかないと思ったら、Microsoft Wordで編集したソースファイルを .docx (Office Open XML) フォーマットで保存していたとか、はじめの第一歩の手前でいろいろノウハウの習得が必要な人もいたようです。ま、これらも、コンピュータリテラシの習得の上で役に立つ経験になるかもしれません。 私も暇を見て実習したいと思います。

2014-06-06

数理科学IIA(第6回)

今回は、Euclid 互除法をアルゴリズムの形で書き下した後、拡張 Euclid 互除法について説明しました。

拡張 Euclid 互除法のアルゴリズムは次回確認する予定です。その後、数式・数値融合計算の話題に進みたいと思います。

線形代数I演習(第8回)

今回は、来週、講義の方で中間試験を控えているとのことで、新たな例題は出さず、各自のペースで復習を進めることにしました。

中間試験のご健闘をお祈りします。次回からは第3章「行列式」に進む見込みです。

2014-06-04

計算機演習(第8回)

今回がMathematica編の最終回でした。今回は、タートルグラフィクスを用いたフラクタル図形の描画を扱いました。「カメ」の動きを表す文字の置き換えなどで質問が寄せられましたが、ぜひ来週の締切までにうまく図形を描画してレポートを仕上げることを期待しています。

Mathematica編はこれで終わりで、来週からはプログラミング言語Haskellの入門に入ります。

2014-05-30

数理科学IIA(第5回)

先週は教育研究科の行事(ソフトボール大会)により休講となりましたので、今回は前回から2週間ぶりの授業となりました。

今回は、1変数多項式の四則演算の計算量解析を一通り行いました。それから、次の話題として、1変数多項式に対するEuclidの互除法の説明に入りました。

次回は1変数多項式の拡張Euclid互除法に進む予定です。

2014-05-28

計算機演習(第7回)

今回は、ルールとパターンマッチに基づくプログラミングの初歩を扱いました。レポート課題では、1変数関数の導関数の計算を題材に出しましたが、計算結果がうまくでなくて苦労している人もいたようです。来週のレポート締切までに健闘を祈ります。

Mathematica編の授業は来週が最終回です。来週は、今回のプログラミングと組み合わせたグラフィクスの話題を扱います。

2014-05-21

計算機演習(第6回)

今回は、積分に関する計算(不定積分、定積分、微分方程式の解法)と、さまざまなリスト操作を行いました。

積分とリスト操作の関連性ですが、今回は、レポート課題に台形公式による積分の数値計算を出題しており、その中で、効率的なリスト操作を用いた計算を行うようになっています。

今回は前回に比べて全体的に端末がスムーズに動作しました。それから、Linux環境のMathematicaにおける日本語入力の問題について、学術情報メディアセンターに対応していただき、Mathematicaのノートブックで直接日本語入力ができるようになりました。

次回はプログラミングに関する話題を扱う予定です。

2014-05-16

数理科学IIA(第4回)

先週の金曜日は火曜日の振替授業が行われたので、今回は前回から2週間ぶりの授業になりました。

今回は、まず多項式の四則演算をアルゴリズムの形で書き下ろすことの続きを行い、減算、乗算と擬除算について説明しました。次に、アルゴリズムの計算量を見積もる話題に入り、今回は計算量のいくつかの記法について説明しました。

次回は、今回の導入に基づいて、1変数多項式の四則演算(のアルゴリズム)の計算量解析を行う予定です。

2014-05-14

計算機演習(第5回)

今日はMathematicaの第4回ということで、微積分、特に微分に関するテーマ(関数定義、極限値の計算、導関数、Taylor展開など)を扱いました。

今日は、特に授業時間の最初の方で端末の動作がいまいちで、ログオンしたところ、デスクトップにゴミ箱しか表示されないとか、ダウンロードしたファイルを保存できないなどのトラブルが相次ぎましたが、授業時間が進むに従って、次第に状況が復旧してきたようでした。幸い、授業テキストの閲覧や、Mathematicaの使用には支障がなかったようですので、直接レポートを作成するのが難しいような状況では、ひとまずテキストの内容に沿って実習を進めることをおすすめします(一応、これをテキストの本来の使い方として作成しています)。

次回は積分を中心とした内容を扱う予定です。

2014-05-07

計算機演習(第4回)

今回は実質的に第3回でしたが、線形代数の内容を扱いました。行列やベクトルのリストによる表現と、行列の対角化の計算を行いました。

Mathematicaの操作の部分ではそれ程戸惑いはなかったようですが、行列の対角化など、数学の部分で若干手間取った人もいたようです。線形代数の復習を行うよい機会ではないかと思います。

前回、テキストのダウンロードに時間がかかる事例が続出したので、今回はテキストを印刷して希望者に配りましたが、幸い、今回は前回よりもマシンの動作が改善されていたようで、印刷したテキストは予想したほどの売れ行きにはなりませんでした。

次回は微積分の内容を扱います。

おまけ:全学計算機システムのLinux環境のMathematicaも試していますが、日本語の利用については、メニュー等は日本語になります。最初起動した時は英語環境ですが、メニューの Edit > Preference にて、言語設定で Japanese を選んでMathematicaを再起動すると、メニュー等が日本語になります。なお、日本語入力はまだできないようで、現在調査中です。

2014-05-02

線形代数I演習(第4回)

今回は、連休の谷間ですが、授業を行いました。

主な内容は、さまざまな行列(転置行列、対称行列、交代行列など)と、正則行列、逆行列を扱いました。レポートは連休をはさんでの提出となりますが、頑張って取り組んでもらいたいと思います。

数理科学IIA(第3回)

今回は連休の谷間ですが、授業を行いました。

今回は、アルゴリズムの要件や書き方を導入し、制御構造などについて説明しました。その後、1変数多項式の一連の四則演算をアルゴリズムの形で記述することにし、今回は、1変数多項式の加算と整数倍の演算をアルゴリズムの形で記述しました。

次回は、1変数多項式の残りの演算をアルゴリズムで記述していく予定です。

2014-04-30

計算機演習(第3回)

今回は、前回の基本的な計算の拡張として、連立方程式の解法や、グラフィクスのオプション、アニメーションなどを扱いました。

今回も端末の動作が遅く、テキストのダウンロードでも人によっては時間がかかったようです。次回は対応策を考えたいと思います。

おまけ:全学計算機システムには、現在この授業でも使っているWindows環境のほかに、Linux環境も使うことが可能です。私が今年、端末を使っている印象の限りですが、Linux環境の方がWindows環境に比べて、いろいろな操作で待たされることが少ないように思います。本年度より、Linux環境の方でもMathematicaが使えるようになったのですが、どの程度授業に使えそうか、大学院生のティーチング・アシスタント (TA) の人に試してもらったところ、以下のような現象が見られました。

  • Mathematicaは確かに起動する。メニュー等の言語設定は英語。
  • 日本語の直接入力ができない。他のアプリケーションソフトウェア(端末やエディタなど)で入力した日本語の文字列をコピー、ペーストすると入力できる(が、普通はこの操作を「入力」とは言わないでしょう)。
  • 最初、あるディレクトリ(フォルダ)に保存したノートブックファイルを開く際にエラーが出ていたが、Mathematicaの挙動を調べてみたら、ディレクトリ名に日本語が使われているディレクトリにはうまくアクセスできないようだ。
というわけで、現時点でWindowsに代えてLinux環境をすべての履修者にすすめるのにはまだちょっと敷居が高い気がしますが、今後も調査を続けたいと思います。

2014-04-25

線形代数I演習(第3回)

今回は、前回レポートの回収がなく、従って今日の返却もありませんでしたので、今回の授業の話題から入りました。

今回の授業のテーマは、ベクトルの長さ、直交性、ベクトルの基本的な性質(分配則など)の証明を扱いました。ベクトルの基本的な性質の証明では、実ベクトルの成分毎に、実数の性質を用いて定理を証明する部分を説明しました。

例題を説明した後、レポート課題を配って問題に取り組んでもらいました。レポートの締切は次回の授業ですので、それまでに各自問題に取り組んでもらいたいと思います。

数理科学IIA(第2回)

先週は、教育研究科の健康診断のため休講になりましたので、今回は2週間ぶりの授業となりました。

今回は、多項式演算の導入ということで、多項式環やEuclid整域の基礎的事項を復習した上で、多項式の擬除算を導入しました。

次回はアルゴリズムの基本事項を説明する予定です。

2014-04-23

計算機演習(第2回)

今日から実質的な授業に入りました。

今年は大学のe-ラーニングシステムが刷新され、テキストやレポート課題などを配布する要領も変わりました。端末の方は昨年までと変わっていませんが、昨年までに比べると、動作を待たされる時間が増えているようです。

さて、今回は端末を使っての初めての授業でしたので、e-ラーニングシステム (manaba) へのログイン、manaba のコースページの内容紹介、Mathematicaの起動と計算、レポートの課題ファイルのダウンロードなどを一通り説明した後、時間が少なくなりましたが今日の授業内容に取り組みました。今日の授業内容は、基本的な数値の計算(四則演算や素因数分解など)や、代数方程式の解法、グラフ描画の基本などでした。

次回は、今回扱ったテーマのより進んだ内容(連立方程式の解法やグラフィクスの詳細など)を扱います。

2014-04-18

線形代数I演習(第2回)

今日はまず、先週回収して採点した第1回レポート評価を返却し、必要条件や十分条件に関する内容を解説しました。

次に、今日の例題に入り、ベクトルが「張る」という概念を中心にした例題の解き方について解説しました。終わりの方で、今日のレポート課題を配りました。次回の授業の最初に回収する予定です。

2014-04-16

計算機演習(第1回)

今日から計算機演習の授業が始まりました。

昨年度、いくつかの変更点がありましたが、今年度はさらに変更点があります。まず、今年度から、2学期制に対応した新しいカリキュラムに移行しました。授業期間がこれまでの10回(旧1学期間・2モジュール分)から15回(春学期・3モジュール分)に増えました。そこで、前半にはこれまでと同様、数式処理システムMathematicaをやるとして、後半に、新たにプログラミング言語Haskellを導入しました。次に、実施学期も、一昨年までは3学期、昨年度は秋学期ABモジュールでしたが、今年度から、春学期の開講になりました。

今日は、恒例のガイダンスということで、Mathematicaの紹介、単位のとり方などの説明を行いました。ガイダンスに来た学生の人数は45人前後で、昨年の履修者数の65人弱からは20人近くも減っています。いくつかの情報によると、数学類以外の学類では各学類の授業と重複している場合もあるようで、履修者のほとんどが数学類の学生になりました。次回から本格的な授業に入ります。

2014-04-11

線形代数I演習(第1回)

今年度の春学期は、線形代数I演習(地球学類対象)を担当することになりました。

今回は、授業のガイダンスとして、授業の進め方や単位のとり方などを説明した後、最初のレポートを解いて提出してもらいました。毎年恒例の、必要条件、十分条件に関する問題です。次回、内容を解説したいと思います。

数理科学IIA(第1回)

今年も、大学院の春学期の講義「数理科学IIA」を担当することになりました。昨年度の授業では、学生の所属の内訳が、数学専攻が数名で、教育研究科が十何名だったのに対し、今年は、数学専攻が10名強、教育研究科が10名弱で、数学専攻の履修者の数が大幅に増えました。

今年度の授業で扱うテーマは、前半のアルゴリズム、計算量、多項式の拡張Euclid互除法のあたりまでは昨年と同様ですが、後半では、数式・数値融合計算の題材を扱いたいと思います。今日は、ガイダンスとして、授業の進め方、参考書や数式処理システムの紹介を行いました。次回からは多項式の術語や諸概念の確認から始めたいと思います。

2014-01-24

数学類卒業研究発表会 (2014)

平成25年度の数学類卒業研究発表会が開催されました。

今回は、朝9時から夕方5時過ぎまで、今度の春に卒業を控えた4年生40人前後が、卒業研究の研究成果を発表しました。発表会のプログラムは分野別に組まれましたが、情報数学分野が最も人数が多く、午前中、お昼までかかりました。あとの3分野(代数学、解析学、幾何学)は午後に発表が行われました。

私が指導したチームの学生は、3人の共同発表が「Berlekampアルゴリズムとその実装」、あと1人が「Hensel構成による整係数1変数多項式の因数分解について」というタイトルで発表しました。年が明けてからは連日自主ゼミを組み、集中的に準備を行ってきたようでしたが、これまでのセミナーによる勉強の成果と相まって、よく頑張って内容をまとめたと思います。今後は、3月の計算機数学グループの合宿にて行われる卒論発表会に向けて、さらなる研鑽に期待したいと思います。

クラス担任の先生についても、発表会の段取りや予稿集の準備、当日の進行、打ち上げの企画など、たくさんの仕事に敬意を表したいと思います。来年は自分の仕事なんですよね。今年の様子も参考にしながら頑張りたいと思います。