tensorの数学的な実装法
のtakker.iconの2024-11-05時点の理解を書いておく
最終的には、なるべく数学で一般に使われる定義に寄せたいところ
このあたりは調査済み
ページ先を参照
任意の$ K-線型空間$ Vを取り上げる
線型汎函数のscalar積を$ \cdot_{K\times V^*}:\underline{K}\times\underline{V^*}\ni(k,f)\mapsto(\bm v\mapsto k(f\bm v))\in\underline{V^*}と定義する このとき$ (V^*,K,\cdot_{K\times V^*})が線型空間をなすとき、$ (V^*,K,\cdot_{K\times V^*})を双対空間と呼ぶ 「なすとき」ではなく、このように定義した3つ組は常に線型空間になる?takker.icon
これは昨日か一昨日から採用し始めた名称takker.icon
双対$ V^*と違い、逆基底の逆が元の基底になる($ \bar{\bar{\sf E}}=\bar{\sf E})性質があるため、名が体をよく表している
2重双対$ V^{**}は$ Vと同じではない (同型ではあるが) $ \natural\bm u:V^*\ni\alpha\mapsto\alpha(\bm u)\in Kとすれば、$ Vから$ {V^*}^*を作れる
逆は一度基底を経由する
$ \natural s:=s(e^i)\bm e_i
$ \natural\natural\bm u=(\natural\bm u)(e^i)\bm e_i=e^i(\bm u)\bm e_i=\bm uとなる
$ \naturalは今適当に作った記号takker.icon
特に由来はない
意味とかは割愛
実装方法
$ U,Vの基底の組み合わせから形式的に作られた対象の線型結合で、新しい線型空間$ U\otimes Vを定義する
もうすこしひねる必要がある
ここでは簡単な実装方法として、重線型氾函数がなす線型空間をtensor空間と見なしてみる $ Uと$ V
$ \bm u\otimes\bm v:\underline{U^*}\times\underline{V^*}\ni(\alpha,\beta)\mapsto\alpha(\bm u)\beta(\bm v)\in\underline{K}
型は$ \bullet\otimes\bullet:\underline U\times\underline V\to(\underline{U^*}\times\underline{V^*}\to\underline{K})
$ \underline{U^*}\times\underline{V^*}\to\underline{K}に構造をいれた多重線型空間を$ U\otimes Vの内部実装とする $ U^*と$ V^*
$ \alpha\otimes\beta:\underline{{U^*}^*}\times\underline{{V^*}^*}\ni(u,v)\mapsto u(\alpha)v(\beta)\in\underline{K}
型は$ \bullet\otimes\bullet:\underline{U^*}\times\underline{V^*}\to(\underline{{U^*}^*}\times\underline{{V^*}^*}\to\underline{K})
この多重線型空間が$ U^*\otimes V^*の内部実装となる
$ Uと$ V^*
$ U^*と$ V
2024-11-05 22:46:24 ↓をふまえて、定義を変えた
この定義はちょっと違うっぽい?takker.icon
$ K上の線型空間$ Vから線型空間$ Wへの線型写像がなす線型空間を$ L_K(V,W)と表す
$ L_K(V;W)とも書くみたい?
$ L_K(V_1\times V_2\times\cdots,W)=L_K(V_1,V_2,\cdots;W)
このとき$ V^*=L_K(V,K)となる
係数体$ Kは$ K上の線型空間でもあるから、この式が成り立つ 同型を=とみなしている
大体同じだが、若干定義が違う
おそらく同値
証明したい
以降、tensor積の内部実装には立ち入らない
$ K-線型空間$ Vについて、$ \underbrace{V\otimes\cdots\otimes V}_{m}\otimes\underbrace{V^*\otimes\cdots\otimes V^*}_{n}で表される空間の要素をm階反変n階共変tensor空間 ((m,n)型tensor空間)と呼ぶ $ = V^{\otimes m}\otimes{V^*}^{\otimes n}
$ =T_m^n(V)
とも書くみたい
空間$ M上の点$ pを始点とし、$ Mに接する方向のvectorsを集めて得た空間を接空間$ T_pMと呼ぶ $ f:A\to Bの微分$ (\mathrm df)(a,\Delta a)=f'(a)\Delta aを$ \mathrm df:A\ni a\to(\Delta a\to f'(a)\Delta a)\in(A\to B)と捉え直すと、$ \mathrm dは任意の微分可能な函数$ fから、$ aを受け取ると線型函数$ A\to Bを返す函数とみなせる
この解釈が微分形式に関わってくるtakker.icon*2 必ず$ 0\le p\le\dim Vである
$ \alpha\wedge\beta:=\alpha\otimes\beta-\beta\otimes\alpha(1階同士のとき)
線型とは限らない汎函数$ \phi:\underline{V}\to\underline{K}に対して、$ \mathrm d\phi:\underline{V}\ni\bm v\mapsto\left(\Delta\bm v\mapsto\left.\left(\frac{\partial}{\partial e^i}\phi(e^j\bm e_j))\right)\right|_{e^k=e^k(\bm v)}e^i(\Delta\bm v)\right)\in\underline{V^*}を0-formの外微分と呼ぶ $ \left.\left(\frac{\partial}{\partial e^i}\phi(e^j\bm e_j))\right)\right|_{e^k=e^k(\bm v)}e^i(\Delta\bm v)=\left.\frac{\partial}{\partial h}\phi(\bm v+h\Delta\bm v)\right|_{h=0}で、$ \Delta\bm v方向の方向微分に等しい 基底$ \{\bm e_i\}は任意の基底で成立
$ (\mathrm de^i)(\bm v)=e^iが成立するから、$ \mathrm d\phi=\frac{\partial\phi}{\partial e^i}\mathrm de^iと書ける
$ \left.\left(\frac{\partial}{\partial e^i}\phi(e^j\bm e_j))\right)\right|_{e^k=e^k(\bullet)}を$ \frac{\partial\phi}{\partial e^i}と略記した
これにより、$ \mathrm dfなどという表記を厳密に定義できた
$ E(\bm v)=E_0(\bm v)\mathrm de^0(\bm v)+E_1(\bm v)\mathrm de^1(\bm v)+E_2(\bm v)\mathrm de^2(\bm v)\in\underline{V^*}は1-form $ E_\bulletは汎函数$ \underline{V}\to\underline{K} $ (\mathrm dE)(\bm v):\underline{V^*}^2\ni(\Delta\bm v_0,\Delta\bm v_1)\mapsto\frac{\partial E_j}{\partial e^i}(\bm v)\mathrm de^i(\bm v)(\Delta\bm v_0)\wedge\mathrm de^j(\bm v)(\Delta\bm v_1)\in\underline{K}は2-form $ \alpha\wedge\beta:=\alpha\otimes\beta-\beta\otimes\alpha (双方とも1-formの場合)
(後日修正する)これは直積が引数にしているが、これを実装の前段階とし、tensor積の普遍性を用いて$ \underline{V^*\otimes V^*}を受け取れるwrapperを作り、そちらを$ \mathrm d Eとする 0-form:$ \underline{V}\to\underline{K} 1-form:$ \underline{V}\to\underline{V^*} 2-form:$ \underline{V}\to\underline{{V^*}^{\otimes2}} p-form:$ \underline{V}\to\underline{{V^*}^{\otimes p}} $ \mathrm d(\underset{0}{\phi}):\Delta\bm v\mapsto\frac{\partial\phi}{\partial e^i}e^i(\Delta\bm v)\quad\text{.for }\forall e^\bullet
$ {\mathrm d}(k\alpha+l\beta)=k{\mathrm d}\alpha+l{\mathrm d}\beta
$ {\mathrm d}(\underset{m}{\alpha}\wedge\underset{n}{\beta})=({\mathrm d}\underset{m}{\alpha})\wedge\underset{n}{\beta}+(-1)^m\underset{m}{\alpha}\wedge{\mathrm d}\underset{n}{\beta}
$ {\mathrm d}({\mathrm d}\underset{m}{\alpha})=0
下の文字は、階数を表す
0-formの外微分:$ \mathrm d:(\underline{V}\to\underline{K})\to(\underline{V}\to\underline{V^*}) 1-formの外微分:$ \mathrm d:(\underline{V}\to\underline{V^*})\to(\underline{V}\to\underline{{V^*}^{\otimes2}}) p-formの外微分:$ \mathrm d:(\underline{V}\to\underline{{V^*}^{\otimes p}})\to(\underline{V}\to\underline{{V^*}^{\otimes p+1}}) 外微分を作用させる事に、階数が1つずつ増える
これはnabla$ \bm\nablaの性質と対応する scalarをvectorに、vectorを2階tensorにする
$ (\mathrm d\alpha)(\bm v)(\Delta v)=\sum_{i,j}\frac{\partial\alpha_j e^j}{\partial e_i}(\bm v)\mathrm de^i(\bm v)(\Delta v)
$ \alpha_j\in\underline{K}は$ \alphaの$ j成分で、定数となる
$ = \sum_{i,j}\alpha_j\frac{\partial e^j}{\partial e_i}(\bm v)\mathrm de^i(\bm v)(\Delta v)
$ = \alpha_j\mathrm de^j(\bm v)(\Delta v)
$ = \alpha_je^j(\Delta v)
$ = \alpha(\Delta v)
不変じゃない。入力にかかわらず$ \alphaを返す定数函数になるんだtakker.icon $ \mathrm d\alpha:\bm v\mapsto\alpha
$ (\mathrm d\alpha)(\bm v)=\alpha_j\mathrm de^j(\bm v)=\alpha
$ \alpha_\bullet\in\underline{K}
0-formのときは$ \mathrm d:(\underline{V}\to\underline{K})\to\underline{V}\to\underline{V^*}なので、入力が線型汎函数だと$ \underline{V^*}\to(\underline{V}\to\underline{V^*})となって、1-vectorを受け取り1-vectorを返す定数函数を返す函数となる 1-form$ Eの成分$ E_\bulletが線型汎函数のとき $ \mathrm d E=\mathrm dE_i\wedge\mathrm d e^i=\bm v\mapsto E_{ij}\mathrm de^j(\bm v)\wedge\mathrm d e^i(\bm v)=\bm v\mapsto E_i\wedge e^i
$ E_{\bullet\bullet}\in\underline{K}
$ E_{ij}\mathrm de^j(\bm v)(\Delta\bm v)=E_{ij}e^j(\Delta\bm v)=E_i(\Delta\bm v)
やはり定数函数になる
ただし、1-form$ Eではなく2-vector$ E_i\wedge e^iを返す
2次元のとき
$ (\mathrm dE)(\bm v)=E_{01}e^0\wedge e^1+E_{10}e^1\wedge e^0=(E_{01}-E_{10})e^0\wedge e^1
積分
$ \int_C\underset{1}{\omega}=