このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

線形計算のメモ

ホワイトボードに書いたヤツ。早くテキスト化しないと忘れる。なるべく早くにテキスト付ける。



上段

左の上の縦列

下から上に

  • 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) は、フレームから(集合としての)基底を対応させる写像

右の上の縦列
  • Iso(Rn, X*)←Frame(X*)→Base(X*)

まんなかの縦列と同じ。標準双対空間X*に変わっているだけ。まんなかの列との対応はすべて'#'でオーバーロードしてるが、このオーバーロードは良くないかも。

下のほう

下の左側ひし形

  • Iso(Rn, X)→Iso(X*, Rn*)→Iso(Rn*, X*)
  • Iso(Rn, X)→Iso(X, Rn)→Iso(Rn*, X*)

ひし形は可換。双対写像と逆写像をとる操作が可換。

最下段から上に伸びる矢印は、

  • Iso(Rn*, X*)→Iso(Rn, X*)

Шn:RnRn* をプレ結合することにより、この写像を作る。(\circШn) = λf.(f\circШn) となる。

中段

  • 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 と極性が反対であるインデックス集合。極性付きインデックス集合の概念が必要。