外積代数

外積代数について、素早くまとめる。

資料をまとめる。そして、お絵描きする。

始めましょうか。

  • 資料
  • n次元線型空間に対するr次外積代数
    • 線形空間(ベクトル空間)
    • 加群の具体例
      • 平面ベクトル全体
      • 空間ベクトル全体
      • 2次の正方行列全体
      • 実数係数のn次多項式全体
    •  v_i \in Vについて、 v_1 \wedge \cdots \wedge v_rの形の元を基底とする1次結合の集合
      • 追加の制約
        • 同一視と計算
          • 多重線形
          • 交代性
            • 基底の一組交換すると、-1倍される
            • 同じベクトルが含まれるなら0
              • rがnより大きいなら、0
    • 意味
      • 面積を出せる(r=2)
    • 積の交換性
    • 双対空間の外積代数
    • r次外積代数
      •  w \in \wedge^r V
      •  w = \Sigma_{(i_1, \cdots, i_r) \in I_r} a_{i_1, \cdots, i_r} e_{i_1} \wedge \cdots \wedge e_{i_r}
    • コベクトルのr次外積へのr個のベクトル列の代入
    • 定義 
      • wを1つの項からなるとする
      • r個のベクトル列を挿入する
      • 各ベクトルを、wのウェッジで隔てられている、基底ごとの係数を求める
      • それを行列の形(r×r)にする
      • 行列式をとる
        • 多重線形性と交代性は、行列式の性質を反映するため。
      • 複数の項からなるなら、これを足し合わせることで求まる。
      • 面積
    • r次微分形式
      • 各点でコベクトルのr次外積代数が指定されいていること
      • さっきの基底を、今回は基底の微小変位にするイメージ
    • 微分
      • r次微分形式からr+1次微分形式へ
      • 係数を各基底( v_1, \cdots, v_n)で偏微分した和
        • 基底にダブりが生じたら0になる
    • 性質
      • 微分を2回すると0となる。
      • 2つの別の基底を用意。
        • 2回微分する時、どちらで先に微分するか、という順序がある
        • 2種類の順序
        • 2回微分したら、どっちの順序で微分しても、係数は変わらない(とする)
        • 微分の順序が逆だと-1倍かかる
        • これで打ち消す
      •  d(\xi \wedge \eta) = d \xi \wedge \eta + (-1)^i \xi \wedge (d \eta) 
        •  
    • 内積空間と正規直交基底を考える
    • スター作用素
      • r次外積代数から、n-r次外積代数への線形写像
      • 置換について、奇なら‐1かける。偶なら1かける。
      • 性質
        • 2回掛けたら元通り
      • 内積
        •  (v,w) = * (v \wedge * w)
      • 拡張
        • 微分形式に対する拡張
  • 発展編として、こちらの記事をいくつか読んでみる。
  • お絵描き
class Wed:
  def __init__(self,a,p):
    self.dot = a
    self.p = p

def BubbleSort(a,p):
  for i in range(len(a)):
    for j in range(len(a)-1,i,-1):
      if a[j] < a[j-1]:
        p *= -1
        a[j],a[j-1] = a[j-1],a[j]
      elif a[j] == a[j-1]:
        p *= 0
  return [a,p]

def BS(w):
  return BubbleSort(w.dot,w.p)
  
#BubbleSort([0,4,1,5,2,3],5)

def MulWed(a,b):
  p = a.dot + b.dot
  q = a.p * b.p 
  r = BS(Wed(p,q))
  return Wed(r[0],r[1])

a = Wed([0,2,3],4)
b = Wed([1,4],2)
c = MulWed(a,b)
print(c.dot,c.p) 

バイバイ!