bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

プログラマのための圏論:上級編(上)

『プログラマのための圏論:上級編(上)』はこれまで、プログラマのための圏論(上級編)で説明してきたことをまとめました。圏論での重要な概念である、極限、米田の補題、随伴関手についてまとめてあります。

レーズン入りパウンドケーキを作る

パウンドケーキは、小麦粉、バター、砂糖、卵を1ポンドずつ用いることから、その名がつけられたそうだ。1ポンドは454gだが、このまま作ると4本ぐらいのパウンドケーキができてしまうので、今日はそれぞれを100g用いることにする。卵は50gを少し上回るぐらい…

伊豆半島ジオパーク ー 城ケ崎を訪れる

28日(月曜日)に伊豆半島の城ケ崎を訪れた。この半島は今年4月18日にユネスコから「世界ジオパーク」に認定された。伊豆半島は、フィリピン海プレートにのって南の方からやってきた火山島が日本列島にくっついて生まれた。火山によって作り出された地形が地質…

随伴関手 - 随伴関手をHaskellで表現する

7.8 随伴関手をHaskellで表現する 随分と時間がかかったが、随伴関手をHaskellで表現するための準備がほぼ出そろった。ほぼといったのは、もう一つだけ、頭の体操をしておかなければならないことがある。それは、右随伴関手が表現可能関手でもあるという…

随伴関手 - 随伴の別定義

