線形計算のメモ
ホワイトボードに書いたヤツ。早くテキスト化しないと忘れる。なるべく早くにテキスト付ける。
上段
左の上の縦列
下から上に
- Lin(Rn, X)→Xn→Pow(X)
Lin(Rn, X)→Xn の横に書いてあるのは読めないが、標準的な同型。Xn = Map([n], R) とすれば、Xn→Lin(Rn, X) の方向は標準の線形拡張。
set:Xn→Pow(X) は、リスト〈タプル〉の成分の集合を作る写像。リストモナドからサブセットモナドへのモナド変換になっている。
まんなかの上の縦列
下から上に
- Iso(Rn, X)←Frame(X)→Base(X)
Base(X)はBasis(X)のほうがいいだろう。
Frame(X)は、順序付き基底〈ordered basis〉の意味で、[n]→X で線形拡張が全単射になるものだと思っていい。in:Frame(X)→Base(X) は、フレームから(集合としての)基底を対応させる写像。
中段
- Lin(Rn, X)→Lin(Rn, Rn)
これは書いてないけど、Xに順序付き基底があれば、この同型はある。
- lin:Mat(n, n)→Lin(Rn, Rn)
- mat:Lin(Rn, Rn)→Mat(n, n)
linは行列に線形写像を対応させる写像、matはその逆。lin = mat-1, mat = lin-1。
- dlin:Mat(n, n)→Lin((Rn)*, (Rn)*)
- dmat:Lin((Rn)*, (Rn)*)→Mat(n, n)
dlinは、dlin(a) = lin(a)* と定義された写像。
下段
- col:Rn→Mat(1, n)
タプルにカラム行列を対応させる。
- mat = row:(Rn)*→Mat(n, 1)
このmatはタプルの双対要素(双対空間の要素)にロー行列に対応させる。逆写像はlinになる。
下側の右にゴチャゴチャ書いてあるのは、mat, lin, dlin, row, col の関係だろう。
(Rn)* と Rn- の関係も必要、ここで n- は n と極性が反対であるインデックス集合。極性付きインデックス集合の概念が必要。