直交化#

直交化#

正規直交系#

定義(正規直交系)

内積空間 V において、 Vm 個のベクトル a1,,amai,aj=δij すなわち ai,aj={1(i=j)0(ij) をみたすとき、 正規直交系 という。

定理

正規直交系は1次独立である。

証明

a1,,am を正規直交系とする。 いま,

c1a1++cmam=0

とすると,任意の i (1im) について, ai,0=0 であるから,

0=ai,0=ai,c1a1++cmam=j=1mcjai,aj()=ciai,ai(ai,ai=1)=ci

よって, a1,,am は 1 次独立である。

定義(正規直交基底)

正規直交系である基底のことを 正規直交基底 という。

シュミットの正規直交化法#

シュミットの正規直交化法は、内積空間Vにおいて1次独立なベクトルの系a1,,arが与えられたとき、正規直交系v1,,vrを作り出す方法。

まずa10より、

v1=a1a1

とおけば、v1=1となる

つづいて、a2cv1, cR とおく。 a2cv1,v1=0v1と直交する)とおいて、このcを求める。

a2cv1,v1=a2,v1cv1,v1=0

より

c=a2,v1v1,v1=a2,v1

となる。a1a2は1次独立であり、v1a1のスカラー倍であるから、a2cv0である。 そこで

v2=a2cv1a2cv1

とおけば、

v1,v2=0,v2=1

となる。ここで a1a2 の生成するベクトル空間と v1v2 の生成するベクトル空間は一致している。

3番目のベクトルa3について、c1=a3,v1,c2=a3,v2とおくと、

a3(c1v1+c2v2),vi=0(i=1,2)

となる。

仮定よりa1,a2,a3は1次独立であり、v1,v2a1,a2の1次結合で書き表されるから、a3(c1v1+c2v2)0である。 よって

v3=a3(c1v1+c2v2)a3(c1v1+c2v2)

とすれば、

v3,vi=0(i=1,2)v3=1

である。 以下この操作を続ければよい。

厳密には、帰納法を使う

1k<r なる k に対して 正規直交系 v1,,vk が存在して 1ik なる任意の i に対して v1,,vi が生成するベクトル空間と a1,,ai が生成 するベクトル空間が一致すると仮定する。すなわち

S[v1,,vi]=S[a1,,ai](i=1,,k)

そのとき

ci=ak+1,vi(i=1,,k)

とおくと

ak+1i=1kcivi,vj=0(j=1,,k)

である。 仮定より a1,,ak,ak+1 が 1次独立で、帰納法の仮定で v1,,vka1,,ak の 1 次結合で表わされるから、

ak+1i=1kcivi0

よって

vk+1=ak+1i=1kciviak+1i=1kcivi

とおくと、

vk+1,vj=0(j=1,,k),vk+1=1

となる。帰納法の仮定と vk+1 の定義の式から、vk+1a1,,ak+1 の1次結合で表わされ、同じ式から ak+1v1,,vk+1 の 1次結合で表わされるから、

S[v1,,vk+1]=S[a1,,ak+1]

が成り立つ。

定理

内積空間 V の任意の部分空間 W は正規直交基底をもつ。とくに V は正規直交基底をもつ。

証明

W の基底 a1,,ar をとり、これをシュミットの正規直交化法で正規直交系 v1,,vr をつくると

S[v1,,vr]=S[a1,,ar]=W

であるから、v1,,vrW の正規直交基底である。 とくに W=V のときが定理の後半の主張である。

# 例
import numpy as np

a1 = np.array([1, 1, 1])
a2 = np.array([0, 1, 1])
a3 = np.array([0, 0, 1])

v1 = a1 / np.linalg.norm(a1)
c = a2 @ v1
v2 = (a2 - c * v1) / np.linalg.norm(a2 - c * v1)

c1 = a3 @ v1
c2 = a3 @ v2
v = a3 - (c1 * v1 + c2 * v2)
v3 = (v) / np.linalg.norm(v)

