arXiv探訪

興味の赴くままに数学するだけ

29.線型無関連

目次

まだ公開していないPDFにおいて、前回の記事の最後に、有限次ガロア拡大における「縦」の関係について加筆しました。ブログ上では更新するつもりはないので簡単に述べておくと、有限次ガロア拡大{ L/K }の中間体{ E }に対し、{ E/K }ガロア拡大となる同値条件({ \Phi(E)\lhd\mathrm{Aut}L/K })と、そのとき成り立つ群の完全系列

{ 1\rightarrow\mathrm{Aut}L/E\rightarrow\mathrm{Aut}L/K\rightarrow\mathrm{Aut}E/K\rightarrow 1 }

の証明です。

で、今回は「横」の関係を調べてみようという話になります。

線型無関連

一般的な拡大の状況を考える。{ \Omega/k }を体の拡大、{ K, L }をその中間体とする。{ K }{ L }に対して線型無関連(linearly disjoint)とは、{ k }上一次独立な{ x_{1}, \dotsc, x_{n}\in K }が、{ KL }において{ L }上一次独立であることをいう。*1

命題 以下は同値である。

  • { K }{ L }に対して線型無関連。
  • { L }{ K }に対して線型無関連。

(証明)上から下を示せば十分である。{ y_{1}, \dotsc, y_{n}\in L }{ k }上一次独立とし、{ x_{1}, \dotsc, x_{n}\in K }により{ x_{1}y_{1}+\dotsb+x_{n}y_{n}=0 }{ KL }で成り立つとする。{ (x_{1}, \dotsc, x_{n})\neq (0, \dotsc, 0) }と仮定すれば、並び替えて{ x_{1}, \dotsc, x_{r} }が一次独立で、{ x_{i}=\sum_{j=1}^{r}a_{ij}x_{j} }と表せる。

{ \begin{align*}\sum_{i=1}^{n}x_{i}y_{i} &= \sum_{i=1}^{n}\sum_{j=1}^{r}a_{ij}x_{j}y_{i} \\ &= \sum_{j=1}^{r}\left(\sum_{i=1}^{n}a_{ij}y_{i}\right)x_{j} = 0 \end{align*} }

だが、仮定より{ x_{1}, \dotsc, x_{r}\in KL }{ L }上一次独立なので{ \sum_{i=1}^{n}a_{ij}y_{i}=0 }を得る。ところが{ y_{1}, \dotsc, y_{n}\in L }{ k }上一次独立だから{ a_{ij}=0 }を得る。これは矛盾する。{ \square }

以上により{ K }{ L }{ k }上線型無関連と言うこともできる。

さて、{ KL }{ K, L }より作られる{ \Omega }内の部分代数であるが、実はもう一つ代数を考えることができる。それは既に述べた{ K }{ L }テンソル{ K\otimes_{k}L }である。一般にテンソル積の普遍性より、{ k }-代数準同型({ K, L }-代数準同型とも見なせる。){ \gamma:x\otimes y\mapsto xy }を定めることが出来る。特にこれは全射だが、実は{ K }線型無関連なら単射となる。実際{ \sum x_{i}y_{i}=0 }とすれば、先ほどの証明と同様に{ x_{i}=\sum_{j=1}^{r}a_{ij}x_{j} }としてよく、

{ \begin{align*} \sum_{i}x_{i}\otimes y_{i} &= \sum_{i}\left(\sum_{j=1}^{r}a_{ij}x_{j}\right)\otimes y_{i} \\ &= \sum_{j}x_{j}\otimes\left(\sum_{i}a_{ij}y_{i}\right) \end{align*} }

より{ \gamma }で写せば

{ 0=\sum_{i}x_{i}y_{i}=\sum_{j}x_{j}\left(\sum_{i}a_{ij}y_{i}\right)=0 }

となるが、{ x_{1}, \dotsc, x_{r} }{ KL }上一次独立であることから{ \sum_{i}a_{ij}y_{i}=0 }が従う。故に{ \sum_{i}x_{i}\otimes y_{i}=\sum_{j}x_{j}\otimes 0=0 }となる。

では逆に{ \gamma:K\otimes_{k}L\rightarrow KL }単射のとき、{ K, L }は線型無関連となるだろうか。実は正しいのだが、それを証明するためにはテンソル積を具体的に見る必要がある。

体上のテンソル

まず次の補題を示しておく。

