본문 바로가기

공부를 합니다/수학 (mathematics)

선형대수(HYU)_13-14 QR 분할과 함수공간

3.4 Orthogonal Basis and Gram-Schmidt

Orthogonal vectors

  • independent 하기 때문에
  • basis vectors가 될 수 있다.

 

Orthonormal

Orthogonal basis vector를 각각 그 길이로 나누면 orthonormal basis가 된다.

Vector q1,,qn은 다음의 경우 orthonormal하다.
qiTqj={0wheneverij,orthogonality1wheneveri=j,normalization

Orthonormal한 column을 갖는 matrix는 Q로 표기한다.
Q=[q1q2qn]

 

Orthogonal Matrices


Q가 orthonormal column을 가지면 QTQ=I이다.

Orthogonal matrix는 orthonormal column을 갖는 square matrix이다.

  • 그러면 QTQ의 inverse가 된다. QT=Q1
  • Q가 Rectangular matrix인 경우 QTQ의 left inverse

 

Example
Rotation matrix

θ 만큼 이동하는 axes rotation

Q=[cosθsinθsinθcosθ],QT=Q1=[cosθsinθsinθcosθ]

  • Orthogonal: cosθsinθsinθcosθ=0
  • Orthonormal: sin2θ+cos2θ=1

 

Example
Permutation matrix

IfP=[010001100]thenP1=PT=[001100010]

기하학적으로 orthogonal matrix Q는 rotation matrix와 reflection matrix의 곱이다.

 

Projection matrix는 연산하는 vector의 길이를 줄이지만, Rotation, reflection을 비롯한 orthogonal matrix들은 vector의 길이(length)를 보존한다.

Lengths conservationQx=xfor every vector x.

이는 QTQ=I이기 때문에 가능하다. Qx2=(Qx)T(Qx)=xTQTQx=x2

Inner product와 angle 역시 보존된다.

Inner product or angle conservation(Qx)T(Qy)=xTQTQx=xTx

 

Basis를 알고 있으면 이를 조합하여 어떤 vector라도 만들어 낼 수 있다. Basis가 orthonormal basis일 경우 이 과정이 매우 간단해진다.

문제는 basis vector의 coefficients를 찾아내는 것이다.

임의의 vector b에 대해서,
b=x1q1+x2q2++xnqn

식의 양 변에 q1T를 곱하면 왼쪽 항은 qqTb가 되고 오른쪽 항은 x1q1Tq1을 제외하고는 모두 사라진다. q1Tq1=1 이므로

qiTb=xi,since{qiTqj=0,ij1,i=j

그러면 모든 vector b를 다음과 같이 나타낼 수 있다.
b=(q1Tb)q1+(q2Tb)q2++(qnTb)qn

Qx=b 이므로 x=Q1b이다. Q1=QT 이므로 x=QTb로 나타낼 수 있다.

x=QTb=[q1TqnT][b]=[q1TbqnTb]

 

Remark 1

앞서 vector b line a로 projection한 vector를 (aTb/aTa)a로 나타냈었다.

 

aq로 바꾸면
for qi,qiTbqiTqiqi=(qiTb)qi=xiq

(qiTb)qibqi로 projection한 것과 같다.

이 관점에서, b=(q1Tb)q1+(q2Tb)q2++(qnTb)qnb를 각 q에 one-dimensional 하게 projection 한 것의 합으로 볼 수도 있다.

 

Remark 2

QT=Q1이므로 QTQ=I일 뿐만 아니라 QQT=I이다.

이는 Q의 row vector를 각각 inner product 한 것으로 row vector들도 orthogonal하다는 결론을 내릴 수 있다.

즉, square matrix의 column이 orthonormal하면 그 row도 orthonormal하다.

 

Rectangular Matrices with Orthogonal Columns


3단원에서 주로 Rectangular A에 대해서 다뤘으므로 orthonormal한 column을 갖는 rectangular matrix에 대해서도 생각해보자.

Column의 개수보다 row의 개수가 많은 Q는 (m>n) least squares를 이용해서 풀어야한다.

핵심은 여전히 QTQ=I라는 것이다. QT는 여전히 Q의 left-inverse이다.

그러므로 Q가 orthonormal column을 가지면 least-square problem은 보다 쉽게 풀 수 있다.

Qx=brectangular system with no solution for most bQTQx^=QTbnormal equation for the best x^x^=QTbxi^ is qiTbp=Qx^the projection of b is (q1Tb)q1++(qnTb)qnp=QQTbthe projection matrix is P=QQT

QQT=[1000s0100s0s0010s0s0s0s0s0s]=[Imxn0s0s0s]

Example

b=(x,y,z)xy plane에 project

q1=[100]and(q1Tb)=x;q2=[010]and(q2Tb)=y;

P=q1q1T+q2q2T=[100010001],andPb=[xy0](xy plane)

Example

least square problem에서 측정한 시간 값의 average가 0일 때 straight line에 fitting하기 위한 matrix가 orthogonal column을 갖는다.

자세한 내용은 서적 참고.

 

The Gram-Schmidt Process


임의의 independent vector가 a,b,c가 주어졌을 때, 이 vector들을 orthonormal basis라면 굉장히 많은 이점이 생긴다.

Gram-Schmidt process로 vector a,b,c에서 orthonormal vector q1,q2,q3를 얻을 수 있다.

  1. q1은 간단하게 a의 방향으로 두면 된다.

    • 크기는 1이 되도록 a의 길이로 나눠줘야한다.
      q1=aa,unit vector
  2. q2q1에 orthogonal해야 한다.

    • 그러므로 두 번째 vector bq1 방향의 component를 갖고있다면 이를 빼줘야한다.
      Second vectorB=b(q1Tb)q1=(q2Tb)q2andq2=B/B
    • b=(q1Tb)q1+(q2Tb)q2
  3. 동일한 방법으로 q3를 구할 수 있다.
    Third vectorC=c(q1Tc)q1(q2Tc)q2=(q3Tc)q3andq3=C/C

 

이처럼 매번 새로운 vector에서 이미 정해진(settled) 방향의 component를 뺴는 방법을 Gram-Schmidt process라고 한다.

주어진 vector a1,,an에 대해서

Aj=aji=1j1(qiTaj)qi=(qjTaj)qjaj=i=1j(qiTaj)qiqj=AjAjNormalization

  • 계산 과정에서 a_j가 Aj1 안에 놓여있는 것에 가까워 Aj의 크기가 굉장히 작은 경우가 발생한다.
  • 이 경우 해당 벡터는 이미 이 전에 모두 포함되어있다 가정하고 다음 벡터로 넘어가면된다.

 

Exmaple

주어진 independent vector a,b,c로부터 q1,q2,q3를 구해라

a=[101],b=[100],c=[210]

q1=aa=12[100]

$$
B = b - (q_1^Tb)q_1 =
[100]

  • {1 \over \sqrt{2}}
    [12012] =
    {1 \over 2}
    [101]
    $$

q2=BB=12[101]

$$
\begin{matrix}
C &=& {c - (q_1^Tc)q_1 - (q_2^Tc)q_2} \

&=&
[210]

  • \sqrt{2}
    [12012]
  • \sqrt{2}
    [12012] =
    [010]

\end{matrix}
$$

q3=CC=[010]

 

The Factorization A=QR


Column이 a,b,c인 matrix A로부터 q1,q2,q3인 matrix Q를 이끌어냈다.

A로부터 Q를 만들기 위해서는 이 둘을 연결해주는 세 번째 matrix가 존재해야한다.

요점은 a vector들을 q의 조합으로 표현하는 것이다.

위에서 bq1, q2의 합으로, 비슷하게 cq1, q2, q3의 합으로 나타낼 수 있다.

b=(q1Tb)q1+(q2Tb)q2c=(q1Tc)q1+(q2Tc)q2+(q3Tc)q3

이를 matrix의 형태로 나타내면 A를 새로운 factorization A=QR으로 나타낼 수 있다.

QR factorsA=[abc]=[q1q2q3][q1Taq1Tbq1Tcq2Tbq2Tcq3Tc]=QR

  • R은 upper triangle martix로 nonzero가 diagonal의 오른쪽(right)에 위치하기 때문에 R이라고 부른다.
  • QR factorization은 첫 factor Q가 orthonormal column이라는 것을 제외하면 A=LU와 비슷하다.
  • a,B,C의 lenght는 R의 diagonal 성분과 같다.

QR factorization을 이용하면 A의 연산이 쉬워진다.

  • ATA=RTQTQR=RTR
  • ATAx^=ATb가 triangular system으로 간단해진다: RTRx^=RTQTb

 

Function Spaces and Fourier Series


Brief and optional section.

  • Vector space를 function space로 확장.
  • Gram-Schmidt orthogonalization을 function space에 적용.

 

1. Hilbert Space (Function space)

  • n dimensional space RnR\infin로 확장
  • v=(v1,v2,v3,)
  • Finite length를 갖는 vector만 포함, v2=v12+v22+1<\infin
  • Function is defined in a finite interval

Hilbert space는 R\infin 안에 있으면서 vector가 finite length를 갖는 vector space이다.

Vector space of Hilbert space

  • v1+v2v1+v2<\infinadditionR\infin
  • cv1=cv1<\infinscalar multiplicationR\infin

 

2. Lengths and Inner Products

특정 구간에서의 continuous function f는 그 구간 전체에서 연속적인 component f(x)를 갖는 vector로 볼 수 있다.

이 vector의 length는 이전에 사용했던 각 component의 제곱값을 더하는 방식으로는 구할 수 없다. f를 구하기 위해서는 summation 방식을 특정 구간에서의 integration으로 바꿔야한다.

Example

f(x)=sinx0x2π

f(x)2=02π(f(x))2dx=02π(sinx)2dx=π

Summation을 integration으로 대체하는 것을 이용해 두 function의 inner product도 구할 수 있다.

Exmaple

f(x)=sinx, g(x)=cosx

(f,g)=02πf(x)g(x)dx=02πsinx cosxdx=0

 

3. Fourier Series

Series

  • Vector space에 basis vector가 존재한 것 처럼 function space에도 basis function이 존재한다.
  • Basis function이 있으면 각 function x(t)를 basis function의 combination으로 나타낼 수 있다.
  • Function의 경우 combination 대신 series라는 명칭을 쓴다.
    x(t)=i=1\infinaibi(t)

가장 대표적인 예로 1,t,t2,가 function basis이다. 이들은 independent 하지만 orthogonal 하지않다.

Function을 구성하는 orthogonal basis는 대표적으로 sine과 cosine이 있다.

Sine과 cosine을 orthogonal basis function으로 expansion한 function이 Fourier series이다.

f(x)=a0+n=1\infinancosnx+m=1\infinbmsinmx

Orthogonality

m,n 은 정수, (mn,m1m2,n1n2)

02πcosn1t cosn2tdt=1202π(cos(n1+n2)t+cos(n1n2)t)dt=0

동일한 방식으로,

02πcosnt sinmt=002πsinm1t sinm2t=0

 

Coefficients

  • 주어진 basis function에 대해서 특정 function을 나타내는 series coefficients는 unique하다.
  • 특정 function의 coefficient를 알면 해당 function을 재현할 수 있다
  • Coefficients를 구하기 위해서는 양변에 구하려는 coefficient를 갖는 basis를 곱한 다음에 0부터 2π까지 integrate하면 된다.

Example

f(x)=a0+a1cosx+b1sinx+a2cos2x+b2sin2x+

b1을 구하기 위해서는 양 변에 sinx를 곱한 뒤 0부터 2π까지 적분한다.

02πf(x)sinxdx=a002πsindx+a102πcosx sinxdx+b102π(sinx)2dx+

오른쪽 항의 적분값은 자기 자신을 곱한 sinx 항만을 제외하고는 모두 0이된다.

그러므로 b1
b1=02πf(x)sinxdx02π(sinx)2dx=(f,sinx)(sinx,sinx)

 

4. Gram-Schmidt for Functions

Sine과 cosine 외의 basis function이 많지만 주로 orthogonal하지 않다.

가장 간단한 polybomial function 1,x,x2, 역시 orthogonal 하지않아 차수가 높아지면 주어진 function f(x)를 나타내는 matrix를 계산하는것은 불가능에 가깝다.

해결 방법은 Gram-Schmidt를 이용해서 orthogonal한 polynomial basis function을 만드는 것이다.

우선, inverval을 1x1처럼 symmetric하게 잡아준다.

이러면 x의 odd power를 가진 항과 even power를 가진 항이 orthogonal하게 된다.

(1,x)=11xdx=0,(x,x2)=11x3dx=0

Polynomial basis vector 1,x,x2,에 대해서 orthogonal basis를 v1,v2,v3, 라고 하자.

v1=1,v2=x 이다.
(v1,v2)=(1,x)=11xdx=0orthogonal

v3를 구해보면,
v3=x2(1,x2)(1,1)1(x,x2)(x,x)x=x211x2dx111dx=x213

v1,v2와의 inner product를 구해서 확인해보면,

(1,x213)=11(x213)dx=0(x,x213)=11(x313x)dx=0

 

5. Best Straight Line

수업에서 다루지 않음.

 


Summary

Set Hilbert space

x(t)=limΔt0(x(a),x(a+Δt),x(a+2Δt),,x(b))x(t)R\infin

x(t), y(t)H(atb)x(t)+y(t)H,αx(t)H

Inner products
(x(t),y(t))=limΔt0k=0\infinx(a+kΔt)y(a+kΔt)=abx(t)y(t)dt

Length
x(t)2=abx2(t)dt

Orthogonality
(x(t),y(t))=abx(t)y(t)dt=0

Series, Basis functions
x(t)=i=1\infinaibi(t)x(t)=i=1\infin(qi(t),x(t))qi(t),for orthonormal basis