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

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

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

参照用 記事

一般化ハイパーグラフ → P-バンドル、P-ファミリー

今年(2025年)最初の投稿。内容はいつもと変わらんけど。

スケマティック集合(組み合わせ幾何的対象物)のなかで扱いやすいモノとして、一般化ハイパーグラフを定義しました。

一般化ハイパーグラフは、間違いなく役に立つ概念です。が、ネーミング・用語法が誤認・誤解の原因になりそうです。

ネーミング・用語法なんてのは、約束が決まっていることが重要であり、どんな言葉を使っているかなんてどうでもいいのですよ、建前上は。しかし、僕の経験では、十分にトレーニングされた人でさえ、言葉の国語辞書的意味からの連想により、誤認・誤解したり混乱したりします。実にまったく言霊の悪影響は恐ろしいものです。$`
\newcommand{\cat}[1]{ \mathcal{#1} }
\newcommand{\mbf}[1]{ \mathbf{#1} }
\newcommand{\mrm}[1]{ \mathrm{#1} }
\newcommand{\o}[1]{ \overline{#1} }
\newcommand{\u}[1]{ \underline{#1} }
\newcommand{\id}{ \mathrm{id} }
\newcommand{\In}{ \text{ in }}
%\newcommand{\On}{ \text{ on }}
\newcommand{\Iff}{ \Leftrightarrow }
\newcommand{\op}{ \mathrm{op}}
\newcommand{\hyp}{\text{-} }
\newcommand{\twoto}{\Rightarrow }
`$

内容:

一般化ハイパーグラフ

過去記事で導入した一般化ハイパーグラフは、ハイパーグラフと呼ばれているモノの一般化として妥当なものです。一般化ハイパーグラフの種類を決めるのは、集合圏上の自己関手 $`P:\mbf{Set} \to \mbf{Set}`$ です。$`P`$ (プロファイル・コンストラクタ)を固定した上で、次の3つの構成素で一般化ハイパーグラフが定義されます。

  1. 頂点の集合: $`V\in |\mbf{Set}|`$
  2. 辺〈ハイパー辺〉の集合:$`E \in |\mbf{Set}|`$
  3. 境界写像: $`\mrm{bdry}:E \to P(V) \In \mbf{Set}`$

自己関手 $`P`$ の選び方で色々な種類のハイパーグラフを定義できます。例えば、過去記事「ストリング図とハイパーグラフ図 // ハイパーグラフ」で定義したハイパーグラフは、プロファイル・コンストラクタを次のように定義すればOKです。

$`\quad |\mbf{Set}| \ni X \mapsto \mrm{List}(X)\times \mrm{List}(X) \in |\mbf{Set}|`$
$`\quad \mrm{Mor}(\mbf{Set}) \ni (f : X\to Y) \mapsto (\mrm{List}(f)\times \mrm{List}(f): \mrm{List}(X)\times \mrm{List}(X) \to \mrm{List}(Y)\times \mrm{List}(Y)) \in \mrm{Mor}(\mbf{Set})`$

境界写像は、始頂点写像と終頂点写像をデカルト・ペアリングした写像です。

$`\quad \mrm{bdry} := \langle \mrm{src}, \mrm{trg}\rangle : E \to \mrm{List}(V)\times \mrm{List}(V) \In \mbf{Set}`$

また、過去記事「ハイパーグラフが要らない理由 // ハイパーグラフ」で定義したハイパーグラフは Wikipedia からの引用ですが、この場合のプロファイル・コンストラクタは次の関手です。

$`\quad |\mbf{Set}| \ni X \mapsto \mrm{Pow}_+(X) \in |\mbf{Set}|`$
$`\quad \mrm{Mor}(\mbf{Set}) \ni (f : X\to Y) \mapsto ({\mrm{Pow}_+}_*(f) : \mrm{Pow}_+(X) \to \mrm{Pow}+(Y) ) \in \mrm{Mor}(\mbf{Set})`$

$`\mrm{Pow}_+(\hyp)`$ は空集合を除外したベキ集合です。$`{\mrm{Pow}_+}_*(\hyp)`$ は、空集合除外ベキ集合から誘導された共変関手の射パートです。

