書評 : 西郷甲矢人,能美十三『圏論の道案内 ~矢印でえがく数学の世界~』

西郷甲矢人,能美十三『圏論の道案内 ~矢印でえがく数学の世界~』

はじめに

重い腰をあげて小説書評 Advent Calendar 2019, 12月7日の記事です!

ちなみに,まだ枠が21日分残っていますので是非他の型も参加してみて下さい.

一応, Advent Calenderでは

  • その小説を選んだ理由
  • 小説の概要
  • 小説の推しポイント(刺さった一節や世界観の設定など)
  • 次に読みたくなった本(同じ作家の別作品でも別の作家の作品でも)

が, あると嬉しいとのことなので, この流れに沿って進めていきたいと思います.

小説を選んだ理由

普通に小説を読もうと思ったのですが, Advent Calenderのことを完全に忘れていたために最近はロシアや東欧の歴史や地理に関する入門書しか読んでいないのと, 単純に図書館の返却期限が迫っているのでこの本にしました.

区分的には数学書ですが, 2人の著者が軽口を叩きながら圏論について語っていくというスタイルなので小説だと思うことにします.

小説のあらすじ

著者の西郷氏は数理物理が専門であるが, 学生時代より圏論の愛好家でありことあるごとに「それは, 圏論の考え方を用いると良いんじゃないか」(p5)とついつい口を出してしまった結果, 様々な分野で圏論が流行しその「道案内」を多くさせられることになったようです. そして, 「ありとあらゆる思考の結節点」(p7)になりうる圏論が異分野間の交易の要衝となることを願いつつ, 圏論において重要な概念である「自然変換」を理解してもらうことを目標として, 古くからの実在友人能美氏を道連れに本書は書かれました.

「自然変換は重要だ」(p266)

流れとしては, 圏, 関手(かんしゅ), 自然変換についての説明や例に150ページ弱が説明が費やされています. 後半は普遍性, 冪, 圏論集合論, 随伴, プログラミング言語HasKellと関係の深いモナドについての記述がある. (後半は未読のため, 今日書いている時点では内容について触れません)

小説の推しポイント

いわゆる普通の数学書のように定義定理証明が無機質に並べられる, わけではなく, 徹底して著者2名による対談形式で話が進んでいきます.

眠気がやばいので, 一旦中断して公開します.

次に読みたくなった本

たったいま探したところ, せつラボ 〜圏論の基本〜があるようなので, そちらを読んでみたいと思います.

あとはThe Dark Side of Forcingの中にも圏論を題材にした小説(?)があるみたいです.

なお, その他の圏論の入門書ということならこのブログが良いのだと思う.

まずは読み終わらねば

最後に

これまで圏論はおろか数学自体をまともに勉強したことはなく, 正直この本もあまり理解できていませんが, 間違いなど有りましたらこっそり教えて下さい.

明日はくろやまありさんの記事です. ニムロッド、南極点のピアピア動画、星を継ぐもの、のうちのどれか, ということで楽しみですね!

お役立ち情報のまとめ

お役立ち情報

セミナー・研究会情報(関東近傍に限る)

物理学系のセミナー

東大駒場の物性セミナー

統計物理ML

論文・雑誌・arXiv

桂さんによる今日のオススメ

物性物理のジャーナルクラブ(日本語)

物性物理のジャーナルクラブ(英語)

アーカイブのピア・レビュー?

磁性論文bot

Physical Review Letters

Physical Review A

Physical Review B

Physical Review C

Physical Review D

Physical Review E

Physical Review X

Journal of the Physical Society of Japan

Progress of Theoretical and Experimental Physics

Nature Physics

Nature Communications

New Journal of Physics

Annals of Physics

APSのニュース

物理学界隈のニュース

物理学と機械学習

テキスト・レヴュー・ノート

Reviews of Modern Physics

Physics Reports

Reports on Progress in Physics

おすすめレヴュー(timm)

おすすめレヴュー(MIT)

J-Stage

温故知新ジャーナル

日本の大学の講義ノート集

海外の大学の講義ノート集1

海外の大学の講義ノート集2

固体物理学(Colorado)

