- 駆け足で読む『数学をいかに使うか』の目次はこちら
- エルミート行列は次の性質を持つことから、有用
- エルミート行列の固有値は全て実数である。
- 正値エルミート行列(対応するエルミート形式あるいは複素二次形式が正定値)の固有値は全て正の実数である。
- エルミート行列はあるユニタリー行列で対角化可能である。
- 複素行列とその複素共役・転置
- 複素数を成分とする行列Aを考える
- 複素共役で置き換えた行列 (Conj(A))
\bar{A}
^t(\bar{A})=\bar{^tA}=A^*
\bar{AB}=\bar{A}\bar{B}
(AB)^*=B^*A^*
n<-3
m<-4
A<-matrix(complex(real = rnorm(n*m), imaginary = rnorm(n*m)),ncol=n)
Ac<-Conj(A)
t(Ac)
Conj(t(A))
t(Ac)-Conj(t(A))
B<-matrix(complex(real = rnorm(n*m), imaginary = rnorm(n*m)),ncol=n)
Conj(A%*%t(B))
Conj(A)%*%Conj(t(B))
Conj(A%*%t(B))-Conj(A)%*%Conj(t(B))
t(Conj(A%*%t(B)))-t(Conj(t(B)))%*%t(Conj(A))
- Hermite行列とユニタリー行列
- であるような(n次)正方行列を(n次)Hermite行列という
- であるようなn次ユニタリー行列という
- 定理2.1. n次Hermite行列Hに対してn次ユニタリー行列Tとn個の実数を取ってとすることができる。このの集合(取り方)はTの取り方によらずHに対して定まる
- こののセットは固有値全体である
- 複素数正方行列を用いてとすると(大概の場合)はHermite行列になり、それを固有値分解してとすることでであり、はユニタリー行列(である
n<-5
A<-matrix(complex(real = rdirichlet(1,rep(1,n^2)), imaginary = rdirichlet(1,rep(1,n^2))),ncol=n)
AA<-t(Conj(A))%*%A
e.out<-eigen(AA)
e.out[[2]]%*%diag(e.out[[1]])%*%t(Conj(e.out[[2]]))-AA
La<-e.out[[1]]
B<-e.out[[2]]
BB<-t(Conj(B))%*%B
Lb<-eigen(BB)[[1]]
Lb
- 定理2.2. n次Hermite行列Hが正値定符号(positive definite)であるためにはHの固有値がすべて正であることが必要かつ十分である。ただし、正値定符号であるとは、であるようなn次元複素成分タテベクトルについてが常に正であることを言う。ここでをHermite形式と呼ぶ
- 定理2.3. n次正値定符号Hermite行列の全体をとすると、とその正の整数乗はの要素であってととは1対1対応する(mが正の整数でなくてもよさそうだが…まだ、行列の正のs整数乗以外の話が出てきていないので、ここでは正の整数にしているのだろうか)
- 定理2.4. 一般線形群に属するA()は、任意のn次正値定符号Hermite行列Hに対して
- 定理2.5. n次正値定符号Hermite行列に対して、常に
- 定理2.6. n次正方行列ならば、常に
- n次元平行体の体積は、全ベクトルが相互に直交するときに最大となることを(も)示している
- 線形代数と群・環・体
- 群Gの部分集合AとGの要素xについて、とし、Ax,xAyなども同様に定める
- 群G,G'がありGからG'への写像があり、に対してであるとき、をGからG'への準同型写像(homomorphism)と呼ぶ
- がG'の単位元へと移すGの元をのカーネルと言う。
- のカーネルはGの部分群となる。
- ならば、はGからG'への同型写像(isomorphism)と言い、GはによってG'と同型であると言う
- Hermite行列の集合は一般線形群の部分群で、ユニタリー行列の集合は特殊線形群の部分群
- 行列操作は、ある形の行列をある形の行列に変化させる。その「移し具合」の特徴表現として、準同型・同型、正規部分・部分などが用いられる
H^*=H
TT^*=1_n
THT^{-1}=diag\[\lambda_1,\lambda_2,...,\lambda_n\]
x^*Hx=\sum_{i=1}^n \sum_{j=1}^n h_{ij}\bar{x_i}x_j
A\in GL_n(\mathbf{C})
det{H} \le \prod_{i}^n h_{ii}
- ランダムに複素正方行列を作成して、上述の定理が満足されていることを確認してみる
library(MCMCpack)
n<-3
Niter<-100
dets<-rep(0,Niter)
dets2<-rep(1,Niter)
seichiteihugou<-rep(TRUE,Niter)
for(i in 1:Niter){
A<-matrix(complex(real = rdirichlet(1,rep(1,n^2)), imaginary = rdirichlet(1,rep(1,n^2))),ncol=n)
eigen.out<-eigen(t(Conj(A))%*%A)
print(eigen.out[[1]])
seichiteihugou[i]<-prod(eigen.out[[1]]>0)
dets[i]<-prod(eigen(A)[[1]])
dets2[i]<-prod(apply(abs(A)^2,2,sum))
}
plot(dets2-abs(dets)^2)
herm<-rep(0,Niter)
AA<-t(Conj(A))%*%A
for(i in 1:Niter){
x<-c(rdirichlet(1,rep(1,n)))
herm[i]<-t(Conj(x))%*%AA %*%x
}
range(sort(Re(herm)))