7.7 随伴の別定義 1)別定義 随伴の定義にはこれまでと異なる方法がある。それは次のように定義される。\(\fbox {随伴の定義2:}\) 二つの局所的に小さな圏\(\mathcal{C},\mathcal{D}\)において、関手の対\(R: \mathcal{C} \rightarrow \mathcal{D}, L:…

随伴関手 - 随伴から導き出される可換図

7.6 随伴から導き出される可換図 随伴の定義からどのような可換図が導きだされるかを考えてみよう。随伴の定義は次のようになっている。二つの局所的に小さな圏\(\mathcal{C},\mathcal{D}\)において、関手の対\(R: \mathcal{C} \rightarrow \mathcal{D}, …

随伴関手 - 随伴の解釈

7.5 随伴の解釈 随伴の定義は次のようになっていた。二つの局所的に小さな圏\(\mathcal{C},\mathcal{D}\)において、関手の対\(R: \mathcal{C} \rightarrow \mathcal{D}, L: \mathcal{D} \rightarrow \mathcal{C}\)が次の条件を満たす時、随伴であるという…

随伴関手 - 随伴の定義

7.4 随伴の定義 数学で最も重要な概念はと問われた時、皆さんは何と答えるだろうか。私は、「等しい」だと思う。算数から数学へと教科の名前が変わり、少し大人になったと感じさせてくれた中学で、すぐに習ったのが三角形の合同であった。ある三角形を移…

プロから教わった「鯵のソテー」を母の日に挑戦する

5月13日は母の日。実母も義母もすでに他界していて、感謝する対象は既にいないのだが、母として長いこと子供たちの養育に尽くしてくれた妻に感謝を込めて、特別な料理をプレゼントした。「鯵のソテー」だが、プロの方から教わった特別な料理だ。この方のお店…

随伴関手 - 米田の埋め込み

7.2 余米田の補題 米田の補題では、共変\(\rm{Hom}\)関手\(\mathcal{C}(A,-)\)を用いていたが、これを反変\(\rm{Hom}\)関手\(\mathcal{C}(-,A)\)に変えたのが、余米田の補題となる。次のようになる。局所的に小さな圏\(\mathcal{C}\)と集合の圏\(\mathcal…

随伴関手 - 米田の補題:復習

7 随伴関手 7.1 米田の補題:復習 米田の補題は次のようになっていた。局所的に小さな圏\(\mathcal{C}\)と集合の圏\(\mathcal{Set}\)、これらによって作られる関手圏\([\mathcal{C},\mathcal{Set}]\)を考えよう。今、任意の対象\(A \in \mathcal{C}\)と…

横浜三渓園を訪ねる

少し肌寒く感じられる昨日(23日月曜日)、横浜市にある三渓園を訪ねた。肌寒いと言っても、実は、平年並みの気温だ。土曜、日曜と夏日だったので、相対的にそのように感じただけだ。気候変動がカオス的であるとすると、三つの状態がある。安定的、振動的、ラ…

米田の補題 ー 集合値関手を積として表す

6.6 集合値関手を積として表す 米田の補題は次のようになっていた。局所的に小さな圏\(\mathcal{C}\)と集合の圏\(\mathcal{Set}\)、これらによって作られる関手圏\([\mathcal{C},\mathcal{Set}]\)を考える。任意の対象\(A \in \mathcal{C}\)と任意の関手\…

鎌倉に足利氏ゆかりの寺を訪ねる

鎌倉の春はきれいだ。特に桜の咲くころは素晴らしいのだが、観光客の多いのにはうんざりさせられる。鎌倉時代や室町時代に関する歴史の書物を読み漁ったので、久しぶりに訪ねてみたいと思っていた。桜がすでに散ってしまった昨日(9日)、ゆっくりと見学できる…

米田の補題 ー 継続渡しのプログラム

6.5 継続渡しのプログラム 1980年代後半に情報科学を学んだ人々にとって、アベルソンとサスマン夫妻が書かれた『計算機プログラムの構造と解釈』は思い出に残る本だったと思う。私も、情報科学の中でどれが最も良い本であったかと問われればこの本をあげ…

米田の補題 ー Haskellで理解する

6.4 Haskellで理解する 米田の補題の補題を下図の可換図を用いて説明した。Haskellを用いてさらに理解を深めることとしよう。 Bartosz Milewskiさんが上手に説明しているので、それを借りることにしよう。\({\rm Hom}\)関手を作成しよう。\(Reader\)のデ…

御殿場線山北駅で桜並木を楽しむ

今年は、桜が開花してから、暖かいというよりも暑い日が続き、あっという間に満開となってしまった。まごまごしていると、良い時期を失ってしまいそうだ。今日(29日)も天候に恵まれたので、少し遠くでさらにマニアックだが、御殿場線の山北駅に出かけた。山…

川崎市の日本民家園を訪ねる

川崎市の日本民家園が50周年を迎えていて、その記念のコンサートをしたという記事を週末に見た。春の温かい日差しに恵まれ、また、懐かしさも手伝って、昨日(27日)訪れた。田園都市線と南部線が交差する溝の口から向ヶ丘遊園行のバスを利用した。最近のバス…

米田の補題 ー 証明

6.3 米田の補題の証明 前回の記事で米田の補題を提示した。米田の補題は次のようになっていた。局所的に小さな圏\(\mathcal{C}\)において、\({\rm Hom}\)関手\(h^A: \mathcal{C} \rightarrow \mathcal{Set}\)から、集合値関手\(F: \mathcal{C} \rightarro…

米田の補題 - 米田の補題とは

6.2 米田の補題とは 米田の補題を説明する前に、圏論とは一見関係のなさそうなカニと大相撲の例について説明した。そこでの説明で重要な事項は、操作ボタンと機械の動作が一対一に対応していることだ。米田の補題は、このような状況を、数学的に説明した…

米田の補題 ー 具体例

6.米田の補題 今回の記事は、米田の補題(Yoneda lemma)である。圏論の定義の中で、個人名がついている定理や補題はそれほど多くない。これから紹介する補題は、数少ない例の一つである。そして、重要な定義であることには間違いない。それも、かなり難解な…

武蔵国橘樹郡の名刹:影向寺を訪問する

川崎市宮前区にある影向寺(ようごうじ)を訪れた。周辺の地図を示す。右上に多摩川が流れていて、影向寺の近くまでは沖積地だが、寺の周辺は丘陵地である。最寄り駅は、2㎞と離れているが、南武線の武蔵新城だ。少し距離があるので、田園都市線の梶が谷駅で下…

表現可能関手

5. 表現可能関手 日本の歴史を学んでいるといくつもの学説に出会う。それらの中で、圏論との関わりが面白いと思った学説が中世史にあったので、それを最初に紹介しよう。一つは、「権門体制論」である。黒田俊雄氏の学説で、中世の国家体制は、公家権門(執…

成長させ過ぎた脂肪腫を除去する

お医者さんに「成長させ過ぎですね」と言われた背中のこぶを取ることになった。あの事件が起きなければ、いまだに、こぶが自己顕示欲を高めながら、息づいていたかと思うと、なくなってしまった今となっては哀れにさえ思える。事件は突然起こった。昨年の秋…

自由モノイド

4.自由モノイド 圏論では、普遍性という概念はとても大切である。普遍性は、その言葉が示すように、数学の多くの分野で共通する性質を示したものである。前の記事で説明した極限と余極限も広い分野での共通の性質であるため、圏論での重要な普遍性の一つと…

とろっと柔らかめなスクランブルエッグ

朝の食卓の用意は忙しい。パンを焼いている5分間の間に、コーヒーを沸かし、1~2品のおかずを調理しなければならない。順序だてて、手際のよい処理が必要だ。このような要求に応えてくれるのは、スクランブルエッグだ。手間暇をかけないでも、楽しんでもらえ…

極限-Readerと極限

3.3 \(Reader\)と極限 ここまでの記事で、\(Reader\)の使い方と定義について詳しく説明した。この記事では、さらに理解を進めるために、圏論での極限とのかかわりについて説明しよう。圏論は、様々な数学の分野で共通に成り立っている性質について論じる…

極限-HaskellでのReaderを定義する

3.2 \(Reader\)を定義する Haskellでは\(Reader\)を用意している。Control.Monad.Readerというモジュールを読み込めば、使えるようになっている。しかし、このモジュールを理解しようとすると、忍耐力を必要とする。汎用性を高めるために、\(Reader\)が、…

メジナの香草焼き

お正月の料理にも飽きた正月8日に、例によって近くの超安売りスーパーに出かけた。我が家は、東京都に属しているのだが、遠くないところにある境川を越えると神奈川県になる。隣県側は製造関連の企業が多いことで知られていた地域だ。かつては、軒並み大きな…

極限-HaskellでのReaderについて

3.Haskellでの極限と余極限 これまでの記事で、極限と余極限の説明をしてきた。数学的な記述が主で、Haskellを学ぼうとしている人は、役に立たないなと感じたことだろう。圏論での積や余積は、乗算や加算、あるいは、論理積や論理和と関係があることは、直…