物性物理におけるトポロジー(Delft OCW)

ICCMのサマースクール

Autumn Scool on Correlated Electrons

TNQMP2016

計算物理のサマースクール

物性と素粒子におけるトポロジー

固体物理学(広島大, 井野明洋氏)

応用群論演習問題(小野寺嘉孝氏)

ファインマン物理学

資料集

Mathematicaでとぽろじかる!

多極子のまとめ

結晶学データーベース

周期表データベース

鉱物学データベース

超伝導転移温度の推移(橘高氏)

空間群ポスター

数学の資料の資料

量子計算と量子情報

研究会のスライド集

エキシトニック絶縁体のワークショップ

KITPのワークショップ

量子情報・物性の新潮流

トポロジカル物質と量子計算

深層学習と物理2018

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

Qiita

GitHub

大学院生のための知的生産術

大学院生のための知的生産術

概要

西尾泰和『エンジニアの知的生産術』伊藤絵美『つらいと言えない人がマインドフルネスとスキーマ療法をやってみた。』を読んだので概要を自分なりにアレンジしてメモに残した.

編集途中だが良しとする.

精神

  • マインドフルネスを行う
  • 瞬間を味わう
  • 来た道を辿る
  • 自己物語を作る
  • 流れを見る
  • 没頭する

  • スキーマ

何を学ぶか

  • 自分経営戦略
  • 卓越性の追求
  • 連続スペシャリスト

タスク管理

タスク管理・処理を行う上で次の点には常に気を払うこと.

  • タスクを多くしすぎない
  • タスクごとのゴールを明確にする
  • 時間や量で区切る
  • 4時間以内に終わるか自問する
  • 1日にできる範囲に留める
  • クラスターごとに取り掛かる
  • 慣れないうちはゴールを近くに設定する

SMART criteria

Getting Things Done

  1. タスクを全て書き出す
  2. 次の項目を検討する
    • このタスクは何か?
    • そのタスクに対して行動する必要はあるか?
    • どういう結果を求めているのか?
    • 次に取るべき行動は何か?
  3. 「必要のない行動」をゴミ・資料・保留に分ける
  4. 「必要な行動」が複数あればプロジェクト
  5. 2分以内にできるのであればすぐやる
  6. あてはまらないならば「次に取るべき行動」

ポモドーロテクニック

  1. 25分 = 1ポモドーロ としてタスクを実行
  2. 時間が来たら終了して, 5分ほど休憩
  3. 4サイクルしたら長めの休憩を15~30分ほど入れる
  4. 集中が途切れたら, その場で中断して最初から始める

基本的に1日あたり4から8ポモドーロぐらいしか完遂できない.

情報収集と読書

情報収集には3つの原則が存在する.

  • 目的を持つ
  • 大まかな全体像を持つ
  • 今, 必要ではないことをやらない

情報もタスクである.

読書するということ

読むことには大雑把な地図の入手(見つける)結合を起こす作用(組み立てる)がある.

効率よく読書を進めるには以下の点が大事

  • 大枠から段階的に構造を調べる
  • 類似点・相違点・関係性の発見
  • なぜ?どうして?を問い続ける

Whole mind Systemによる概観

  1. 目的の明確化とリラックス
  2. 全体を大雑把に把握+キーワードの調査
  3. 質問を作る
  4. 時間を置く
  5. 答えを作る
  6. マインドマップに変える
  7. 高速で通読する

フォーカスリーディング

  1. 速度は適宜コントロール
  2. ページ数, かかった時間, 自分の中の理解度を記録する

哲学書の読み方

  1. 棚見する
  2. 読みたい時に読みたいところから読む
  3. 見出しに注目する
  4. わからないことや頻出単語を全て記録する
  5. 概念の間の関係や理由,結論をつなぐ
  6. 再読してわからないことを潰す

わからない時

  • 用語がわかっていない
  • 論理の流れを追えていない
  • 問題意識への認識が甘い
  • 図示化をしていない

記憶

何かを知ったり学んだりしても忘れてしまうが, なるべく長く頭の中に留めておきたいものだ.

