■平行体の体積とグラミアン(その37)

 平行体の体積は

[1]漸化式

[2]行列式(グラミアン)

で与えられるが,正月休みに[2]のいい方法はないかと考えていたのだが断念.

 n次元基本単体(n+1胞体)をn−1回切頂・切稜すると2n胞体ができる.2次元ではこの分解体の体積を求めることは簡単であるが,3次元では結構大変な作業となる.すべての辺の長さを求めて,適宜組み合わせて体積を計算する作業はn!のオーダーになるので,次元が高くなるにつれて[2]は大変難しくなるのである.

 とりあえす[1]の方法で体積計算することにしたのだが,[1]だけでは計算の正しさを確認することができない.[1][2]の2通りに計算することは家計簿つけのシーンに喩えられる.まず行ごとの合計を求めてそれを総計する.次に列ごとの合計を求めてそれを総計する.そして計算が正しければその2つの計算結果は一致するというわけである.

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

【1】置換多面体の場合

[1]切頂・切稜点

  P0(0,・・・,0)

  P1(a1,0,・・・,0)

  P2(a1,a2,0,・・・,0)

  ・・・・・・・・・・・・・

  Pn(a1,・・・,an)

  aj=√(1/2j(j+1))

  xj/aj=yj,y0=1,yn=0(xn=0)

とおく.

  1/aj-1^2+1/aj^2=2(j−1)j+2j(j+1)=(2j)^2

より

  (yj-1−yj)/(1/aj-1^2+1/aj^2)^1/2=(yj−yj+1)/(1/aj^2+1/aj+1^2)^1/2

  (yj-1−yj)/2j=(yj−yj+1)/2(j+1)

となる.

 点Q(x1,x2,・・・,xn-1,0)から,

  x1=a1平面

  x1/a1−x2/a2=0平面

  ・・・・・・・・・・・・・・・

  xn-2/an-2−xn-1/an-1=0平面

までの距離が等しいことより,

  (y0−y1)=(y1−y2)/2=(y2−y3)/3=・・・=(yn-2−yn-1)/(n−1)=(yn-1−yn)/n

  2(y0−y1)=(y1−y2)

  3(y1−y2)=2(y2−y3)

  4(y2−y3)=3(y3−y4)

  ・・・・・・・・・・・・・・・

  (n−1)(yn-3−yn-2)=(n−2)(yn-2−yn-1)

  n(yn-2−yn-1)=(n−1)(yn-1−yn)

 第x行まで足しあわせて整理すると

  2(y0−yn-1)=(n−1)(yn-1−yn)→yn-1=(2y0+(n−1)yn)/(n+1)

  2(y0−yn-2)=(n−2)(yn-2−yn-1)→yn-2=(2y0+(n−2)yn-1)/n

  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

  2(y0−y2)=2(y2−y3)→y2=(2y0+2y3)/4

  2(y0−y1)=(y1−y2)→y1=(2y0+y2)/3

 具体的には

  yn-1=2/(n+1)

  yn-2=(2+2(n−2)/(n+1))/n=2(2n−1)/n(n+1)

  yn-3=2(1+(n−3)(2n−1)/n(n+1))/(n−1)=2(2n−1)/n(n+1)=6(n−1)/n(n+1)

となるが,

  yj=(2+jyj+1)/(j+2)

のままにしておく.ともあれ,これで置換多面体の体積計算の基点だけは求まったことになる.

[2]中心から各面までの距離

  Pn(a1,・・・,an)

  aj=√(1/2j(j+1))

と切頂切稜面の距離を求める.

 2次元正単体の場合,

  P2(1/2,√(1/12))=(a1,a2)

  P1(1/2,0)

  P0(0,0)

3次元正単体の場合,

  P3(1/2,√(1/12),√(1/24))=(a1,a2,a3)

  P2(1/2,√(1/12),0)

  P1(1/2,0,0)

  P0(0,0,0)

 切頂切稜面はPkPnに垂直で,点

  Q=(x1,・・・,xn)=(a1y1,・・・,anyn)

を通る.

PnP0=(−a1,−a2,・・・,−an)

PnP1=(0,−a2,−a3,・・・,−an)

PnPn-1=(0,・・・,0,−an)

 ファセットを定めている不等式は,

  a・x=c

で与えられる.一般に,超平面a・x=cと点x0の距離は

  |a・x0−c|/‖a‖

とくに,原点からファセットまでの距離は|c|/‖a‖となる.

 PnP0に垂直なn次元超平面が点Qを通るのだが,原点をPnに移した方が紛らわしくないので

  a=(−a1,−a2,・・・,−an)

  q=(x1−a1,x2−a2,x3−a3,・・・,xn−an)

