回転のへそ

  • 奇数次元ユークリッド空間における回転は回転軸を持つ(Wiki)
  • 今、上記の方法でk次元空間の回転行列を作る
  • その行列Xdet(X-I)(行列式)がkが奇数のときには0となる
  • このことはx=(X-I)xを満足する自明でない解がkが奇数の時には存在する(そして偶数のときには存在しない)ことを意味する
  • 上記の定義方法で言うことろの回転がkが奇数のときには(単位球面上に)固定点を持ち、kが偶数のときには、『球面上のすべての点は、球面上の自身とは異なる点に移される(1対1対応)』、また、kが偶数のときには『球面上のすべての点に非ゼロのベクトルを与えることができて、そのベクトルによる移動は球面の異なる点への移動を意味し、球面全体から、球面全体へマッピングされる』
  • 回転は回転群で(こちら)やこちら
  • 直交軸の入れ替えだけだと、偶数次元では「対称変換」と「回転変換」の両方の可能性がある
# 正規直交基底をランダムに作る

NormalBase<-function(n){
	I<-X<-diag(rep(1,n))

	thetas<-runif(n*(n-1)/2)*2*pi
	T<-matrix(0,n,n)
	T[lower.tri(T)]<-thetas

	for(i in 1:(n-1)){
		for(j in (i+1):n){
			R<-I
			R[i,i]<-R[j,j]<-cos(T[j,i])
			R[i,j]<-sin(T[j,i])
			R[j,i]<--R[i,j]
			X<-R%*%X
		}
	}
	X
}


for(i in 2:30){
	d<-i # 次元
# 正規直交基底
X<-NormalBase(d)
# 特異値分解すると、繰り返しの処理を実数パラメタのべき乗で処理できる
printed<-paste("i=",i," det=",det(X-diag(rep(1,d))))
print(printed)
}