そのためには以下の点を踏まえておくこと.

  • 海馬の仕組み(認知科学)を知る
  • 理解した状態でのみ記憶できる
  • 間隔を開けて繰り返しテストをする

Incremental Reading

  • 重要な点を書き抜く
  • 復習のためのメモを作る

  • 間隔反復法で見直す

記憶のためのツール

  • Ankiを使う
  • supermemo
  • Wozniakの知識を構造化するための20のルール

検証による構造化と情報収集

知識を構造化できなければ問題解決に役立てられない.

構造化のためには以下のようなアウトプットを出して一つずつ確かめていくのが良い.

  • 解説を作る
  • 人に教える
  • 他人からフィードバックをもらう

ファインマンテクニック

  1. 自分が勉強したい内容の高校生向けの解説を作ってみる
  2. 上手く説明できない部分をチェックする
  3. 勉強する

河東式

  1. わからないことをはっきりさせる
  2. 以下の点を紙に書き出しながらチェックする
    • 自分の言葉で説明できるか?
    • 自分の経験に基づいた具体例を上げられるか?
    • 自分の目的のために知識を使えるか?
  3. 頭の中でストーリーを追ってみる
  4. 時間を区切って人にレクチャーできるか確認する

KJ法

  • 100枚ほど付箋に書いて並べてみる
  • 関係の有りそうなものを近くに寄せる
  • 文章化する

関係性・パターンが見いだせない場合

  • 異なる理由を考える
  • 似ている部分を見つける
  • 寝かせる
  • ボトムアップで捉える
  • 具体例を考える

  • 対立と対立の解消

  • 今と昔を比較する
  • 自分の経験を結ぶ

理論研究室で限界院生にならないために

研究室での過ごし方

研究室に所属してから文化の違いや心構えの面で大変苦労したので, ゼミなどで頂いた助言などを参考にまとめました.

特に, 卒論・修論アンチパターンは極めて重要なことが書かれており, 以下のリンクにもしばしば現れています.

研究室で研究をどう進めるか

  1. 清水先生による諦めへの対処法
  2. 「研究」を始めるためには全般的な諸注意が書かれています.
  3. 茨城大学の佐藤先生による研究に対する考え方
  4. 廣部 大地氏
  5. お説教
  6. 鷲津ラボ
  7. 我々の研究室に興味を持つ皆さんへ
  8. 有益な言葉
  9. 極道としての学問

数値計算・文献調査など

数値計算のヒントより.

  • まず極端な数字を入れて尤もらしい結果が出るか確認する
  • 結果を物理の観点から解釈する
  • パラメーターを系統的に与えて, データを整理しておく
  • データ同士に矛盾がないか確認する
  • 数値の精度や刻み幅に気をつける
  • 自動化は最後に行う
  • ミスの原因を明確に突き止める

プログラムや論文管理などのツール類は研究系で使ってるツールが参考になります.

日々の休息のとり方は研究から学んだ、休息が必要な5つの理由と対策.

学習の高速化のためには脳の「ワーキングメモリ」を鍛える方法は重要.

計算ノートの作り方は【研究ノート(計算用紙)の整理法】理論物理屋の場合が良い.

輪講セミナーについて

質問するためには情報の欠落に気付くこと, 欠落した情報を言語化することが必要.

メモのとり方

個人ゼミ(進捗報告)について

以下の2つは必読です.

資料の作り方

  • 必ず清書して読みやすくわかりやすいものを作る1.
  • 10年後の自分が見ても内容を全て理解できるようにする
  • 計算結果はグラフにしてハミルトニアンやパラメーターの数値も記載
  • 物理的な解釈も書く.
  • 議論で用いる式は導出過程や出典(引用はAPSのreferrenceを参考)を載せる.
  • 障害に衝突したときは早めに相談しに行く.
  • 議論は先生のためにやるのではなく, 自分のためにやるのだと心得る.

学会発表とか

NTT研究所

困ったときは

精神が逝ったらカウンセリングを受けたり, 医療機関2を受診しましょう.

例えば, 私の通う東工大にも以下のような施設や組織, 制度が設けられています.

睡眠障害を始めとする精神疾患への対処法としては以下の資料も参考になります.

