7/15(土) 駿府・曇時々晴

 今週中には、少なくとも東海地方は梅雨明けではないかという予想もあったが、日本列島を横断する長い梅雨前線が消え去るに至らず、夏の太平洋高気圧が北陸・東北地方まで押し上げるだけで終わってしまった。今日は秋田で大雨というニュースが流れている。流石に来週には梅雨が明けるのではという予報が出ているが、なんせ自然現象だからなぁ、当たれば良いがさてどうなりますやら。

 

 昨年度から、コロナ感染に鈍感な立ち向かうHPC研究会は対面研究集会を開催したが、どういうわけかJSIAMは慎重な方々が多いようで、昨年度末からようやく対面集会を開始したらしい。ということで、伸び伸びになっていた第49回数値解析シンポジウムが3年ぶり(?)に開催され、当方、13日の1コマ授業、2コマ実験、1コマ卒研終了後に終電間近のトーホグ新幹線に乗って盛岡に22時30分過ぎに到着した。

 なかなか綺麗なホールで、全席に電源が備えられており、Eduroamも使えて快適。ワシの公演は亡くなられたS田先生のお名前から始まる漫談で、まぁ何とかなったと思うことにする。終了後に参加者全員で記念写真撮ったので、そのうちJSIAMのサイトに記事が出る事でしょう。次年度どうなるかは未知数だが、お世話役の苦労が大変で引き受け手がないらしいが無理もない。次年度と言えば、本学・静岡駅前の御幸町キャンパスができているはずだが、駅から地下で直結の場所でできたらいいなと思うがいつになるやら。

 帰りはA大の先生方と盛岡冷麺。確かにゴムみたいな硬さだが食い応えはある。主催者の方からの情報では「辛味(キムチ)」は別に注文しておき、好みに応じて加えていくのがお勧めだそうで、確かにそうしたら適度な味に調整できて大変よろしかった。先立はあらまほしき事也。

 帰りの新幹線、三連休前の金曜日の午後ということで、東京までの指定席が全然空いておらず、みどりの窓口の長い列に並んで窓口の係の人にねじ込んで何とか確保できた。

 東京駅から乗り継いだひかりも指定席満席。自由席は阿鼻叫喚・・・かどうかは知らんが、立ち客が出たらしい。今日からap bank 2023がつま恋で始まることもあって、静岡・掛川・浜松あたりで宿泊する人も多かろう。三連休とはいえ、7/17は本学フツーに講義があるんだけど、朝イチで出発、終演後に帰宅せんとえらいことになるなこりゃ。

 ということで今日はまったり過ごしまする。次の論文締め切り2週間後、そのあとは25年間の業績調書かんといかんしぃ、書類ばっかり書かされる五十路半ばの身の上なり。

BNCmatmul Version 0.21 released!

We have released BNCmatmul Ver.0.21. That dose not provide comfortable compilation but faster DD, TD, QD and MPFR prec. real BLAS functions.

遅くなりましたが,とりあえずBNCmatmul Version 0.21リリースしました。コンパイルには苦労すると思いますが,動けばそこそこ早い多倍長精度BLAS(現状は実数のみ)にはなっているかと思います。

BNCmatmul Ver.0.21リリース延期

 すいません,3月中をめどにリリースしたかったのですが,ドキュメント整備が全然できておりませんで,4月GW前後ぐらいになりそうです。
 待ちかねている人がいるとは思えませんが,「3月中には何とかしたい」と公言した手前,ここで一応はお断りしておきます。

Delay of releasing BNCmatmul Ver.0.21

We had planned to release the BNCmatmul library (Optimized MPBLAS) at the end of March, but since the documentation is not ready at all, it will be around the end of April.
I don’t think there are many people who are waiting for it, but since I have publicly stated that I would like to open it by the end of March, I would like to say tentative release plan of it here.

幸谷智紀「Python数値計算プログラミング」講談社

紙版 [ Amazon ] ISBN 978-4-06-522735-0, \2400 + TAX
Kindle版 [ Amazon ] \2400 + TAX

Python数値計算プログラミング

 そーです,ワシが講談社刊行の自著に,「白泉社の少女漫画サイコー」と書いた大バカヤローでございます。だってホントのことだからしょうがないじゃん,少女フレンド系でハマれたマンガがなかったんだから(以下小一時間のオタク語り省略)。

 それはともかく,とうとう2021年3月に出た出た出ました長年の便秘に悩んでいた末の脱糞のごとく出ましたよ旦那。前書きにも書いたが,これも偏に編集人の忍耐のシロモノなのである。こちとら,額縁ょ~の第1次任期に完全にかぶってしまい,2年目からはコロナ禍の中での対応を迫られ,おまけに科研費も当たっちまったモンだから査読付き論文の方に注力せねばならず,どーしても精神的にも時間的にも伸ばせる〆切の方を後回しにせざるを得ず,大分お待たせをさせてしまったところ,諦めもせずに待ち続けて頂いた結果,何とか「工学基礎」という極めてニッチなジャンルではあっても「ベストセラー1位」という称号を得たのだから,多少はお返しができなのかなと勝手に悦に入っているのである。まぁ出版社的には第1刷分を売り切らない限りは利益回収ができないのだから,本来は第2刷が出てから成果を誇るべきところ,どーせ初刷売り切り実績が少ないワシとしてはそんなの待っていられないので(2021年5月6日現在,Amazonのみで売り切れ状態であるとはいえ),背後に家事に勤しむ神さんの白い視線を感じつつ,まずは本書に収められなかった雑感をここに書きつけておくことにしたのである。

