茜屋市駅西店へお昼を食べに行った。北久米のあの茜屋の姉妹店である。基本的にあの茜屋の味なのだが、さすがに本店にはちょっと及ばない。それでもあのラーメンが近場で食べられるのはありがたいので、また来ることにする。その後、大学近くのローソンまで届いた荷物を取りに行った。
届いたのはUSB Type-CのSDカードリーダとHDMIディスプレイアダプタとUSBハブを兼ねたデバイスだ。YOGA Book C930は、USB Type-Cのポートが2つあるだけで、しかもそのうち1基がバッテリーの充電用を兼ねるので、拡張性に乏しい。そこを補うためにこういうものが必要というわけ。持ち運びが便利なYOGA Bookだけに、ディスプレイアダプタは必要だ。原稿書きや発表のスライド作りは手になじんだdynabook R63/Tでやりたいけれども、どこかへ出向いていってプレゼンテーションという段階では、かさばらないタブレットPCのほうがありがたい。
さてさて、夕方からは音楽教室の発表会。自分はバッハの第4フランス組曲(BWV815)のアルマンドを演奏。2箇所ほどとちったが、どうにかしまいまで大きな事故もなく弾くことができてありがたかった。
本番の演奏となると、どうしても「ミスしちゃいけない、間違えちゃいけない」「恥かきたくない」と思いがちで、それで緊張してアガってしまうんだけれども、しかし冷静に聴いてみれば、俺ももちろん、俺よりずっと上手い人たちも含めて、ノーミスの完璧な演奏なんて、出演者の誰もしちゃいないのである。そして聴くほうも、ちょっとした演奏中のミスなんかどうとも思ってない。だから少々トチったところで、どうってことない。もちろんミスするのがいいわけでもないが、とにかくそういう、ちょっと居直った気分で本番に臨んだ。とはいえ、大事故が起きなかったのは、やはり前回より実のある練習の時間をとれたのと、曲が身の丈に合っていたおかげだろう。
山本さんのフォーレ「言葉のないロマンス」、西原さんの弾く同じくフォーレの「シチリアーノ」のピアノ版、北野さんのラフマニノフ「楽興の時第5番」、ヴァイオリンの田内さん夫婦がそれぞれ弾いた「Breezing Air」と「Another Sky」、明賀さんが弾いた齋藤圭土「Cooking Time」などなど、いい曲をたくさん知れたのもよかった。それに、数年ぶりに松本さんのソロ(ラフマニノフ「鐘」)を聴けたのも嬉しい。
打ち上げはカトリック教会近くのナットフォード・テラス。毎回このパーティーがあるおかげで何人かの出演者とはすっかり顔見知りである。これまたありがたいことだ。お開きのあと、火曜日に行けなかった Garakta に立ち寄り、ダメ押しに一杯だけ飲んで帰宅。テシマ先生に頂いた花を花瓶がわりのマグカップに活ける。
2019年11月15日(金)
昨晩深酒して寝たので未明に目がさめた。そのときに娘の夢をみた。夢のなかで、娘は俺と顔を合わせると嫌そうな顔をした。実際には昨年の夏から娘には会っていない。妻の報告によると、それなりに元気そうなのだが。
それで二度寝して、朝は少し寝坊した。朝食をとり、弁当を作り、洗濯をし、ピアノの練習をし、それから大学へいく道で銀行に寄る。給料日なのでいつものように妻子への仕送りほかいろいろの資金の移動をするのだ。
『PythonユーザのためのJupyter〔実践〕入門』の第5章を読み終えた。Matplotlibのいろいろな機能を知ることができたのはありがたかったが、書き方なのか何なのか、どうも好きになれないし、マニュアル代わりに手もとに置きたくなる本というわけでもないので、他のいろいろな本と一緒にブックオフに持っていってしまった。
2019年11月14日(木)
講義では自然数の有限列を自然数でコーディングし、列の長さや各項を求める計算が原始再帰的関数でできることを説明した。これでようやく次回は心置きなくゲーデル数の話ができる。講義はあと3回あるから、不完全性定理の証明をちゃんと説明できるだろう。
連載の2月号の記事をいいかげん書かねばならん。大まかには、完備距離空間とベールの定理について書くと1年前から決まっているが、この「大まか」というのは、どうも曲者である。実際に書くものは「こまか」に書かねばならない。大まかで安心していてはどうしようもない。
先日買ったYOGA Book C930は論文や電子書籍を読むブックリーダーとして使いたいところだ。だから当然Adobe ReaderやWindows版Kindleアプリなどを入れ、OneDrive、Google Drive、Dropbox、iCloud Driveといったクラウドストレージサービスに接続する。しかし、電子書籍リーダーとしてはKindle Fire HDがすでに手許にある。使いわけが難しい。ただ、Fire HDにはiCloud Driveの公式アプリは存在しないようだし、どちらのデバイスにも一長一短があるだろう。まあ、しばらくゆっくり考えよう。
2019年11月13日(水)
朝食を作り弁当を作り、洗濯をし、倅を学校へ送り出し、少しピアノの練習をしてから大学へ行く。
午後、大学院のセミナー。自由アーベル群の話。自由アーベル群の部分群がまた自由アーベル群であること。有限生成でねじれのないアーベル群が自由アーベル群であること。自由アーベル群がホワイトヘッド群であること。集合論プロパーの話をしていたときのようにすいすいとは進まない。ゆっくりやるしかない。
夕方、早めに帰宅して、夕食のあと、明日の講義ノートを作る。明日は有限列のコーディングの話をする。夜、『PythonユーザのためのJupyter〔実践〕入門』の実習を少しだけ進めるつもりで始めたが、気がつけば1時間半もやっていた。
水曜日なので休肝日。
2019年11月12日(火)
火曜日だけど月曜日のスケジュールで授業をするので午後に講義をする。原始再帰的関数とその表現可能性について。これが済めばゲーデル数のアイデアを説明して不完全性定理の話に入れる。
『PythonユーザのためのJupyter〔実践〕入門』は第5章。Matplotlibのいろいろな機能の紹介だ。第4章に比較すれば少しは面白いけれど、きょうの実習は少しだけ。この本については、先日から面白くないとか面白いとか勝手なことを言っているが、それは、ビッグデータの可視化よりは数学的なグラフのプロットをやってみたいという俺の動機づけに関連して、という話で、これすべて「個人の感想」である。データサイエンスの重要性は俺とて認めるに吝かではない。面白かろうが面白くなかろうが、Pythonの実習を兼ねて、おさらいせねばならぬ。
夜はピアノのレッスン。本番まであと10日。少しはリラックスして弾けるようになったので、これから陰影をつけて弾くように、ゆっくり丁寧に練習したい。レッスン後は Garakta で常連さん2人の誕生パーティ。楽しかったが今夜も倅を泊めねばならぬので早めに退散。
2019年11月11日(月)
学祭の撤収作業のため休講。『PythonユーザのためのJupyter〔実践〕入門』第4章を読み、Matplotlibでのデータの可視化の実習をするが、どうも面白くない。面白くないが有意義ではあるはずなので信じて進む。第4章を読み終えたあとは気分を替えて、『フラクタルの世界』の図版のリメイク作業を進める。第2章の図版についてはパラメータが一切記載されていないので目測でやるしかない。
夜は倅が泊まりにきた。
2019年11月10日(日)
朝、変な夢を見た。「お寺そっくりなスーパー銭湯《極楽湯》に行ってみる。玄関に金色の阿弥陀さまが安置してある。坊主頭に作務衣の店員さんが案内してくれるのだが、余所見をしているあいだに店員さんを見失ってしまい、館内で迷子になる。」
お昼前に県立図書館に行って本を借り換えた。まつちかのワインバーBALでワインを飲んだ。月末の東京行きの飛行機を手配した。あと、ちょっと冒険して、新しいデバイス (Lenovo Yoga Book C930 ) を張り込むことにした。これについてはおいおいレポートする。
2019年11月9日(土)
毎年恒例、理学部公開講座。今年は松浦教授の講演。高校生と卒業生を中心に、20名を越えるお客さんに来ていただいた。数学科の卒業生である附属高校の上床先生は、生徒さんを何人も連れてきてくれた。一昨年の大学院の卒業生たち(赤松さん、足立さん、桐島さん、乗松さん)が登場した。いつもながら、松浦教授の話はわかりやすくサービス満点で、とても面白い。そして面白いだけでなく、ちゃんとポイントを押さえて考えさせる話である。
そして、ちょうどそのころ東京では、加藤さんが数学カフェで幾何群論の講演をして会場は大いに盛り上がっていたらしい。
2019年11月8日(金)
立冬である。寒さに備えなくちゃね。
『PythonユーザのためのJupyter〔実践〕入門』(技術評論社2017年)という本を買った。Jupyter NotebookやPandasやMatplotlibのいろいろなTipsが載っている。読んで面白いという本ではないが、Matplotlibでグラフのタイトルなどに日本語を使うと文字化けする問題への対処法なども書いてあって、けっこうありがたい。データの可視化はこれからどうしても重要になってくるので、MatplotlibやBokehの使い方をしっかり勉強しておきたいのだ。
2019年11月7日(木)
朝、三番町ガーデンプレイスカフェに行く。きょうの講義ノートを少し見直し、連載記事のことを少し考える。
午後には講義。中国剰余定理と、ベータ式による有限列の扱い。これでようやく、ペアノ算術が再帰的定義を扱えること、あるいは少なくとも、あたかも扱っているかのように解釈できることがわかった。次回は原始再帰的述語と表現可能性の話をして、それからぼちぼち不完全性定理の証明に突入する。
講義のあとはまたPythonをいじった。昨日の実験で滑降シンプレックス法を用いて極小値を探索した関数は、勾配ベクトルが簡単に計算できるので、最急降下法も試してみたところ、なんだこっちの方がいいじゃん、という結果となった。微分が使えるなら、その強みは活かしたほうがいい。そのあと、ずっとやってみたかったこと、陰関数で与えられた曲線のプロットを試してみた。これは勾配ベクトルを計算して、基本的には勾配と直交する方向へ一歩を進め、そのたび、関数値がずれないように(最急降下法と同様のアイデアで)勾配と平行に小さく動いて位置を補正するという戦略。ただし、特異点の近傍を通過するときにどうするか、工夫が必要だ。
夕方、帰り道にダイソーに寄ってミシン油を買い、自転車の錠と、アパートのドアの蝶番に注油。やたら軋んでいたアパートのドアが静かになった。昨日に続いて、結果的にという感じだが休肝日。
夕食後またパソコンに向かい、昔ながらのフラクタル画像の配色について思いついたことを、今度はJavaScriptで実験してみる。宇敷重広さんの『フラクタルの世界』(日本評論社1987年)のPascalのコードをJavaScriptに移植して再現してみたいのだが、配色の工夫だけは改めてやるしかない。
2019年11月6日(水)
川添愛さんの新著『聖者のかけら』 (新潮社)をご恵投いただいた。ありがとうございます。とっても楽しみなんだけど、さて、いつ読もうかな。
大学院のセミナー。\(\mathbf{V}=\mathbf{L}\) から \(\diamondsuit^+\) を導く証明が終わり、話題はアーベル群に移る。
昨日に引き続いて “NUMERICAL RECIPES in C” の第10章から、きょうは「滑降シンプレックス法」のコードをPythonに移植した。ためしに \(((x_0^2+x_1^2)-1)^2\) という2変数関数の極小値を探索させたら、なんだか動作がおかしい。コードの移植のときに何か間違えたかと思ったがそうではなく、もとのコードで \(|y_1-y_0|/(|y_1|+|y_0|)<\varepsilon\) という分数の不等式を使っているところが原因だったようだ。分数を扱うときは分母がゼロでないことを保証せねばならないが、極小値がゼロである今回の関数の場合はその保証ができない。この分数の分母がゼロになるのは \(y_0=y_1=0\) のときだけで、浮動小数点数を数値解析の文脈で扱っている限りそういうケースはなかなか起こらないので見過ごされたのだろう。分母を払い、さらに両辺がゼロになる場合を考慮して \(|y_1-y_0|\leq\varepsilon(|y_1|+|y_0|)\) という不等式を使うことにしたら解決した。
さしあたり何に使うでもないコードのバグ取りにずいぶんと時間をとられたので、明日の講義ノートづくりが夜になった。帰宅して家でやる。そろそろ講義の残り回数を考えてうまく話を着地させないといけないぞ。
水曜日なので休肝日。明日の弁当のおかずが心許ないので、夕食後にひき肉の味噌炒めを作る。
2019年11月5日(火)
午後、3年生セミナー。ヒルベルトの幾何学基礎論のうち順序の公理の話。
すいぶん昔になるが、『NUMERICAL RECIPES in C 日本語版』(技術評論社1993年)という本を中央通のブックオフで入手してあった。値段は1,000円もしなかったと思う。昨日読み終えた『Pythonで動かして学ぶ! あたらしい数学の教科書』(翔泳社2019年)から、機械学習がいわば関数の最小化問題だと学んだので、我妻さんの本で扱っていた最急降下法以外にどんな最小値探索アルゴリズムがあるか、この “NUMERICAL RECIPES” の第10章を読んで調べることにした。きょうのところは1変数関数の「黄金分割法」「Brentの方法」の実験をした。本当はもちろん多変数関数の場合に興味があるわけだが、それは明日以降のお楽しみ。
夜はピアノのレッスン。その後、ジュンク堂で本を1冊だけ購入。Garakta は、開いていなかった
2019年11月4日(月) 振替休日
朝のうちに『あたらしい数学の教科書』を読み終えた。この本の最後には、1個の1入力のニューロンが関数のグラフの形状を学習する、というプログラムが紹介されている。といっても、\(0\leq x\leq\pi/2\) の範囲の \((1+\sin x)/2\) のグラフに、シグモイド関数 \(1/(1+\exp(-xw+b))\) のパラメータを調整してフィッティングさせるという事例で、これはよく考えると、サインカーブとシグモイド関数のグラフの形状からいって、簡単すぎる。単一のニューロンの学習能力を初学者に過大評価させかねない事例なんじゃないかと思った。しかし、いずれにせよ誤差を最小化するようにパラメータが漸次調整されていく様子が見れて、なかなか面白かったのは確かだ。この本のおかげでPythonのコードの書き方もJupyter Notebookの使い方も少しはわかるようになったし、それだけでもありがたい。
2019年11月3日(日) 文化の日
昨日に引き続き『あたらしい数学の教科書』の第6章「確率・統計」を済ませ、最後の第7章「数学を機械学習で実践」に進む。夜10時近くまでやって、セクション7.2のロジスティック回帰の実習までやった。といっても、ずっとパソコンに貼り付いていたわけでもなくて、午前中はコミセンの図書館に行ったし、夕方には食材の買い出しにも行った。
2019年11月2日(土)
いい天気である。シャワーを浴びてから、和光会館できょうあす開催の松山ブックマルシェ に行った。高田淳『易のはなし』(岩波新書1988年)やエッシャーの画集など合わせて4冊買った。nCoくんも来ていた。昨日の雑談の中でこの古本市のことも伝えてあったのだ。阿部謹也『ハーメルンの笛吹き男』(ちくま文庫)があったので、笛吹き男の伝説のことをnCoくんに説明して、この本の一読を薦めた。昼食にはまつちかのBALに行くことに決めていたので、nCoくんを誘って歩いて行く。大街道でもイベントをやっていた。ハンドメイド品のフリマのようだった。それに堀之内公園でも「えひめラーメン博2019」とかいうイベントをやっていた。さすがにこの連休はイベント目白押しというわけだ。
帰宅後はしばらく昼寝してから、『あたらしい数学の教科書』の第5章「微分」を読んでJupyter Notebookで実習する。シグモイド関数のことや最急降下法による最小値探索のことなどについては知らなかった。読んでみるもんである。本のことをツイートしたら著者の我妻さん(@yuky_az )に「いいね」とリツイートをもらった。
あと、Mathematical Logic Advent Calendar 2019 というのをAlweさん(@Alwe_Alwe )が作るというのでひと口乗ることにした。ゲーデルのLとゼロ・シャープについて何か書かせてもらう。
2019年11月1日(金)
11月になったので、押入から冬服をひっぱり出す。
今週火曜日の日記 で触れた我妻幸長『Pythonで動かして学ぶ! あたらしい数学の教科書』の実習の続きをやる。慣れてくると、Jupyter NotebookはPythonのコードをちょっと書いて動かしてアイデアを試すのに確かに便利だ。これでコードを書いたり、Matplotlib でグラフを表示させたり、気づいたことをMarkdown形式 で書き残したりしていると、なんでもないことでもちょっと高級な見栄えがして、仕事をしている感が演出できていいぞ。
先日入稿した縦書き原稿のゲラが編集部から届いたので校正をする。何箇所か文章を直すところもある。
夕方、nCoくんが研究室を訪ねてきた。自由アーベル群の部分群がまた自由アーベル群であることの証明の話などなどを少しして、その後、長々と雑談。