また, 以下のページも読むと良いかもしれません.


  1. LaTeXで書くのは概要だけに留めたほうが良く, 式変形などをダラダラタイプするのは時間のムダが大きい

  2. 個人的な感触ですがスリープクリニックとメンタルクリニックを兼ねているところが良いと思います.

備忘録(設定など)

ArchにおけるBluetoothキーボード接続

bluetoothctl
power on
trust 34:88:5D:C1:6F:CE
connect 34:88:5D:C1:6F:CE

ArchLinuxでの色々なライブラリのインストール

一応sudoはつけているが, 管理者権限を持つユーザーならば不要

sudo pacman -S gcc make cmake python3 julia lapack openmpi gnuplot 

VScode C++

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}
{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
      {
        "label": "echo",
        "type": "shell",
        "command": "g++",
        "args":[
            "-g",
            "${file}",
            "-o",
            "${fileBasenameNoExtension}.exe"
        ],
        "group":{
          "kind": "build",
          "isDefault": true
        }
      }
    ]
  }

git clone とは

remote repository(他人様のrepository然り自分のrepository)をlocal repository(あなたが今使っている端末)へとコピーする.

git fork とは

他人のremote repository を 自分のremote repositoryへとコピーする.

違いは何?

clone fork 項目
行かない 行く 通知
なし 必要 貢献

公開鍵の取扱

公開鍵の取扱など

パスフレーズの変更

$ ssh-keygen -p
Enter file in which the key is (/Users/{$username}/.ssh/id_rsa): 
Enter new passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved with the new passphrase.

コア数確認

grep physical.id /proc/cpuinfo | sort -u | wc -l
grep cpu.cores /proc/cpuinfo | sort -u
grep processor /proc/cpuinfo | wc -l

git

git remote origin add 

wolframEngine

cd Downloads
sudo sh WolframEngine_12.0.0_LINUX.sh 
cd /usr/local/Wolfram/WolframEngine/12.0/SystemFiles/Installation/
sudo debtap -Q wolframscript_1.3.0+2019052003_amd64.deb
sudo pacman -U wolframscript-1.3.0-1-x86_64.pkg.tar.xz
wolframscript -config WOLFRAMSCRIPT_KERNELPATH="/usr/local/Wolfram/WolframEngine/12.0/Executables/WolframKernel"

大学院進学についてのtips(旧題:大学院訪問についてのtips)

2019年8月4日 追記

ちょっと記事を修正しました.

2019年7月14日 追記

大学院試験に受かっても, 当然ながらそれはゴールではありません.

私は卒業研究では実験で, 大学院から理論の研究室に移りました.

不眠症も相まって, 適応障害気味の状態になってしまいました.

結果的にM2の現在でも研究の進展はわずかで, 指導教員とも疎遠になった背景から, 「こんなはずじゃなかった」と記しました.

しかし, 当然のことながら, 研究は先生の指導だけで全てが決まるわけではなく, 己の能力にも強く依存するわけです.

私はもともと理論を専門にするつもりで, 実験→理論*1への跳躍を敢えて意図的に行いましたが, そのような分野替えをする場合には十全な準備が必要になります. (勿論, 卒業研究にも専念するべきなので その片手間として)

特に, 不眠症のようなものは大敵で, あなたの学習効率だけでなく精神そのものを蝕みます.

重症の場合は, 専門医に相談されたほうが良いです.

2019年7月8日追記

「こんなはずじゃなかった」そういう思いで迎えた大学院2年目の今日この頃です。

古いブログが出てきたので読み返して全て削除しようと思いましたが, 残しておくこととします.


本文

学部生のころは(特段のイメージもなく)物性理論にしか興味がなかったので, その手の分野の人にしか研究室訪問をしていませんが, その他の分野でも十分応用できると思います. やっておけばよかったことを書いておきます.

「訪問前」

  • 当該分野の入門書や解説を読む.

  • 学生と教員が共著で出している論文を3本ほど読んでイメージを作っておく.