2021年5月5日Amazon在庫切れの証拠画像

 前書きにも書いた通り,本書は元になる原稿があるにはあった。主として静岡大学で非常勤講師を務めていた時に書き足し書き足ししながら使用していたもので,最近は本学でも使うようになったが,いかんせん近年では古い記述が増えてきたことに気づいてはいたのである。そうなると,本学でも使うようになったMATLABをベースに書き直すかなとツラツラ考えていたものの,あんな高額なライセンス料を取りくさりよってと今一つ好感を持てず,取り掛かれないまま深層学習ブームやってきてPythonが流行りになってきたところ,元原稿を基に当方を突き止めた酔狂な編集者の方が「Pythonを取るかJuliaを取るか」という二択をワシに迫ったのである。後者は権威の方が大阪大学におられるので遠慮することにし,多少は心得のあって何とかなりそう&流行には乗りたいというスケベ心が相まって,本書が出来上がったという次第なのである。

 とはいえ,書き直しの必要性があることは承知していたから,章の最初に掲げた歴史的文献からの引用以外は頭から見直しをかけざるをえず,思いのほか面倒な作業であったことは前書きに書いた通りである。記憶を頼りに具体的な所を書きつけていくと,下記のようになる。

  • 「第3章 Pythonことはじめ」は,もともと特定の言語を想定しての記述ではなかったので,2/3以上は書下ろし。書いてから「あ,if文の記述がなかったな」と気が付いたあたりが迂闊である。ま,プログラミング言語の素養のある人向きの書籍であるし,実装の事例は随所にあるのでそちらを見ながら補って頂きたい。
  • 「第4章 丸め誤差の評価方法と多倍長精度浮動小数点計算」は,多倍長計算の章を丸ごと書き直した。下敷きにしたのはワシの紀要原稿であるが,書籍用としては記述をそのまま使うわけにもいかないず,更にリライトしてある。何せ,数多ある数値計算テキストとの差別化を図るためには丸め誤差と多倍長計算を外すわけにはいかず,とはいえワシの「多倍長精度数値計算」並みの記述を行うわけにもいかず,この長さに収めるのに苦労した。「著者の書き過ぎによる暴走」が起こらなかったのは,本章の記述を前提に紀要原稿を書いておいたおかげであろう。ワシ偉い。
  • 「第6章 基本線形計算」は,計算量・ノルムの解説と,NumPyとSciPyのBLAS機能の説明をマージさせつつ,計算時間とノルム相対誤差をコードを使いながら理解できるようにした。この辺,第4章の技法を使っての検証ができるような演習問題が追加できれば申し分なかったが,サンプルプログラムを弄りながらの手すさびみたいなものになるのでキリがないのでカット。まぁ締め切り間際の強行スケジュールで無理に入れてミスを増やしかねなかったからいいか(と勝手に納得)。
  • 「第8章 連立一次方程式の解法2 ―疎行列と反復法」は本来2章の分量を今の視点でまとめ直した。理論的には疎行列も密行列も違いはないが,計算量の観点からは全く違うものとして実装してあるので,まずは疎行列の解説から入り,今ではあまり見かけないSOR法系統の解説はベクトル反復が可能なJacobi反復法だけにとどめ,CG法とKrylov反復法,前処理のやり方がSciPy.sparseで簡単にできることをスクリプトとSuitSparse Matrix Collectionの実例で示すようにした。ざっくりした紹介になってしまっているのは,この辺りを詳細にやるほどの知見が著者にないせいでもあるが,この辺のまとめをちゃんとやってこなかった数値線形計算研究者らの啓蒙努力の怠慢も問題である。いくつか日本語のまとめっぽい書籍が出ていることは承知しているが「敷居が高ぇな」「門外漢には訳が分からんな」「理屈は分かったからコードにして公開してくれない?」というのが偽らざるワシの感想である。
  • 「第10章 非線形方程式の解法」も2章分まとめ,ニュートン法の説明を中心に据え,代数方程式の解法はコンパニオン行列の固有値問題に帰着でき,NumPy.roots関数で簡単に解けることを示すにとどめた。減次して解くという古典的な方法も好きではあるが,まぁ現代的とはとても言えないので割愛。
  • 「第12章 関数の微分と積分」と,この辺りから便利なパッケージを使うことをお勧めするように軌道変更している。微分についてはAutogradパッケージは外せないし,SciPy.integrateは次の常微分方程式との絡みが出てくるので,使い方を示すのは重要・・・と言いつつ,しっかりと等間隔分割によるニュートン・コーツ公式とガウス型公式の違いは解説しておく必要があるなと,この辺りの記述はそのまま元原稿から流用してある。二重指数積分法の説明に踏み込むと複素積分まで考えないとまずいので,今回は割愛。今の仕事が一段落したら,ロンバーグ積分と組み合わせて面白いことができないかなと夢想しているが,ここに踏み込んだら暴走が始まるので,この判断は良かった(でないと〆切が無限に伸びる)。
  • 「第14章 偏微分方程式の数値解法」は,元原稿にない放物型・双曲型・楕円型PDE全部の実例と解説を付加した。参照した本がいずれも古くて,疎行列ライブラリが存在していない時代のシロモノで,はてさてもう少し効率的なやり方はないものかと,自分なりに咀嚼してスキームを組み立ててスクリプトを作成。疎行列以上にPDEの世界は応用分野が広いので,分野ごとに様々な独自手法が存在し,とてもじゃないが一人ではまとめきれない。ということで,せめて前章の応用としての時間発展問題ぐらいフォローしたかったが時間切れであえなくチョン。詳しい人にはPDEだけでPython本を書いてもらえばいいんじゃないかなと思うが,大規模化のためにはコアの計算部分の並列化と高速化が欠かせず,PythonじゃなくてC/C++によるMPI/OpenMPによる並列化の話になるので,もう「入門書」とは呼べないレベルになること必定である。

