- Haskellの手習いをしている
- 圏をわかるために、数学っぽくない例を挙げているサイトを参考にしている
- あみだくじの圏で「結合」というのは、本数が等しいあみだくじを連結すること
- 連結がうまくいくっていうのが、圏としてワークしていること、と言い換えてもよいのだろう
- あみだくじは、より小さいあみだくじの連結、ということなので、できるだけ小さくすると
- あみだの横棒1本が「交換を伴う」最小単位であることがわかる
- それは、n本のあみだの1:nについて、隣り合う2本の入れ替えに相当する
- そのような交換はnxn単位行列の2列を入れ替えたもの
- あみだ全体は、その処理をけつごうしたものなので、行列の積になる
- Haskellでこれが書ければよいのだけれど、まだうまくできないので
n<-3
M12<-matrix(c(0,1,0,1,0,0,0,0,1),byrow=TRUE,n,n)
M23<-matrix(c(1,0,0,0,0,1,0,1,0),byrow=TRUE,n,n)
M31<-matrix(c(0,0,0,0,0,1,0,1,0),byrow=TRUE,n,n)
M<-M12%*%M23%*%M23%*%M12%*%M23%*%M12%*%M23
M%*%c(1,2,3)
- これを見ると、あみだくじでは、「入れ替えが隣り合う線同士でのみ許す」という制約があって、最小単位の行列に限定があることもわかる
- 逆に言うと、「立体的あみだくじ」とかもできる(実際、そういう横棒を引くこともある)
- また、引用した「行列の圏」の例では、行列の行数と列数が対象だったのに対して、今回の「あみだくじが行列」の圏では、行列を掛けられる長さnのベクトルが対象になっている。そして、(1,2,...,n)というベクトルとそのパーミュテーションが対象を構成している