arXiv探訪

興味の赴くままに数学するだけ

新たな一歩に向ける一冊「圏論の歩き方」レビュー

日本評論社圏論の歩き方委員会編の「圏論の歩き方」を読んだ。よくある一般向けの啓蒙書かと思っていたが、目次を見れば明らかなように、むしろガチ寄りの、それでいてタイトルに偽りのない内容だった。一通り挙げるとすると

タングルの圏に始まる量子不変量の話から、モナドによる計算効果のモデル化、圏論的意味論、量子論と淡中・クレイン双対性、ヤヌス対象を通じて論じられる代数と空間の双対性、(カルテシアン圏を超えて)モノイダル圏における圏論的論理と証明の意味論の唯一性、圏論の本としてむしろベーシックなホモロジー代数やアーベル圏の話、対称群のモジュラー表現を通した圏論化(decategorification)の解説、そしてネットワークの二つの側面をKan拡張で表す話……。

ともかく圏論をより深く学ぶための「歩き方」である。圏論を通じて、色々な分野の問題意識や主要な結果、将来の展望が紹介されている。もちろん個々の内容に深入りはしない。あくまで基本的な知識から概要を攫う程度だが、そうはいっても難易度は決して易しくはない。この本で圏論を学ぶというよりは、ある程度圏論の講義を受けたうえで、副読本として活用するのがよいだろう。上記の単語を少しでも耳にしたことがあるなら、それがどんな内容なのか圏論的な位置付けをもって理解できると思う。一つ一つを学ぶのはハードだが、歩き方を知っていればその一助となるはずだ。

Obsidian上で定理型環境もどきを作る

定理型環境とは

数学的文章を書く場合、定理、命題、補題といった定理型環境の存在は欠かせません。しかしmarkdownには当然そのような機能は無いため、妥協して**定理**などで装飾したりします。HTMLのタグを用いてCSSでそれっぽく作ることもできますが、今度はその内部でmarkdownのパーサが走らず、数式がレンダリングされません。

さてObsidianのヘルプを漁ってたところ、Calloutsという機能を見つけました。これは引用ブロックの形で警告や注釈を加える機能ですが、拡張性が高くmarkdownも使えます。これが利用できそうです。

解決法

CSSスニペットに以下を加えます。

.callout {
    --title-margin: 0.25em;
    --theorem-color: 200, 0, 0;
    --theorem-bg-color: 200, 100, 100, 0.2;
}
/* 定理 theorem */
.callout[data-callout="theorem"] {
    background-color: rgba(var(--theorem-bg-color));
}
.callout[data-callout="theorem"]  .callout-icon {
    visibility: visible;
}
.callout[data-callout="theorem"]  .callout-icon svg {
    stroke: rgb(var(--theorem-color));
}
.callout[data-callout="theorem"].callout:not([data-callout-metadata~="title"]) .callout-title {
    visibility: hidden;
}
.callout[data-callout="theorem"].callout:not([data-callout-metadata~="title"]) .callout-icon::after {
    margin-left: var(--title-margin);
    content: "定理";
    font-weight: bold;
    color: rgb(var(--theorem-color));
}
.callout[data-callout="theorem"].callout[data-callout-metadata~="title"] .callout-title {
    visibility: visible;
    color: rgb(var(--theorem-color));
}
.callout[data-callout="theorem"].callout[data-callout-metadata~="title"] .callout-title-inner::before {
    content: "定理("
}
.callout[data-callout="theorem"].callout[data-callout-metadata~="title"] .callout-title-inner::after {
    content: ")"
}

利用するときはmarkdownで以下のように記述します。

>[!theorem]
>インライン数式$y=f(x)$
>$$ \frac{d^{2}y}{dx}=6y^{2}+x $$

> [!theorem] タイトル無し
>インライン数式$y=f(x)$
>$$ \frac{d^{2}y}{dx}=6y^{2}+x $$

> [!theorem|title] タイトル有り
>インライン数式$y=f(x)$
>$$ \frac{d^{2}y}{dx}=6y^{2}+x $$

こんな感じに表示されます。propositionlemmaなども自由に拡張できます。

問題点

問題というほどではないんですが、タイトル非表示の場合に「定理」とだけ表示させるため、Calloutの標準機能としてのタイトルを非表示にして、アイコンの後に表示しています。つまり「定理」はアイコンに属しており、たぶん構文的に良くありません。contentがうまく働かないため、このような実装になってます。

凸函数と微分可能性の微妙な関係

mathlogで投稿しようとするとエラー吐くのでmathwillsにアカウントを作ってみた。

内容はというと、調べものをしていて気になった凸関数の性質を纏めただけ。おまけとして微分可能でない点が高々可算個という面白い性質を紹介した。

www.mathwills.com

今回はObsidian+TikZJaxという環境で執筆した。WebAssemblyという技術で可換図式も書ける数式マークダウンといったところ。pdf出力もできて、ちゃんとcssを組めば数学書っぽい出力にすることもたぶんできる。定理環境とかね、太字で妥協してるけど。なんにせよはてな記法には戻れんのよ。