Wikipedia の定義では、境界写像は包含写像に限定されています。

$`\quad \mrm{bdry} := \mrm{incl}_E : E \hookrightarrow \mrm{Pow}_+(V) \In \mbf{Set}`$

プロファイル・コンストラクタ $`P`$ を取り替えれば、その他のハイパーグラフ概念も定式化できます。

一般化ハイパーグラフとストリング図との関係

「ハイパーグラフ」「頂点」「辺」などの呼び名を変えようと思ったのは、ストリング図について語る場合に混乱するからです。ストリング図と無関係な文脈では、今までの呼び名で別にかまいません。

一般化ハイパーグラフはストリング図の下部構造になります。ストリング図は、一般化ハイパーグラフに相対的に定義されるのです。このとき、一般化ハイパーグラフの用語とストリング図の用語の対応は次のようになります(圏/オペラッドの用語も付けておきます)。

一般化ハイパーグラフ ストリング図 圏/オペラッド
ノード、頂点、ボックス 射、オペレーション、オペレーター、セル
頂点 色、型 対象、色
境界写像 (特に呼び名はない) dom/cod、src/trg

一般化ハイパーグラフの辺が、ストリング図では頂点〈ノード | ボックス〉のことで、一般化ハイパーグラフの頂点が、ストリング図では(ポートやワイヤーに付く)色〈型〉のことです。

「そう呼ぶと約束してるんだからしょうがないだろう」が建前の主張ですが、実際には混乱しますよね。一般化ハイパーグラフとストリング図を一緒に語るときは、一般化ハイパーグラフの標準的な用語法は使用しないほうが無難だと思います。代替の用語法を決めましょう。

P-バンドル

一般化ハイパーグラフは、プロファイル・コンストラクタ $`P`$ ごとに別物となります。「プロファイル・コンストラクタが $`P`$ である一般化ハイパーグラフ」を$`P`$-バンドル〈$`P`$-bundle〉と呼ぶことにします。$`P`$ が集合圏の恒等関手のときは(集合論的)バンドルです。

バンドルとバンドル射の圏は $`\mbf{Bun}`$ と書くので、$`P`$-バンドルと$`P`$-バンドル射の圏は $`P\text{-}\mbf{Bun}`$ とします。$`P`$-バンドル射〈$`P`$-bundle morphism〉は、$`P`$-ハイパーグラフの準同型射(「一般化ハイパーグラフ 再論」参照)のことです。

$`P`$-ハイパーグラフを$`P`$-バンドルと呼び替えたので、関連する用語も変更します。

$`P`$-ハイパーグラフ $`P`$-バンドル
セル〈cell〉
頂点 〈color〉
境界写像 境界プロファイル写像〈boundary-profile map〉

「セル」は「射」の同義語としてよく使われる言葉です。「色」はオペラッドの用語から借用。「境界写像」を「境界プロファイル写像」に変更したのは、セルに対応させるモノが、幾何的境界ではなくて、境界上に載っているプロファイル情報だからです。多様体に境界を対応させる写像とは違います。

自己関手 $`P`$ は引き続きプロファイル・コンストラクタ〈profile constructor〉と呼びます。$`P(X)`$ の要素は(色が $`X`$ である)プロファイル〈profile〉です。

$`P`$-バンドル $`A`$ の構成素は次のように書きます。

  1. セルの集合〈set of cells〉: $`\mrm{Cell}(A) \in |\mbf{Set}|`$
  2. 色の集合〈set of colors〉: $`\mrm{Color}(A) \in |\mbf{Set}|`$
  3. 境界プロファイル写像: $`\mrm{bp}_A : \mrm{Cell}(A) \to P(\mrm{Color}(A)) \In \mbf{Set}`$

構成素の略記は次のとおり(略記法は「一般化ハイパーグラフ 再論」と同じ)です。

  1. セルの集合: $`\o{A} \in |\mbf{Set}|`$
  2. 色の集合: $`|A| \in |\mbf{Set}|`$
  3. 境界プロファイル写像: $`\mrm{bp}_A : \o{A} \to P(|A|) \In \mbf{Set}`$

