bitterharvest’s diary

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

Haskellで学ぶ圏論・ウォームアップ編

Haskellで学ぶ圏論・ウォームアップ編 写像のまとめ

1.全射と単射 圏論では写像は重要な概念である。簡単な圏では写像は射となるが、圏をさらに抽象化すると、写像は対象として扱われる。そこで、ここでは、写像に関する重要な性質をまとめる。全射:写像\(f:X \rightarrow Y\)とした時、\(Y\)の任意の要素\(…

Haskellで学ぶ圏論・ウォームアップ編 和(余積)のまとめ

1.和(余積)の定義 圏論での和(余積)は積とは双対の概念である。積のところで定義されていた写像のドメインとコドメインを交換することで、即ち、可換図式での矢印を反対向きにすることで、また、積の演算\(\times\)を和の演算\(+\)に代えることで和は…

Haskellで学ぶ圏論・ウォームアップ編 積のまとめ

1.積の定義 前の記事で、最大公約数や積集合を用いて、圏論での積について説明した。積は、いろいろな圏に共通する性質で、普遍的な性質である。ここでは、圏論での用語を用いて、圏論での積についてまとめる。圏論での積は次のように定義されている。積の…

Haskellで学ぶ圏論・ウォームアップ編 集合の圏のまとめ

1.集合の圏 ここまで集合に関する圏について論じてきたが、それらをいったん整理してみる。圏の定義は次のようになっていた。(1) 対象 圏は対象を有する。対象は、通常は大文字を用いて、\(A,B,C,..\)と表す。(2) 射 圏は対象(複数の場合も可)から対象(…

Haskellで学ぶ圏論・ウォームアップ編 基点付集合

1.不動点 丸い円盤が机の上に置かれていたとする。この丸い円盤は、回転したり、移動したり、縮めたりと自由に操作できるものとする。但し、この操作を行っているときは、元の円盤からはみ出すことは許されないとする。例えば、下図のように、円盤を楕円盤…

Haskellで学ぶ圏論・ウォームアップ編 グラフ

1.グラフ グラフはいろいろな場面で使われる便利な表記法である。グラフはノードとエッジを有する。図で表す時は、ノードは点でエッジは点と点とを結ぶ矢印として記述される。グラフの例を一つ上げると下図のようになる。 2.圏論 グラフは圏論では、次の…

Haskellで学ぶ圏論・ウォームアップ編 集合内の写像(Endomap)

1.集合内の写像 集合間の写像を学んだので、集合内の写像がどのようになっているかを観察してみる。集合内の写像は、特別に、endomapと呼ばれる。前回の記事で紹介した集合間の全ての写像を求める関数mapping m nは次のようになっていた。 module Mapping …

Haskellで学ぶ圏論・ウォームアップ編 集合間の写像

1.写像 圏論では射が重要な概念を担っているが、射の中核をなすのは写像である。ここでは、写像について詳しく調べることとする。集合\(A,B\)間の写像\(f\)は、任意の\(a \in A\)に対してある\(b \in B\)を必ず対応付けるものであり、\(f: A \rightarrow B…

Haskellで学ぶ圏論・ウォームアップ編 カリー化と指数対象

1.カリー化 前々回の記事でカリー化について触れたが、ここでは、もう少し詳しくカリー化について説明する。カリー化は、複数の引数をとる関数を一つの引数をとる関数に変換するものである。カリー化を具体的にイメージできるようにするために、例で説明す…

Haskellで学ぶ圏論・ウォームアップ編 モノイドと二項演算子

1.モノイド圏の定義 前の記事でカリー化関数との関連の中でモノイドを説明した。モノイドは、二項演算子(中置演算子)を抽象化した概念で、対象が一つの圏である。そして、関数の合成を二項演算子とみなすことで、四則演算や、\(min\)や\(max\)などはモナ…

Haskellで学ぶ圏論・ウォームアップ編 二項演算子とカリー化

1.ハスケル・カリー 関数型プログラミング言語Hasekllの名前は、アメリカの数学者ハスケル・カリーに因んでいる。ハスケルはアメリカのハーバード大学を卒業した後、ドイツのゲッティンゲン大学で著名な数学者ヒルベルトの下で博士号を授与されている(ゲ…

Haskellで学ぶ圏論・ウォームアップ編 仲間を求めて

1.血液型と性格 最近はあまり話題に上がることが少なくなったが、ちょっと前まで、血液型と性格が大いに関係しているということで、テレビの娯楽番組などでも取り上げられたことがある。番組では、几帳面な人はA型、二重人格の人はAB型、マイペースなタイ…

Haskellで学ぶ圏論・ウォームアップ編 最小公倍数の構造

1.デザート 二人の男女が食事をした後、デザートを食べることになった。デザートに対する二人の好みはあまりにも違いすぎていて、お互いが共に好きなものはあまりにも少ない。さらに、この二人はとても気まぐれで、その日に食べたいと思うものがお気に入り…

Haskellで学ぶ圏論・ウォームアップ編 最大公約数の構造

1.識別情報 携帯電話を購入するときや、旅行を申し込みに行くと、契約書には名前の他に、生年月日や性別を書かされる。これは、個人を特定するための情報だが、その構造を数学的に記述すると次のようになる。 図では個人識別情報を\(identity\)と表してい…

Haskellで学ぶ圏論・ウォームアップ編 小学生に戻って足し算

1.足し算 小学校に入って最初に学ぶのが足し算である。小学校低学年での足し算は、自然数(0で始まる正の整数)に自然数を加えることである。従って、圏論で考えると、対象は自然数\( \mathbb {N}\)、射は自然数を加える( \(+i \in \mathbb {N}\) )というこ…

Haskellで学ぶ圏論・ウォームアップ編 あみだくじ

1.運を天に任せる 新しい学年が始まると必ず委員の選出が行われる。大抵、誰もなりたがらないものだから、運を天に任せてあみだくじで行うことになる。このあみだくじ、どのような構造をしているのだろうか。学期初めに行われるあみだくじは、縦線に横棒を…

Haskellで学ぶ圏論・ウォームアップ編 邪推

1.合成関数から元の関数を探る 合コン後の出口調査を利用して、それぞれの男性に対して、彼が可愛いと思った女性が頼もしいと思う男性を求めることができた。これは「男性の恋敵」を示しているともいえるが、その図は次のようになっていた。 上記の図を男…

Haskellで学ぶ圏論・ウォームアップ編 合コン

1.圏論とは 圏論の圏という単語は、どのような時に使われるのであろうか。合格圏とか不合格圏とか、模擬試験の成績を指標に判断された、受験生の時の苦い経験と結びつけて思い出す人もいる。東京あるいは東京寄りに住んでいる人は首都圏と結びつける可能性…