det=+1の直交行列を作る〜リー群の寄り道〜
- リー群とリー代数では、リー代数に正方行列があって、リー群はその行列の指数関数という関係があった
- その話の中で、リー代数の方の正方行列が反対称行列であるとき、対応する指数行列はdet=+1の直交行列になる、という関係があった
- じゃあ、適当に反対称行列を作って、その指数行列を作れば、それで適当なdet=+1の直交行列が作れるね、ということになる
- やってみる
n <- 4 A <- matrix(rnorm(n^2),n,n) A2 <- A + t(A) A3 <- A2 A3[upper.tri(A3)] <- -A3[upper.tri(A3)] diag(A3) <- 0 library(expm) A4 <- expm(A3) A4 %*% t(A4)
- ちなみにGPArotationパッケージのRandom.Start()関数はQRdecompositionを使って、回転行列をランダムに作っている
library(GPArotation) B4 <- Random.Start(n) B4 %*% t(B4)