(某月某日) 「対称行列
を実直交行列によって対角化せよ」という問題の答えの験算をする。
行列を入力して確認する。
a={{0, 1, 1}, {1, 0, -1}, {1, -1, 0}} MatrixForm[a] |
固有値を求める。 Eigenvalues[] を使えば一発で求まるが、 特性多項式も計算しておこう。
Eigenvalues[a] f[x_]:=Det[x IdentityMatrix[3] -a] f[x] Solve[f[x]==0,x] |
固有ベクトルは
{v1,v2,v3}=Eigenvectors[a] |
が求まるが、念のために固有値がそれぞれ , , であることを確認する。
a.v1 a.v1-(-2)v1 a.v2-1 v2 a.v3-1 v3 |
Gram-Schmidt の直交化法によって正規直交基底を求める。
u1=v1/Norm[v1] u2=v2/Norm[v2] |
vv3=v3-v3.u2 u2 v2.vv3 u3=vv3/Nomr[vv3] |
これを並べた行列 を作って表示し、 を計算して固有値が対角線に並んだ対角行列になっていることを確認する。
u=Transpose[{u1,u2,u3}] MatrixForm[u] d=Simplify[Transpose[u].a.u] MatrixForm[d] |
桂田 祐史