L加群豊饒化と行列計算による説明
文字「L」自体には特に意味が無い。プレースホルダーつうか変数つうか。適当な有限個の代数(広い意味の「代数」!)の集合上を走る変数がL。代数系の集合は {I, F1, F2, N, Z} あたりか。
- I または I -- 自明なモノイド
- F1 または F1 -- 自明な零付きモノイド、通称一元体
- F2 または F2 -- 二元体
- B または B -- ブール半環
- N または N -- 自然数半環
- Z または Z -- 整数環
これらの代数を便宜的にL代数と呼ぶ。L代数上の加群、特に自由生成加群により既存の圏(主に集合圏の部分圏)を豊饒化するシナリオ。そのために事前にいくつかの概念と練習が必要。
自由構成
自由群が典型だろうが、自由モノイドのほうがわかりやすい。自由モノイドの要素は「語、文字列、列(シーケンス)、文、リスト」などと呼ばれる。自由モノイド構成は関手になる。モナドにもなる。
自由ベクトル空間、いい例はなにかな? 電圧ポテンシャルを持った0チェイン、電流を持った1チェインをグラフ上で考えるとか。抵抗が一定の回路グラフの有向辺の上に電流を割り当てる、か。キルヒホッフの法則? それだけで時間がかかる。
一次式の集合がいいか。もともと形式的だし。自由ベクトル空間構成も関手となって、忘却関手の随伴となる。もちろんモナドになる。
コレクション・データ型
集合A(有限が考えやすい)があるとき:
これらはL加群豊饒化と関係する。
- I豊饒化 なにもしないA
- F1豊饒化 A⊥
- F2豊饒化 Fset<A> 対消滅付き合併
- B豊饒化 Fset<A>
- N豊饒化 Bag<A>
- Z豊饒化 荷電集合
零付き代数に関しては、豊饒化=局所加群化 だけでなく、全加群化もできる。
局所加群化の例としてのND(非決定性)関手。
行列計算
上で定義したL代数以外の代数系も入るが:
- 可達問題 Bの計算
- 最短経路問題 [0, ∞] 上のmin-plus代数
- 氷の運搬問題 [0, 1] 上のmax-times代数
- 構文図 アルファベットA上のクリーネ代数
一般化された行列計算
他に、フロイド/ウォーシャル法とかベルマンの原理とか。