5/30(土) 駿府・曇

 朝方はいい天気かと思っていたら,これを書き出す頃には薄曇に。爽やかな大陸型高気圧が日本列島のど真ん中で頑張っているおかげでカラッとした爽やかな空気が運ばれてきている。押し下げた梅雨前線は来週には盛り上がってくるようなので,本日はこの爽やかな春最終の週末を,南部鉄器のアマビエと共にゆっくり過ごすことにしたい。

鉄の処女ならぬ南部鉄器のアマビエ

 ベランダのささやかな菜園は,パセリが一向に育たない以外は順調である。

 左が2週間前,右が今現在の状態で,ラディッシュは順当かなと思うが,朝顔の育ち方はちょっと度を超えている。蔓が伸びてもいいようにネットは貼ってあるので,どんどん伸びて頂きたい。

 ボチボチ5月が終了するが,今月は色々あった。一番はこのクレジットカード不正使用未遂による iPhone SE購入トラブル。顛末は下記のTweetから辿ると分かる。

 その後,予定通り新しい番号が割り当てられたクレジットカードが到着,諸々カード変更に伴う手続きを行い,iPhone SEが到着してやっと使えるようになった Apple Payの筆頭クレジットカードとして登録できた。やれやれである。
 ところで,新しいSEであるが,全く快適であり,初代SEよりごっつくデカくなった以外は気に入っている。電話としては使えなくなった初代SEはFacetimeの子機として活用しようと職場に持って行ったらポートが塞がっていて全く使えないので,自宅で使うことに。持って歩くこともないので,ほんとに壊れるまで長い付き合いになりそうである。もちろん,今のSEもよろしくお願いしたい。しかしまぁ,移行作業は格段に楽になったなぁ。

 今月の大仕事は「情報数学の基礎」改訂版のための新章書き足しと,「Python数値計算入門(仮)」の第6章,第7章の書き直し。前者は少し長く書きすぎたかとヒヤヒヤしていたが,とりあえずO.K.が出たので初稿待ちとなった。後者は・・・先が長いなぁと感じさせられる作業であった。我ながら若書きの部分はさることながら,今となっては冗長すぎる部分があり,思いっきりカットしたり書き足したりで,一向に固まる気配がない。一番の難所は補間と数値積分のところ。前者はスクリプトを書き足す必要があるし,後者はほとんど解説の必要がないんじゃないかというぐらいなのでカットしちゃおうかなぁと。6月の大仕事はここに集約されそうである。

 ということで,遠隔講義は今後も続くものの,ボチボチ大学院,卒研,実験は開始されつつある昨今,感染状況を伺いながらの綱渡りな日々が始まる梅雨時となりそうである。頑張ります。

4/19(日) 駿府・晴

 今週末の土砂降りで桜はすっかり散り,春めいてきた。日中は日が差すと暑いぐらい。流石にもうヒートテックは要らないかな。にしても,世界の終わりかというぐらいの人出の無さ,いつまで続くのかしらん。8割人出カットで一ヶ月で押さえ込みがなんとかできそうということだが,感染のリスクは残ったままだし,特効薬もワクチンもないわけだから,8割おじさんの思惑通りになったとしても,一気に経済活動解禁ということにはなりそうにない。今年度いっぱいは不自由な生活は覚悟せんといかんかなぁ。

静岡銀行・呉服町支店のギャラリーにアマビエ登場

 コロナ騒ぎが全世界的に広がって,日本全土が緊急警戒地域となり,本学も全面的にオンライン講義を行うことになった。今週水曜日からは基本,Microsoft Streamで動画配信講義が行われる。リアルタイム配信も考えたが,回線容量的に心配な上,トラブったときの対処や教員や受講生の慣れが必要なことを考えると,予め録画したものをリリーするのが良いだろうという判断である。
 おかげで,準備を前倒しする必要があり,額縁ょ〜としての職務分に加えて自分の講義も2〜3週まとめて収録した。凝りすぎると時間がかかり過ぎる上に,視聴する学生の負担も増えるので,サラッと作ったつもりだが,はてさてどういうことになるやら。我ながらアドリブが好きなので,かっちり固まった講義スタイルは好きではないのだが,この際そんなことは言っていられないから,毎年のペースを思い出しながら無観客講義を続けるのみである。今週から少なくとも5月いっぱいは,シーンと静まり返ったキャンパスに収録する声のみが響くのだろうなぁ。まぁこれを良い機会として自分の講義内容を見直すとするか。

 つーことで,Python数値計算入門の見直しどころではなくなってしまったが,これから講義収録しつつ,直しをしていきまする。

 風呂入って英気を養うべく寝ます。