$`P`$-バンドル射 $`f`$ は2つのパートからなりますが、それは:

  1. 色パート〈color part〉: $`f_\mrm{color} : |A| \to |B| \In \mbf{Set}`$
  2. セル・パート〈cell part〉: $`f_\mrm{cell} : \o{A} \to \o{B} \In \mbf{Set}`$

圏のあいだの関手なら、対象パートと射パートと呼びますね(同じ概念に、とにかく色々な呼び名がある)。

今導入した$`P`$-バンドルの用語法は、バンドル(ファイバー付き集合〈fibered set〉とも呼ぶ)の用語法とは食い違っています。

$`P`$-バンドル バンドル
セル (特に呼び名はない)
セルの集合 トータル集合〈トータル空間〉
(特に呼び名はない)
色の集合 ベース集合〈ベース空間〉
境界プロファイル写像 射影
射の色パート 射のベースパート
射のセル・パート 射のトータル・パート

$`P`$-バンドルの境界プロファイル写像(バンドルの用語では射影)の逆像集合をファイバー〈fibre | fiber〉と呼びます。ファイバーは、圏のホムセットに相当するので、ホムセットと同じ記法で書きます。

$`\text{For }\alpha \in P(|A|)\\
\quad A(\alpha) := {\mrm{bp}_A}^{-1}(\alpha) \subseteq \o{A}
`$

プロファイル $`\alpha`$ のファイバー $`A(\alpha)`$ は、関数呼び出しと同じ形式なのでたいへん曖昧な記法ですが、文脈で判断します。紛らわしいときは、下付きアットマークを使った記法が良いかと思います。

$`\text{For }\alpha \in P(|A|)\\
\quad A_{@\alpha} := {\mrm{bp}_A}^{-1}(\alpha) \subseteq \o{A}
`$

圏 $`\cat{C}`$ のホムセットを下付きアットマークで書くなら $`\cat{C}_{@(A, B)}`$ です。実際には使いませんけどね。

P-ファミリー

バンドル-ファミリー対応(「バンドル-ファミリー対応 再考」参照)があるので、$`P`$-バンドルには$`P`$-ファミリーが対応します。

$`A = (\mrm{bp}_A : \o{A} \to P(|A|)`$ を$`P`$-バンドルとして、対応するファミリーを $`F`$ とすると、$`F`$ は次の形です。

$`\quad F: P(|A|) \to |\mbf{Set}| \In \mbf{SET}`$

ファミリーのインデキシング集合は $`P(\hyp)`$ の形をしているので$`P`$-ファミリーと呼ぶことにします。$`P`$-バンドル $`A`$ から作られた$`P`$-ファミリーの具体的な定義は:

$`\text{For }\alpha \in P(|A|)\\
\quad F(\alpha) := A_{@\alpha} \;\in |\mbf{Set}|
`$

プロファイルにそのファイバーを対応させるファミリー〈集合族〉です。

$`f:A \to B`$ が$`P`$-バンドル射のとき、対応するファミリーのあいだの準同型射を $`\varphi`$ とすると、$`\varphi`$ は $`P(|A|)`$ でインデックスされた写像の族になります。

$`\text{For }\alpha \in P(|A|)\\
\quad \varphi_{@\alpha} : A_{@\alpha} \to B_{@P(f_\mrm{color})(\alpha)} \In \mbf{Set}
`$

アットマークを付けたのは、ファイバーの記法と揃えるためです。$`\varphi_{@\alpha}`$ は、関手のホムパート(ホムセット間の写像)に相当するものです。

バンドル-ファミリー対応は逆向きの対応もあるので、$`P`$-ファミリー $`F:P(X) \to |\mbf{Set}|`$ が与えられたとき、対応する$`P`$-バンドルを構成できます。 バンドル-ファミリー対応は、$`P`$-バンドルの圏 $`P\text{-}\mbf{Bun}`$ と$`P`$-ファミリーの圏 $`P\text{-}\mbf{Fam}`$ の圏同値を与えます。