・・・とまぁ,このぐらいにしておくが,数値計算に限らず,プログラミングが重要な役割を果たす分野の入門書は時代の流行に合わせて言語やソフトウェアを変えながら新刊本として登場するのが常である。本書も,FORTRAN→MATLAB→BASIC→Pacal→C/C++→Pythonという流れの一つとして出たもので,類書は今後も出続けるであろうから,読者の方々は自分と相性の良いものを選んでいただきたい。本書がその一つとしてどなたかの琴線に触れることができれば,著者としては望外の幸せというものである。

2/27(土) 駿府・曇

 薄曇りの穏やかな1日であったが,午後から気温がダダ下がり,明日は平年より寒くなる見込み。首都圏以外の非常事態宣言は月曜日から解除されるらしいが,ワクチン接種計画が予定より後ろにずれ込むこと確実の昨今,油断するとあっという間に元の木阿弥になる。とはいえ,解除せずにいつまでもロックダウン状態にしておくと,補助金がナンボあっても足りんし,経済は回らんし,誰が首相でも難しいんでないかい。ワシら一人一人が飲み会自粛しつつ,マスク常時着用を心掛け,手洗いとうがいを励行する他ないよなぁ。

 いやいや,新年明け以降,死にそうなほど仕事した。額縁ょ〜の仕事はもちろん,卒研発表,「Python数値計算プログラミング」の推敲2回,国際研究集会二本submit,3月のHPC研究会の予稿作成,最後は紀要論文の原稿締め切りをクリアして,本日は腑抜け状態なのである。人生で一番濃密かつギリギリのスケジュールで仕事を遂行した二ヶ月であったと言える。こんなの,ワシの人生設計にはなかったよなぁ。まぁお国から貴重な税金を割いてワシの個人研究に予算を下さったのだから,査読ありの国際研究集会とか論文誌にチャレンジし,acceptさせる努力は最低限の義務である。科研費貰っておきながら,口頭発表だけで済ましている輩はワシから言わせれば税金ドロボーである。一応,昨年は一本通したし,本年も最低一本は大丈夫だと思われるが,できれば二本でも三本でも通したいものである。あー疲れた。

 こんなハードスケジュールでも,何とか完走できたのは,単に神さん用として購入した任天堂Switchリングフィットアドベンチャーのおかげである。かねてより運動不足を指摘されていた神さん用として,昨年11月下旬に前倒しクリスマスプレゼントとしてセットで購入したものを,神さんは取り憑かれたように毎日攻略し,1月には早々に全クリアしてしまったのである。ワシは最初その様子を見るだけにしていたのだが,ムクムクと征服欲が沸き上がり,12月半ばぐらいから恐る恐る開始,1月からは毎日100kcal以上の運動を欠かさず行い,今週木曜日に最終23ステージをクリアしたのである。

クリアした証拠画像

 忙しいとか言いながらも,毎日欠かさず二ヶ月以上に渡り就寝前に運動していたおかげで,特に腹回りがスッキリしてベルトが緩くなり,ハードスケジュールを駆け抜けるスタミナを養えたのだ。誠に任天堂様様であり,神さん共々厚く御礼申し上げたい。コロナ禍のため,昨年長らく品薄状態だったらしいが,ちょうど11月に入った辺りから市中で出回るようになり,地元の家電量販店でも在庫がいつでも購入できるようになっていたのもラッキーであった。まぁつまりは流行からは周回遅れだった訳だが,そんなことはどーでも良い。ゲームが健康増進に役立つようになったのは,ファミコン第一世代として育ったワシらアラフィフには誠に感慨深いものがある。

 明日は大学見学会に半日お付き合いすることになっているが,ちょーどいいので

の宣伝をちょろっとしておくことにする。そんくらいの役得はあってもいいわな。

 明日に備えて寝ます。本日は133kcal消費できました。