profunctor
【 profuncor は行列とよく似ている 】
このセッションでは、線形代数の行列に相当するものが、カテゴリー論ではどのようなものになるかを考えます。
2つのカテゴリー𝖢と𝖣が与えられたとき、カテゴリー論での行列の類似物はprofunctorと呼ばれるもので、集合のカテゴリーSet に値を取るfunctor $f : C^{op} \times D \to Set$ になります。
前にも述べたように、肩について「op」はfunctorのvarianceを示すために使われています。正確を期すためには必要なのですが、最初に見るときには無視しても構いません。ここで説明する線形代数とのアナロジーでは、行と列の間の一種の転置を示すものと考えることができます。
もう少し、詳しく見ていきましょう。
もしprofunctor $f : C^{op} \times D \to Set$ の定義域の二つのカテゴリー $C^{op} とD$が離散カテゴリーで有限集合であるならば、profunctorは単に二つの要素のペアでindexされた集合の集まりです。それは数字の代わりに集合をエントリーとする行列です。
簡単なcurrying で、C, D上のオブジェクト c, d に対する定義、$c \mapsto f(c, ,-), d \mapsto f(-,d)$ で、profunctor fは、ペアのfunctor $f(c,−) : C \to (Set^D)^{op}と f(−,d) : D \to Set^{C^{op}}$を定義することがわかります。
( "op" をないものとしてみれば、このfunctor のペアは、 $f(c,−) : C \to Set^D$ と $f(−,d) : D \to Set^C$ のペアになります。確かにこう考えるとわかりやすいです。)
functor $f(c,− )$ は行列fのc行目の集合として描くことができます。 このfunctorは functor $D \to Set$を定義し、このfunctorでDのj番目のオブジェクトは、行 $f(c,− )$ のj番目のオブジェクトの集合にマップされます。
https://www.marulabo.net/docs/embedding-dnn/
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcOJYKeUN_8q2K-yxtTfbIoB
コメント
コメントを投稿