とすると,この超平面をa・(x−q)=0,a・x=a・q=cで表すと

  c0=−(a1x1+・・・+anxn)+(a1^2+・・・+an^2)

  c0=−(a1^2y1+・・・+an^2yn)+(a1^2+・・・+an^2)

  h0=|c0|/‖a‖,‖a‖=(a1^2+・・・+an^2)^1/2

 PnP1に垂直なn次元超平面では

  a=(0,−a2,・・・,−an)

  c1=−(a2x2+・・・+anxn)+(a2^2+・・・+an^2)

  c1=−(a2^2y2+・・・+an^2yn)+(a2^2+・・・+an^2)

  h1=|c1|/‖a‖,‖a‖=(a2^2+・・・+an^2)^1/2

 PnPn-1に垂直なn次元超平面では

  a=(0,・・・,0,−an)

  cn-1=−anxn+an^2=−an^2yn+an^2

  hn-1=|cn-1|/‖a‖,‖a‖=(an^2)^1/2

  ‖ak‖^2=1/2(k+1)(k+2)+・・・+1/2n(n+1)=1/2(1/(k+1)−1/(n+1))=(n−k)/2(k+1)(n+1)

 辺の長さを1に規格化する.

  Hk=hk/2|x1−a1|=hk/|1−y1|

原正多胞体の面数公式を

  Nk^(n)=n+1Ck+1

とすると,置換多面体の体積公式は

  Vn=(N0Vn-1H0+N1Vn-2H1+・・・+Nn-2Vn-2Hn-2+Nn-1Vn-1Hn-1)/n

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

【2】正軸体版の場合

[1]切頂・切稜点

 n次元正軸体の頂点の座標は

  (1,0,・・・,0)

  (0,1,・・・,0)

  ・・・・・・・・・・・

  (0,0,・・・,1)

で与えられるから,基本単体の座標はk次元面の重心をとることによって,

  p0(1,0,・・・,0)

  p1(1/2,1/2,0,・・・,0)

  p2(1/3,1/3,1/3,0,・・・,0)

  ・・・・・・・・・・・・・・・・

  pn-1(1/n,1/n,1/n,・・・,1/n)

  pn(0,0,・・・,0)

 3次元の場合,x≧y≧z≧0なる点P(x,y,z)が与えられたとき,ずべての稜線の長さが等しくなるのは,点P(x,y,z)からx=y平面,y=z平面,z=0平面までの距離を等しくとると

  (x−y)/√2=(y−z)/√2=z

 → y=z+√2z

   x=y+√2z=z+2√2z

これらは,x+y+z=1上の点であるから代入すると,

  3z+3√2z=1 → z=1/(3+3√2)

また,点P(x,y,z)のz=0平面に対する鏡映は(x,y,−z)であるから,辺の長さは2z.

 4次元の場合は,点P(x,y,z,w)からx=y平面,y=z平面,z=w平面,w=0平面までの距離を等しくとると

  (x−y)/√2=(y−z)/√2=(z−w)/√2=w

 → z=w+√2w

   y=z+√2w=w+2√2w

   x=y+√2w=w+3√2w

これらは,x+y+z=1上の点であるから代入すると,

  4w+6√2w=1 → w=1/(4+6√2)

また,点P(x,y,z,w)のw=0平面に対する鏡映は(x,y,z,−w)であるから,辺の長さは2w

 一般には,S=n(n−1)/2として

 → nω+S√2ω=1,ω=1/(n+S√2)

   x=(1+(n−1)√2)ω,y=(1+(n−2)√2)ω,z=(1+(n−3)√2)ω,・・・,ω=ω

となることが理解される.

[2]中心から各面までの距離

 切頂切稜面はPkPnに垂直で,点

  Q=(x1,・・・,xn),x1=x,x2=y,・・・,xn=ω

を通る.

PnP0=(1,0,・・・,0)

PnP1=(1/2,1/2,0,・・・,0)

PnPn-1=(1/n,・・・,1/n,1/n)

 ファセットを定めている不等式は,

  a・x=c

で与えられる.一般に,超平面a・x=cと点x0の距離は

  |a・x0−c|/‖a‖

とくに,原点からファセットまでの距離は|c|/‖a‖となる.

 PnP0に垂直なn次元超平面が点Qを通るので,

  a=(1,0,・・・,0)

  q=(x1,x2,x3,・・・,xn)

とすると,この超平面をa・(x−q)=0,a・x=a・q=cで表すと

  c0=x1

  h0=|c0|/‖a‖,‖a‖=(1^2)^1/2

 PnP1に垂直なn次元超平面では,辺心は

  a=(1/2,1/2,0,・・・,0)

  c1=(x1+x2)/2

  h1=|c1|/‖a‖,‖a‖=((1/2)^2+(1/2)^2)^1/2=1/√2

 PnPn-1に垂直なn次元超平面では,胞心は

  a=(1/n,・・・,1/n,1/n)

ここには切頂・切稜は施されないので,胞心面までの距離は1/√nであるが,同様に

  cn-1=(x1+x2+・・・+xn)/n=1/n

  hn-1=|cn-1|/‖a‖,‖a‖=((1/n)^2+・・・+(1/n)^2)^1/2=1/√n

  ‖ak‖^2=1/√k

 辺の長さを1に規格化する.

  Hk=hk/2ω=hk/(2n+n(n−1)√2)

原正多胞体の面数公式を

  Nk^(n)=2^(k+1)nCk+1

とすると,正軸体版の体積公式は

  Λn=(N0Λn-1H0+N1Λn-2H1+・・・+Nn-2Vn-2Hn-2+Nn-1Vn-1Hn-1)/n

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