np.array([v1, v2, v3]).T.round(1)
array([[ 0.6, -0.8, -0. ],
       [ 0.6,  0.4, -0.7],
       [ 0.6,  0.4,  0.7]])

Note

異なる固有値に属する固有ベクトルと行列の列ベクトルは直交しているのでcが0になる → それぞれの固有ベクトルxx/xを求めればいい

例:

A=(3223)

とする。固有値はλ=1,5であり、それぞれの固有値に対応する固有空間V(λ)

V(1)={c(11)|cR}V(5)={c(11)|cR}

固有ベクトルとして

x1=(11),x2=(11)

を用いて正規直交化すると、まずx1

p1=x1x1=12(11)

と直交化される。

またAの列ベクトルをa1,a2とおくと

c=a2,p1=2(12)+312=22+32=12
import sympy as sp

A = sp.Matrix([
    [3, 2],
    [2, 3]
])

eig = A.eigenvects()
x1 = eig[0][2][0]
x2 = eig[1][2][0]

a1 = A[:, 0]
a2 = A[:, 1]

p1 = x1 / x1.norm()
c = (a2.T @ p1)[0]
c
22
P = sp.Matrix(sp.GramSchmidt([x1, x2])).reshape(2,2).T
P
[1111]
P.inv()
[12121212]

計量を保つ写像#

2つの計量ベクトル空間(内積空間)V,V の間の線形写像 f:VV が, 任意の x,y V に対して等式

f(x),f(y)=x,y

を満たすとき, f計量を保つ, または 内積を保つ という。

また、f計量同型写像 であるという。

直交変換#

V=Vのとき、計量同型写像f:VV直交変換 という。

定理

V を計量ベクトル空間, a1,,anV の 1組の正規直交基底とする。線形変換 f:VV に関して、次の 2 つの条件は同値である。

(1) f は直交変換

(2) f(a1),,f(an)V の正規直交基底である

証明

(1)(2)f は直交変換であるから

f(ai),f(aj)=ai,aj=δij(1i,jn)

となる。つまり, f(a1),,f(an)V の正規直交系である。定理よりこれらは 1 次独立であり、

dimV=n

であるので、f(a1),,f(an) は正規直交基底である。

(1)(2)V の任意のべクトル x,y

x=x1a1++xnan,y=y1a1++ynan

と表わすとき、定理より

x,y=x1y1++xnyn

である。また、f は線形写像であるから

f(x)=x1f(a1)++xnf(an),f(y)=y1f(a1)++ynf(an)

であり,仮定より f(a1),,f(an) は正規直交基底であるから,

f(x),f(y)=x1y1++xnyn

となる. よって等式

f(x),f(y)=x,y

が成り立つ。

直交行列#

n次正方行列A

ATA=AAT=E

を満たすとき(つまりAT=A1)のとき、Aを直交行列という。

定理

An 次正方行列とするとき, 次の 5 つの条件は同値である. ただし, Rn には標準的内積を考える。

(1) A は直交行列である。

(2) A の列ベクトル全体は Rn の正規直交基底である。

(3) A の行ベクトル全体は Rn の正規直交基底である。

(4) A:RnRn は計量を保つ。例えばx,yRnに対し、Ax,Ay=x,y

(5) A:RnRn は長さを保つ。例えばxRnに対し、Ax=x

証明

n 次正方行列 A が与えられたとき、A=(a1,,an)=(a1an) をそれぞれ A の列ベクトル表示、行ベクトル表示とする。

(1) (2): $A は直交行列 ATA=EaiTaj=ai,aj=δij(1i,jn)(ATA の (i,j) 成分が aiTaj であるから )a1,,an は Rn の正規直交基底 $

(2) (4):

Rn の標準基底 e1,,en は, Rn の標準的な内積に関して正規直交基底である。そして

Ae1=a1,,Aen=an

であるから,定理より次の同値が成り立つ。 A:RnRn は直交変換 a,,aRn の正規直交基底