補題 { R }を環、{ M, N }{ R }-加群とする。{ \sum_{i}x_{i}\otimes y_{i}=0 }のとき、ある有限生成な部分加群{ M_{0}\subset M, N_{0}\subset N }が存在して、{ \sum_{i}x_{i}\otimes y_{i}=0 }{ M_{0}\otimes_{R}N_{0} }において成り立つ。

(証明)加群テンソル積の具体的な構成を思い出してみよう。{ M\otimes_{R}N }は、{ M\times N }を添え字とする自由加群{ F }を、ある部分加群{ Z }で割ることで作ることができた。{ \sum (x_{i}, y_{i})\mapsto 0 }だから、これは{ Z }の元である。従って{ Z }の生成系の有限和として書ける。つまり

{ \begin{align*} \sum (x_{i}, y_{i}) = \sum_{\mathrm{finite}} &\lambda^{m, m^{\prime}}_{n}( (m+m^{\prime}, n)-(m, n)-(m^{\prime}, n) ) \\ & +\lambda^{m}_{n, n^{\prime}}( (m, n+n^{\prime})-(m, n)-(m, n^{\prime}) ) \\ & +\mu^{\alpha}_{m, n}( (\alpha m, n)-\alpha(m, n) ) \\ & +\mu^{m, n}_{\alpha}( (m, \alpha n)-\alpha(m, n) ) \end{align*} }

と表せる。ここで現れた元を用いて{ M_{0}=\langle m, m^{\prime}\rangle, N_{0}=\langle n, n^{\prime}\rangle }と置けばよい。{ \square }

この補題により、テンソル積の議論は本質的に有限生成な状況に落とし込めることが分かる。

命題 { k }を体、{ U, V }{ k }上のベクトル空間とし、基底を{ (u_{i}), (v_{j}) }とする。このとき{ u_{i}\otimes v_{j} }{ U\otimes_{k}V }の一次独立な生成系(つまり{ U\otimes_{k}V }はベクトル空間でありその基底)をなす。

(証明){ W:=k^{mn} }として、双線型写像{ \left( \sum_{i}a_{i}u_{i}, \sum_{j}b_{j}v_{j} \right)\mapsto\sum_{ij}a_{i}b_{j}e_{ij} }を定める。(ただし{ e_{ij} }{ W }の基底。)普遍性より{ f:U\otimes_{k}V\rightarrow W }を得るが、これは明らかに全射である。また

{ 0=f\left(\sum c_{ij}u_{i}\otimes v_{i}\right)=\sum c_{ij}e_{ij} }

より{ c_{ij}=0 }が従うので単射であることも分かる。{ \square }

定理 { \Omega/k }を体の拡大、{ K, L }をその中間体とする。以下は同値である。

  • { K }{ L }は線型無関連である。
  • { \gamma:K\otimes_{k}L\rightarrow KL }は同型である。

(証明)上の議論より{ \gamma }単射なら線型無関連であることを示せば良い。{ x_{1}, \dotsc, x_{n}\in K }{ k }上一次独立とする。もし{ L }上一次独立でないなら、{ \sum x_{i}y_{i}=0 }となる非自明な{ y_{i} }が存在する。このとき{ f\left(\sum_{i}x_{i}\otimes y_{i}\right)=\sum_{i}x_{i}y_{i}=0 }だから、単射性より{ \sum_{i}x_{i}\otimes y_{i}=0 }を得る。補題より、有限生成な部分加群{ K_{0}, L_{0} }が取れて、{ K_{0}\otimes_{k}L_{0} }において{ \sum_{i}x_{i}\otimes y_{i}=0 }が成り立つ。{ K_{0}, L_{0} }はベクトル空間なので、特に{ L_{0} }の基底{ (\omega_{j}) }が取れる。今{ y_{i}=\sum_{j}c_{ij}\omega_{j} }と表せるとすると、

{ 0=\sum_{i}x_{i}\otimes y_{i}=\sum_{i, j}c_{ij}x_{i}\otimes\omega_{j} }

となる。ところで{ (x_{i}) }{ k }上一次独立なので部分空間を張り、命題より{ x_{i}\otimes\omega_{j} }はその基底となる。故に{ c_{ij}=0 }が従う。つまり{ y_{i}=0 }となり矛盾する。{ \square }

