■アダマールの未解決問題

 +1,−1を成分とする直交行列(アダマール行列とよばれる)には「n次元超立方体の頂点をうまく結んで正軸体を作ることはできるか」という幾何学的な意味合いを与えることができる.

 一方,「n次元超立方体の頂点をうまく結んでn正単体を作ることはできるか」という問題では,全体を1次元あげて,n+1正軸体のn次元胞をとるのが最も簡単である.したがって,「n+1次元超立方体の頂点をうまく結んで正軸体を作ることはできるか」と同等の問題である.

[1]正軸体の場合

 n次元超立方体の頂点をうまく結んで正軸体を作ることはできる場合があります.正軸体は中心を通るn本の互いに直交する直線上に等間隔に点をとった合計2n点で作られます.したがって,座標(±1,±1,・・・,±1)(n次元ベクトル)の中からうまくn個の互いに直交する組が選べれば正軸体ができます.

 これは+1,−1を成分とする直交行列(アダマール行列とよばれる)を作るのと同一で,nが4の倍数であることが必要条件になります.逆にnが4の倍数のとき,アダマール行列ができるか?は有名な未解決問題です(たぶんそうだろうと考えられ,かなり多くのnについて正しいことがわかっています).だから,nが4の倍数である場合にはうまく頂点を選んで正軸体ができる場合があります(n=4はもちろんだが,n=8など).

[2]正単体の場合

 正単体の場合は一層厄介ですが,たぶん不可能と思います.1辺の長さ1のn次元超立方体の頂点間の距離は1,√2,√3,・・・,√nのいずれかであり,1辺の長さaのn次元正単体の体積は(n+1)^1/2a^n/2^n/2n!ですから,格子点を結んでできる単体が正単体になりうる必要条件は(n+1)^1/2が√2,√3,・・・,√nで有理的に表される必要があります.

 これは特定のnについては可能(例えばn=3なら(n+1)^1/2=2で実際可能)ですが,n=2のとき正方格子の頂点を結んで正三角形ができない(√3が無理数のため)の証明と相通じます.n=4では(n+1)^1/2=√5が邪魔して,同様に不可能と思います.もちろんこれは可能なための必要条件のひとつにすぎず,可能な場合があるかもしれません(例えばn=8について).

 正方格子点でなくひとつの超立方体の頂点をうまくとって正単体を作ることは,たぶんn=3以外には不可能と思われます.ただその証明は単に奇数次元,偶数次元というだけでなく,もう少し細かい吟味(n=8といった特別のnの値について)が欠かせないように感じられます.といったわけで,この設問はもはや一般論では済まず,次元数nの整数論的な性質を考慮に入れて個々に調べなければならない難問です.

===================================

【補】アダマール行列

 アダマール行列Hnは+1か−1の要素をもつn×n行列で,その行と列は互いに直交している.各行または列のノルム(各要素の2乗和)はnであるから,  HnHn’=Hn’Hn=nIn

が成り立つ.

  det|nIn|=n^n

より

  det|Hn|=n^n/2

 もっと一般に,各成分が1か−1のn×n行列の行列式はn^n/2以下である.アダマールの定理の証明は,行列式の幾何学的意味を理解すれば簡単である.行列式の絶対値は,n個のそれぞれの長さ√nの行ベクトルが作るn次元平行六面体の体積だから,その値は(√n)^n=n^n/2以下である.等号はベクトル同士が全部直交するときに限る.

 最も簡単なアダマール行列は

  H2 =[1, 1]

     [1,−1]

である.すべての他のアダマール行列はn=4kであることが必要である.

 とくに興味深いのは「直積」

  H4=H2×H2,H8=H2×H2×H2,・・・

によって,H2から得られるn=2^mのシルベスタ型のアダマール行列で,

     [1, 1, 1, 1]

  H4 =[1,−1, 1,−1]

     [1, 1,−1,−1]

     [],−1,−1, 1]

     [1, 1, 1, 1, 1, 1, 1, 1]

     [1,−1, 1,−1, 1,−1, 1,−1]

     [1, 1,−1,−1, 1, 1,−1,−1]

  H8 =[1,−1,−1, 1, 1,−1,−1, 1]

     [1, 1, 1, 1,−1,−1,−1,−1]

     [1,−1, 1,−1,−1, 1,−1, 1]

     [1, 1,−1,−1,−1,−1, 1, 1]

     [1,−1,−1, 1,−1, 1, 1,−1]

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 なお,A(m×n行列)とB(m’×n’行列)の直積(クロネッカー積)は,2つの行列の各要素を直接乗じて作る(mm’×nn’)行列である.直積では第1項の各要素をその項と第2項との積で置き換えることによって定義される.

 両者の成分のすべての積を作り,各要素を(ci'j')=(aijbkl)において,

  i’=i+m(k−1)

  j’=j+n(l−1)

の式にしたがって並べると,

  1≦i≦m,1≦j≦n,1≦k≦m’,1≦l≦n’

より,

  1≦i’≦mm’,1≦j’≦nn’

 また,正方行列X(n×n行列)とY(m×m行列)の直積の固有値は,Xのn個の固有値とYのm個の固有値の積である.テンソルの数学的定義はそれが何であるかよりも座標変換に対していかに振る舞うかによって規定するから,理解しにくいかもしれない.

===================================

====================================