4/4(土) 駿府・晴

 天気晴朗,そよ風が吹く,穏やかな春の土曜日であるが,コロナウイルス騒動で,全世界的にメメントモリ状況に陥っていて心穏やかならず。爆発的な感染が広がった中国,イタリア,アメリカではロックダウンを行うにも理解が得られ易かろうが,日本では個々人の行動が抑制されているせいか,まだその状況には至っていないという認識が一般的で,故に政府も非常事態宣言が出せずにいるらしい。起こってからでは遅いが,早ければ後々そんな必要はなかったと批難される可能性が高いし,大打撃を受けている飲食業・旅行業・その他もろもろの企業や個人への補償策がまとまらないうちは宣言もできないだろう。さりとてワクチンもない現状では感染者が減ることは当面考えられないので,早い話が「さっさとやれ」に尽きる。

 職場の方は,当然,例年通りの全学的入学式は挙行できないので,感染防止策をしっかり取った上で,学科別に分散して新入生ガイダンスを行った。学長以下,ワシも額縁ょ〜として付き従って水戸黄門御一行の如く,各教室を回っては祝意を述べて回る事になる。ワシはいいけど,毎度しっかり挨拶をしなきゃならん学長は大変である。来年もこの状況だと,卒業式のように,挨拶は動画コンテンツを流し,顔見世程度でいいような気がする。・・・そんなことにならなきゃいいけど,早くワクチンできないかなぁ。 Bill Gatesの試みが成功することを祈るのみ。自分もせいぜい感染しない,させない努力をしないとなぁ。今年は東京行きも控えることにする。アキバと神保町の散策,できないとなると無性に行きたくなるのは人間のサガだな。

 WordPress 5.4にUpdate。何が変わったかよく分からんけど,Pluginに広告が表示されるようになってきたのは正直ウザい。かすみ食って生きていける訳じゃないけど,Adwareの適切な管理はしっかりやってほしい。

 Python数値計算入門,第2章見直し終了。演習問題は10進ベースなので,decimalパッケージを使った回答例を作った。第3章はさらっと見ておき,Matplotlibの説明は全体的にグラフを作ってから,必要最低限の説明をしておく程度にしておくことにして,今のところ後回しにしておく予定。

 次週は,自分の担当分のオンラインコンテンツを作っておかないとなぁ。PowerPoint資料に動画と音声を流し込んで,Microsoft Streamでアップしておくのが一番楽かな。小テストはMS Formsで。Office356に頼りっぱなしだが,今こそCloudの力を発揮して持ち堪えて頂きたい。

 今日は溜まった漫画と新書の消化に充てます。

4/2(木) 袋井・?

 一日中,あれこれ忙殺されていたので天気が不明のままである。雨は降っていなかったと思われる。老眼鏡のネジが外れて使いづらいのなんの。今週末まで時間が取れないから,バックアップ用の奴で凌ぐしかない。

 ぼちぼち「Python数値計算」の完成が見えてきたので,進行メモがてら,個々の更新をマメにするついでにどこまで進んだかを書きつけておくことにする。但し内容は薄くなるけど。

 本日は第1章の手直し,大体終わった。次は第2章の手直し。

 コロナ,収束しそうにないので,感染防止しながら日々を過ごすしかない。こういう時に限って科研費が当たったりしても,折角確保した旅費の使い道がない! まぁ,プログラミングを頑張るしかないなぁ。20年以上申請書書き続けてきたけど,今後3年間は報告書だけでいいので,気楽・・・じゃないな,業績重ねないと次がないのでかえってプレッシャーが増えるのだ。額縁ょ~は頑張るしかないのだ。

 明日も頑張ります。

コロナウィルス流行曲線をPythonで描いてみる

 佐藤總夫「自然の数理と社会の数理 II 微分方程式で解析する」(日本評論社)という名著があった。ホントはI, II, IIIと3分冊で出るはずが,I, IIが出た後は音沙汰なしという,当時学部生だったワシが残念に思っていたシリーズである。今回のコロナウィルス騒ぎで散々出てくるあの「流行曲線」という奴,本書に詳しく出てたので,折角だから知識と本の虫干しがてら,Python+SciPyで描いてみることにしよう。つーことで,以下の数学的な記述は全部佐藤著の「第7話 伝染病の伝播」に基づくものなので,詳しく知りたい人は図書館にGoである。理工系大学ならあるんじゃないのかな。

 感染症モデルの中でも一番簡単なものを取り上げる。前提として

  • 感染者を\(y = y(u)\), 感受性者(これから感染する可能性のある人)を\(x(u) = x\)とする。
  • 全人口を\(n+1\)とし,増減はないものとする(「死者は出ない」の意)。つまり常に\(x + y = n + 1\)が保持される。
  • 感染者の発生率は\(xy\)に比例する(人々の均等な接触を表現)。
  • 最初の感染者は\(y(0) = 1\)とする。

とする。この時,常微分方程式の初期値問題としては

\[ \frac{dx}{du} = -xy = -x(n+1 – x), x(0) = n \]

となる。新たにどの程度の感染者が現れるかを表現したもの,つまり感染スピードを表わす関数が\(w(u)\)である。上記を解いて\(x(u)\), \(y(u)\)を求め,そこから\(w(u)\)を計算してグラフ化したものが下記の図である。小うるさい人にすれば,人数が単位の\(x(u)\), \(y(u)\)と人/時間が単位の\(w(u)\)を同じ縦軸に描くとは何事だと言いそうであるが,これらの関数の関係を表したものとご理解頂きたい・・・今気がついたが,右軸も使えば良かったんだな,面倒くさいから,やりたい人向けの課題としておく。

 このグラフから,感覚的には次のことはすぐに分かる。

  • 感染を妨げるものはないので,最終的には全員に感染する。
  • 感染が止まるのは全員に感染するからであって,感染するスピードは山なりに変化する。

 初期感染者は今更ゼロにはできないし,できることといえば,感染者を見つけたら素早く感受性者から引き離して\(xy\) を減らすしかない。つまりは初期感染スピード\(w(0)\)を極力減らすしかない訳で,実際,\(w(0) = 10, 20, 30, 40\)まで\(10\)刻みで変えてみると下記のようなグラフを得る。

 このグラフが感染スピードの変化を示しており,当然ながら,初期感染スピードが遅ければ遅いほど感染率極力小さく抑えられることが分かる。現在の厚労省が取っている対策もこれに基づくもので,このグラフはまさしくこのグラフが描いている曲線ということになる。

 つーことで,上のグラフを描くためのPython + SciPyコード例を下記に挙げておく。ちなみに,この常微分方程式は解析解が手計算で求められるので,ピーク時はどこになるとかといった議論も可能である。詳細は佐藤著をご覧頂きたい。