加群テンソルは一見良く分からない対象かもしれないが、体をモデルとすることで具体的な形を見ることができる。例えば{ K/k, L/k }が代数拡大なら、{ KL }の元も代数的である。つまり可逆であるから{ KL }は体を為す。特に{ K }{ L }が線型無関連でもあれば{ K\otimes_{k}L }は体を為すことが分かる。

一般に、{ K }{ L }{ k }上線型無関連なら{ K\cap L=k }が成り立つ。実際{ x\in K\backslash k }に対して{ 1, x }{ k }上一次独立となるから、線型無関連より{ L }上も一次独立となる。しかし{ x\in K }なら{ (-x)1+x=0 }となり矛盾する。逆は一考の価値があるがここではやらない。

所感

ちょっと量的に少ないので後で加筆するかもしれないし、しないかもしれない。

*1:{ KL }の代わりに{ \Omega }でも構わない。重要なのは{ L }の方。

立方体の面を球面に射影する手法の疑問

最近、ここのUnityに関するチュートリアルが面白くて、色々遊んでいる。一般的な入門とは異なり、シェーダをフルスクラッチで書いたりしているのがマニアックで自分好み。こんな良質なチュートがあって、しかも無料で読めて(パトロン系だったのが最近、一般公開したっぽい)、UnityやUEという強力な環境も整っていて、今の時代は恵まれているなぁとつくづく思う。そのうちユニークなシェーダとか作ってみたい。

立方体の面を球面へ

で、本題は先ほどのCube Sphereのページ。作った立方体の面を球面に変形する課題を扱っているのだが、まずは「普通に」正規化してみよう。つまり立方体の座標を{ v=^{t}(x, y, z) }とすると、

{ \displaystyle \frac{v}{|v|}=\frac{1}{\sqrt{x^{2}+y^{2}+z^{2}}}\left(\begin{matrix} x \\ y \\ z \end{matrix}\right) }

に写すことを考える。

f:id:mathmathniconico:20170223180126p:plain

球面上の格子模様と色は、立方体上に等間隔で入れた格子と面ごとに設定した色である。ちょっと分かり難いかもしれないけど、頂点方向の間隔が狭くなっていることが分かるだろうか。

そこで次のような変形を考える。まず立方体上の座標は何れかが{ 1 }になることから、{ 1-(1-x^{2})(1-y^{2})(1-z^{2}) = 1 }が常に成り立つ。

{ 1-(1-x^{2})(1-y^{2})(1-z^{2}) = x^{2}+y^{2}+z^{2}-x^{2}y^{2}-y^{2}z^{2}-z^{2}x^{2}+x^{2}y^{2}z^{2} }

であるから、上手い{ v_{0}=(x_{0}, y_{0}, z_{0}) }を設定して、{ x_{0}^{2}+y_{0}^{2}+z_{0}^{2} }が上の式となるようにすればよい。例えば

{ \displaystyle x_{0}^{2}=x^{2}-\frac{x^{2}y^{2}}{2}-\frac{x^{2}z^{2}}{2}+\frac{x^{2}y^{2}z^{2}}{3} }

などが考えられる。つまり

{ \displaystyle x\mapsto x\sqrt{1-\frac{y^{2}}{2}-\frac{z^{2}}{2}+\frac{y^{2}z^{2}}{3}} }

で写してみる。

f:id:mathmathniconico:20170223180201p:plain

ご覧のように、歪みが緩和されているのが分かる。テクスチャも描きやすくなるだろう。

で、この方法を調べても数学的な背景が全く出てこない。ココとかココとか紹介されているけど方法論のみ。数学的な意味が何かありそうなだけに気になのだが調べようがない。もちろん完全な等間隔になっているという訳ではないし、何かしら意味のある変換の近似(例えばテイラー展開の有限次の項まで取ったとか)だと思うのだけど。風船を膨らませてるのかなとも思ったけど物理はからっきしダメなので分からない。{ 2 }{ 3 }の交代級数が出てるので、対数関数あたりが怪しいけどどうなんだろう。

おまけ

Unityを触ってみて、UEと比較してUnityの方が分かり易い印象。その手軽さはsteamにある個人製作の大量のク○ゲーが物語っている。UEの方は大規模タイトルでの採用が多いことから、リッチな絵作りとかソースを直接触ってカスタマイズしたい場合に選ばれるのかもしれない。ゲームエンジンとしての違いとかはよく分からないけど。個人的にはUEはIMEを変えないとまともに動かないのと、ランチャーが無駄に重いので非力な環境では作業が辛い。