「訪問」

  • さんか先生かなどは些末な問題.

  • 研究テーマはいつ決めるのか? 何を重視してテーマ選択しているのか?

  • ディスカッションの頻度は月にどの程度か? サシでやるのか多人数でやるのか?

スタイルについてはなるべく細かく聞くべきです. この辺りから放任型なのか管理型なのかがはっきりしてきます.

放任型と管理型で良いか悪いかは一概には言えず, 完全に相性なので何か不安を感じたら分野関係なしにやめたほうが良いです.

  • 学生と会って(教員のいない場で), 先生の人柄や普段のセミナーの厳しさ, つらいかどうか, 人間関係の雰囲気を聞く.

  • 学位取得後の進路はどうか, 途中で学位取得を諦める人もいるのか?

これは絶対に聞くべきです.

あまりにも落馬が多い場合は, "何かがある"と思ったほうがいいかもしれません.

また, 就活も十分できるのかどうかも重要なファクターです.

以前の記事

念には念をこめて 興味のある研究室の隣の研究室で「隣の○○研はどうですか?」と聞く

先生や学生の価値観を知るための質問など 「良い研究とは何か?」 「夢は何か?」 「流行りものをどう思うか」(新しく現れた分野だと学位とってもポストがない、とか今流行のものは博士修了の時には下火とかそういう答えが返ってくることが多いです) 「留学をどう思うか」

Q&A(実際に返ってきた答えなど中心に)

(※追記 : 文脈がないので意味がよくわからないですね……)

Q 自分が向いていること、本当に興味のあること(分野)を見つけるには?

A とにかくやってみること(何人もの人が同じ答えを言ってました)

Q 研究者生涯の中で、大学院の間にやる研究としては基礎論などがいいか?

A 特にそういうことはない

Q 計算屋に向いている、あるいは向いていないのはどんな人か?

A 観測とかそういう基礎論に拘りがあると研究で悩んでしまう

Q 理論も実験も計算もやりたい!

A ちなみに、生物などでは理論らしい理論が確立されていないため両方やることになるということもある。また、実験家でも理論的な結果を出すことはあるが、ほとんどの場合既存の方法を用いて何かを計算するといった体で、新たな概念を提唱するといったことは極めて少ない。

Q 自分のところの院生が優秀かどうかはいつ判断できるのか?

  1. わからない。少なくとも院試の成績の良し悪しとはあまり相関しない。大体の人は化ける。

Q 研究で伸びる学生, 伸びない学生の違いは何か?

A 研究室に来ること. 楽観的であること. 柔軟であること. 数値計算に慣れていること.

Q 某先生は「若い人は基礎論やるな」と言っているらしいが?

A 基礎論だと正しいかどうかすぐにはわからない. また他分野の研究者にその意義が理解されにくい.

参考リンクなど

大学院修士向け研究室情報チェックリスト(箇条書き版) - 発声練習

大学院修士向け研究室情報チェックリスト - 発声練習

*1:しかし, 一部の大学では強制的に実験の研究室へ配属されるので, 私の失敗は単なる努力不足に求められるべきかもしれない

プレゼンのための色々

私はwinユーザーなのでMacなどの場合については触れない。

数学や物理でのプレゼン資料は

Powerpoint(あるいはその他のソフトウェア)

LaTeX(slide, beamer, powerdotなど様々)

のどちらかが一般的に用いられると思われる。

 

Powerpointの場合

基本的には

【プレゼン】見やすいプレゼン資料の作り方【初心者用】

を参照。(slideshareでぱっと要点を見れないのでここにまとめる)

基本的にデザイン重視。

フォント:和文メイリオ18pt以上。欧文:Segoe UI

「表示」→「スライドマスター」→「フォント」→「フォントのカスタマイズ」で常時このカスタマイズに設定可能

行間も変える

なるべく配置もそろえたり、対応する画像と文書は近づける

 

2018年3月追記

ラボで発表する際はPowerpoin + IguanaTeX

IguanaTex - A Free Latex Add-In for PowerPoint on Windows

でスライドを作ることが多くなった. 

IguanaTeXはPowerPointのマクロで画像形式で文字や数式を出力してくれる.  

platexにも対応していて, 式の混じった図を作る際にも重宝.