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

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

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

参照用 記事

伝統的テンソル計算における添字の上げ下げ

伝統的(むしろ因習的テンソル計算では、「添字を上げる/下げる」というな言い回しが出てきます。例えば、 x_{j}^{i k} の添字 i を下げ、j を上げ、k はそのままにすると x_{i}^{j k} になります。

伝統的〈因習的〉記法・語法に慣れてないと何のことだかわかりません。この「添字の上げ下げの」を添字無しスタイルで説明します。ベクトル空間の場合について述べますが、ベクトルバンドルのセクション加群に関しても同じ議論が通用します。

VをR上の有限次元ベクトル空間として、V*をVの標準双対空間とします。Vには内積があるとして、内積(双線形形式)を G:V×V→R とします。Gは非退化、対称、正定値*1です。このとき、g:V→V* を次のように定義します。

  • g(v) := G(v, -)

ここで、ハイフンは無名ラムダ変数です。ちゃんとラムダ記法を使うならば*2

  • g(v) := (λw∈V.(G(v, w) ∈R)) ∈V*

Gの性質から、gに関して次が言えます。

  1. g:V→V* は線形同型写像(可逆写像
  2. G(v, w) = g(v)(w) = g(w)(v)
  3. G(v, v) = g(v)(v) ≧ 0

G':V*×V*R を次のように定義します。

  • G'(α, β) := G(g-1(α), g-1(β)) = α(g-1(β))

G'はV*上の内積になり、g:V→V*, g-1:V*→V は、内積を保存する線形写像になります。つまり、内積空間として、(V, G) \cong (V*, G') via g です。

G, g, g-1, G' は、密接に関連はしてますが別物です。伝統的テンソル計算では、これら4つの写像を同じ親文字gで表し、添字の付け方で区別する方法をとっています -- 僕は嫌い。

「ベクトルの添字を下げる」とは、Vの要素にgを適用すること、「コベクトルの添字を上げる」とは、V*の要素にg-1と適用することです。

  • ベクトルvの添字を下げたコベクトル = g(v) ∈V*
  • コベクトルαの添字を上げたベクトル = g-1(α) ∈V

U = (U, GU), V = (V, GV) が内積空間、Wがベクトル空間(内積がなくてもよい)ならば、

  • gU\otimes(gV)-1\otimesidW : U\otimesV*\otimesW → U*\otimesV\otimesW

が定義できます。ここで、gUはUの内積GUから定まるgであり、gVはVの内積GVから定まるgです。

この状況で、a∈U\otimesV*\otimesW だとします。そして、a' = (gU\otimes(gV)-1\otimesidW)(a) とします。冒頭の表現「 x_{j}^{i k} の添字 i を下げ、j を上げ、k はそのままにすると x_{i}^{j k} になります。」の意味は:

  • U, V, W に適当な基底をとり、その基底によるaの成分が  x_{j}^{i k} だとする。ここで、iはUの基底を渡るインデックス、jはVの基底を渡るインデックス、kはWの基底を渡るインデックス。ただし、Vの基底と対応する相反基底〈双対基底〉(V*の基底)に対しても同じjを使う。
  • 同じ基底によるa'の成分は x_{i}^{i k} と書く。ここで、iはUの基底に対応する相反基底(U*の基底)を渡るインデックスと解釈する。jはVの基底を渡るインデックス、kはWの基底を渡るインデックス。

「添字を上げる = g-1:V*→V を適用する」「添字を下げる = g:V→V* を適用する」なので、gとg-1の存在、つまりは内積 G:V×V→R の存在が前提されていることに注意してください。

*1:実際は非負定値ですが、正定値と呼ぶ習慣です。

*2:g := λv∈V.(λw∈V.( G(v, w) ∈R) ∈V*) とも書けますが、大きなラムダ式と小さなラムダ式を区別して書くなら、g := <v∈V | λw∈V.( G(v, w) ∈R) ∈V*> です。