このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

準マルコフ余モナドの計算と記述の方法

準マルコフ圏達を対象類とする厳密2-圏と、そのなかの余モナドについて幾つかの記事を書きました。

何を言いたいのかと言うと:

  • 準マルコフ余モナドの余クライスリ圏は再び準マルコフ圏になるだろう。

ザッとあたりを付けてみたところ、(細部の見落としはあるかも知れませんが)たぶんこれは成立します。

あたりを付けるときに使った計算法は絵算〈{graphical | diagrammatic | pictorial} {calculus | computation}〉です。この計算過程を記述するのが大変、効率的な記述方法・伝達方法が事実上ないんですよね*1

例えば、解説記事「圏論の随伴をちゃんと抑えよう: お絵描き完全解説」では、手描きの絵をスキャンした画像を入れてますが、長い計算になると手描きと画像化は辛い。

XyJaxで頑張って描くというのも試したことがあります(「カリー/ハワード対応のための記法・図法」参照)。これは再利用が可能ですが、一枚描くのが大変。

絵でなくて、テキストを2次元的に配置する方法をやってみたことがあります。

さかんに「疲れる」と言ってますが、実際疲れます。それでも、現状では2次元レイアウトのテキストくらいで妥協するしかない気がするので、この方法を再度試してみます。
\newcommand{\I}{ \mathrm{I} }
\newcommand{\id}{\mathrm{id} }
\newcommand{\cat}[1]{ \mathcal{#1} }
\newcommand{\In}{ \text{ in } }
%\newcommand{\twoTo}{\Rightarrow }


\newcommand{\oplax}{\mathrm{oplax} }
%
%\newcommand{\coM}{\boldsymbol{d} } % comultiplication
%\newcommand{\coU}{\boldsymbol{e} } % counit
%
%\require{color}
%\newcommand{\Keyword}[1]{ \textcolor{green}{\text{#1}} }%
%\newcommand{\For}{\Keyword{For }  }%
%\newcommand{\Declare}{\Keyword{Declare }  }%
%\newcommand{\Define}{\Keyword{Define }  }%

内容:

記述の基本

モノイド圏または2-圏の1-射/2-射を行列形式でテキスト記述します。

\xymatrix@1 { {A}\ar[r]^f & {B}} は縦方向に次のように書きます。

\begin{bmatrix}
 A \\
 f \\
 B \\
\end{bmatrix}

\xymatrix@1 { {A}\ar[r]^f & {B}\ar[r]^g & {C} } は次のようです。

\begin{bmatrix}
 A \\
 f \\
 B \\
 g \\
 C\\
\end{bmatrix}

一般に、上から下に向かって「対象 射 対象 射 ‥‥」と代わりばんこに並びます。最後は対象です。このような配置を \mathscr{A}, \mathscr{B} として、さらに横に併置(区切り記号に縦棒)と縦に併置をします。


\begin{bmatrix}
\mathscr{A} &|& \mathscr{B}
\end{bmatrix}\\
\:\\

\begin{bmatrix}
\mathscr{A}
\end{bmatrix}\\
\begin{bmatrix}
\mathscr{B}
\end{bmatrix}

横に併置はモノイド積または横結合を表し、縦に併置は縦結合を表します。


\begin{bmatrix}
\mathscr{A} &|& \mathscr{B}
\end{bmatrix} =
\begin{bmatrix}
\mathscr{A} \otimes \mathscr{B}
\end{bmatrix}
\:\\

\begin{matrix}
 \begin{bmatrix}
 \mathscr{A}
 \end{bmatrix}\\
 \begin{bmatrix}
 \mathscr{B}
 \end{bmatrix} 
\end{matrix} = 
\begin{bmatrix}
 \mathscr{A}; \mathscr{B}
\end{bmatrix}

ルールはこれだけです。

絵算の威力をお見せしよう」で出した次の絵図を考えてみます。

次のように行列形式で書けます。* は横結合の図式順演算記号です。


\begin{bmatrix}
 F   &|&  \I       \\
\id  &|& \eta      \\
 F   &|& L \:*\: R \\
\end{bmatrix}\\
\begin{bmatrix}
 F \:*\: L &|& R   \\
 \alpha    &|& \id \\
   G       &|& R   \\
\end{bmatrix}\\

線形代数におけるニョロニョロ関係式(「カッコイイけど使える線形代数とは?」参照)は次のように書けます。


\begin{matrix}
 \begin{bmatrix}
    \I         &| &  A    \\
   \eta       & | & \id   \\
 A\otimes A^*  &| &  A  \\
 \end{bmatrix}\\
 \begin{bmatrix}
    A  &|& A^*\otimes A \\
  \id  &|& \varepsilon  \\
    A  &|&   \I        \\
 \end{bmatrix}\\
\end{matrix} =
\begin{bmatrix}
  A  \\
\id  \\
 A   \\
\end{bmatrix}

モノイド圏の構造同型射 \alpha, \lambda, \rho をちゃんと考慮すれば次のようになります。


\begin{matrix}
 \begin{bmatrix}
          &            & A \\
          &\lambda^{-1}&  \\
    \I         &| &  A    \\
   \eta       & | & \id   \\
 A\otimes A^*  &| &  A  \\
 \end{bmatrix}\\
 \begin{bmatrix}
 (A\otimes A^*)  \otimes  A  \\
     \alpha  \\
 A  \otimes (A^*\otimes A) \\
 \end{bmatrix}\\
 \begin{bmatrix}
    A  &|& A^*\otimes A \\
  \id  &|& \varepsilon  \\
    A  &|&   \I        \\
       &\rho& \\
    A  &  & \\
 \end{bmatrix}\\
\end{matrix} =
\begin{bmatrix}
  A  \\
\id  \\
 A   \\
\end{bmatrix}

ウーム。ニョロニョロな感じがしない(苦笑)。

事例

色々と不満や問題点はありますが、幾つかの等式を、前節の方法で書き下してみます。

反ラックス・モノイド関手の余乗法の自然性

F = (F, \delta, \varepsilon):\cat{C} \to \cat{C} \In {\bf MonCat}^\oplax としましょう。\delta が自然であることは次のように書けます。


\forall f:A \to A', g:B \to B' \In \cat{C}.\\

\begin{bmatrix}
    &F(A \otimes B)& \\
    &F(f \otimes g)& \\
   &F(A' \otimes B')& \\
   &     \delta    &    \\
F(A')      &|&        F(B')  \\
\end{bmatrix} =

\begin{bmatrix}
    &F(A \otimes B)& \\
    &  \delta     & \\
 F(A)   &|&    F(B) \\
 F(f)   &|&    F(g) \\
 F(A')  &|&    F(B') \\
\end{bmatrix}

これは、なんとかストライプ図をイメージできるかな。

反ラックス・モノイド関手の余乗法の余結合律

余結合律(に類似の法則)は次のようです。


\forall A, B, C \in |\cat{C}|.\\

\begin{bmatrix}
  &F(A \otimes (B \otimes C) )& \\
      &\delta& \\
F(A)  &|&   F(B \otimes C) ) \\
\id   &|&    \delta \\
F(A)  &|&  F(B) \otimes F(C) \\
     &\alpha^{-1}& \\
F(A)\otimes F(B) &|& F(C) \\
\end{bmatrix} 
  =
\begin{bmatrix}
  &F(A \otimes (B \otimes C)) & \\
    &F(\alpha^{-1}) & \\
  &F( (A \otimes B) \otimes C) & \\
   & \delta & \\
F(A\otimes B)  &|& F(C) \\
\delta         &|& \id \\
F(A)\otimes F(B) &|& F(C)\\
\end{bmatrix}

もとのストライプ図を知っていれば思い出すキッカケにはなるでしょう。

反ラックス・モノイド関手の余乗法と対称との強調


\forall A, B \in |\cat{C}|.\\

\begin{bmatrix}
  & F(A \otimes B) & \\
  & F(\sigma) & \\
  & F(B \otimes A) & \\
      &\delta& \\
F(B)    &|&    F(A) \\
\end{bmatrix}
  =
\begin{bmatrix}
  & F(A \otimes B) & \\
      &\delta& \\
F(A)    &|&    F(B) \\
      &\sigma& \\
F(B)  &|&     F(A) \\
\end{bmatrix}

F が特定の対象 W を左から掛ける関手のときは、この等式は次のストリング図で描けます(「準マルコフ圏の掛け算関手」参照)。

比較的素直なストライプ図なら、ギリ再現できる感じですね。

*1:homotopy.io(globularの後継)、quantomatic、CATEGRAPHER、DisCoPy などの証明支援系は描画機能を備えてますが、描画用には効率的でもお手軽でもありません。