푸리에 해석의 핵심 생각은 '함수도 벡터처럼 내적을 가지고, 사인·코사인은 서로 수직인 기저'라는 것입니다. 이 장은 그 생각에 필요한 선형대수(기저, 내적, 정규직교, 사영)를 모아 둔 요약입니다. 선형대수 과목의 2·12·13·14장을 함수에 적용한다고 보면 됩니다.
이 장의 결론은 한 문장입니다. 정규직교기저에서는 좌표가 내적으로 구해집니다. 푸리에 급수의 계수 공식, 푸리에 변환의 정의, 파세발 등식은 모두 이 문장의 다른 모습입니다. 행렬을 처음 보는 사람을 기준으로 씁니다.
3.1 벡터
수 n개를 세로로 늘어놓은 것을 벡터(vector)라 하고, 그런 벡터 전체를 성분이 실수이면 Rn, 복소수이면 Cn이라 씁니다.
벡터로 할 수 있는 일은 두 가지, 덧셈과 스칼라배(수를 곱하기)다. R2, R3의 벡터는 화살표로 그릴 수 있지만 n이 크면 그림은 없고 계산만 남습니다. 길이 N인 디지털 신호 x[0],x[1],…,x[N−1]은 그대로 CN의 벡터입니다. 1초 분량의 CD 음질 소리는 R44100의 벡터 하나입니다.
3.2 벡터공간
덧셈과 스칼라배가 가능하고 익숙한 계산 법칙이 성립하는 집합을 통틀어 벡터공간이라 합니다.
정의 3.1. 집합 V에 덧셈 x+y∈V와 스칼라배 cx∈V (c∈C)가 정의되어 다음을 만족하면 V를 (복소) 벡터공간(vector space)이라 합니다.
x+y=y+x, (x+y)+z=x+(y+z)
영벡터 0이 있어 x+0=x, 각 x에 −x가 있어 x+(−x)=0
1x=x, a(bx)=(ab)x
a(x+y)=ax+ay, (a+b)x=ax+bx
예제 3.2. (a) CN. (b) 차수가 n 이하인 다항식 전체. (c) 구간 [0,T]에서 정의된 함수 전체: (x+y)(t)=x(t)+y(t), (cx)(t)=cx(t)로 두면 위 법칙이 모두 성립합니다.
(c)가 요점입니다. 함수도 벡터입니다. “화살표”라는 그림을 버리고 “더할 수 있고 상수배할 수 있는 것”으로 벡터를 이해하면, 유한차원에서 증명한 정리들이 함수에도 적용됩니다. 벡터 x∈CN은 첨자 n에 값 xn을 대응시키는 것이고, 함수는 실수 t에 값 x(t)를 대응시키는 것입니다. 첨자가 이산적이냐 연속적이냐의 차이뿐입니다.
3.3 선형결합, 기저, 좌표
정의 3.3. 벡터 v1,…,vK와 수 c1,…,cK에 대해 c1v1+⋯+cKvK를 선형결합이라 합니다. 선형결합으로 만들 수 있는 벡터 전체를 span{v1,…,vK}라 씁니다.
정의 3.4.c1v1+⋯+cKvK=0이 되는 경우가 c1=⋯=cK=0뿐이면 v1,…,vK는 일차독립(linearly independent)이라 합니다.
일차독립이 아니면 어느 한 벡터를 나머지의 선형결합으로 쓸 수 있습니다. 즉 그 벡터는 없어도 되는 군더더기입니다.
정의 3.5.V의 벡터들 b1,…,bn이 (i) 일차독립이고 (ii) V 전체를 생성하면(span=V) V의 기저(basis)라 합니다. 기저의 벡터 개수 n을 V의 차원(dimension)이라 합니다.
정리 3.6.b1,…,bn이 기저이면 모든 x∈V는 x=c1b1+⋯+cnbn으로 단 한 가지 방법으로 쓸 수 있습니다. 수 c1,…,cn을 이 기저에 대한 x의 좌표(coordinates)라 합니다.
증명. 쓸 수 있다는 것은 (ii)다. 두 가지로 쓰였다면 ∑ckbk=∑ck′bk에서 ∑(ck−ck′)bk=0이고 (i)에 의해 ck=ck′입니다. ■
예제 3.7.R2의 표준기저는 e1=(01), e2=(10)이고 (x2x1)=x1e1+x2e2입니다. 성분이 곧 좌표입니다. 다른 기저 b1=(11), b2=(−11)을 쓰면 x=(15)의 좌표는 c1(11)+c2(−11)=(15), 즉 연립방정식 c1+c2=5, c1−c2=1을 풀어 c1=3, c2=2입니다.
같은 벡터라도 기저를 바꾸면 좌표가 바뀝니다. 벡터 자체는 그대로이고 기술하는 언어가 바뀌는 것입니다. 푸리에 변환은 “시각별 값”이라는 좌표를 “주파수별 성분”이라는 좌표로 바꾸는 기저 변환입니다. 그런데 위 예제에서 보듯 일반적인 기저에서 좌표를 구하려면 연립방정식을 풀어야 합니다. 미지수가 N개면 품이 많이 듭니다. 내적이 이 문제를 없애 줍니다.
3.4 행렬과 선형변환
정의 3.8.m행 n열로 수를 늘어놓은 것을 m×n행렬(matrix)이라 합니다. 행렬 A의 열을 a1,…,an이라 할 때, 행렬과 벡터의 곱은
Ax=x1a1+x2a2+⋯+xnan
으로 정의합니다. 성분으로 쓰면 (Ax)i=∑k=1nAikxk입니다.
행렬 곱하기 벡터는 행렬의 열들을 벡터의 성분으로 선형결합한 것입니다. 이 관점이 가장 중요합니다.
예제 3.9.
(111−1)(32)=3(11)+2(1−1)=(51)
예제 3.7과 같은 계산입니다. 연립방정식 c1+c2=5, c1−c2=1은 행렬로 Bc=x 한 줄이 됩니다.
정의 3.10. 함수 L:V→W가 L(ax+by)=aL(x)+bL(y)를 만족하면 선형변환(선형 연산자)이라 합니다.
x↦Ax는 선형변환이고, 거꾸로 Cn→Cm의 모든 선형변환은 어떤 행렬의 곱입니다(표준기저 ek의 상 L(ek)를 k번째 열에 적으면 됩니다). 함수공간에서는 미분 x↦x′, 적분, 시간 이동 x(t)↦x(t−t0), 그리고 푸리에 변환 자체가 선형변환입니다.
행렬의 곱 AB는 “B를 먼저 하고 A를 하는” 합성 변환의 행렬입니다: (AB)x=A(Bx). 성분은 (AB)ik=∑lAilBlk입니다. 일반적으로 AB=BA입니다. 단위행렬 I는 대각선이 1이고 나머지가 0인 행렬로 Ix=x입니다. AA−1=A−1A=I인 행렬 A−1을 역행렬이라 합니다. 역행렬이 있으면 Ax=b의 해는 x=A−1b입니다. 2×2에서는
(acbd)−1=ad−bc1(d−c−ba)(ad−bc=0)
입니다.
기저 변환을 행렬로 쓰면. 기저 벡터를 열로 세운 행렬 B=(b1⋯bn)에 대해
x=Bc(좌표→벡터, 합성),c=B−1x(벡터→좌표, 분석)
입니다. 좌표를 구하는 일이 역행렬을 구하는 일과 같습니다. 일반적으로 역행렬 계산은 비싸입니다. 다음 절부터 볼 정규직교기저에서는 B−1이 B를 뒤집어 켤레만 취하면 되는 행렬이 됩니다.
3.5 내적
Rn에서 내적(점곱)은 x⋅y=∑nxnyn입니다. 길이는 ∥x∥=x⋅x이고, 두 벡터 사이의 각 θ에 대해 x⋅y=∥x∥∥y∥cosθ입니다. 내적이 0이면 수직입니다. 내적은 “x 안에 y 방향 성분이 얼마나 있는가”를 잽니다.
복소수 벡터에서는 그대로 쓰면 안 됩니다. x=(j1)이면 x12+x22=1+j2=0이 되어 영벡터가 아닌데 길이가 0이 됩니다. 길이의 제곱은 ∣x1∣2+∣x2∣2=x1x1∗+x2x2∗여야 하므로 한쪽에 켤레를 붙입니다.
정의 3.11.CN의 (표준) 내적(inner product)과 노름(norm)은
⟨x,y⟩=n=1∑Nxnyn∗,∥x∥=⟨x,x⟩=(n∑∣xn∣2)1/2
예: x=(1,i)이면 ∥x∥2=∣1∣2+∣i∣2=2입니다. 켤레를 붙이지 않고 12+i2=0으로 계산하면 영이 아닌 벡터의 길이가 0이 되어 버립니다. 복소수 내적에 켤레가 들어가는 이유입니다.
입니다.
일반적으로, 벡터공간 V의 두 벡터에 복소수 ⟨x,y⟩를 대응시키는 규칙이 다음 세 가지를 만족하면 내적이라 합니다.
(첫째 자리 선형) ⟨ax+bz,y⟩=a⟨x,y⟩+b⟨z,y⟩
(켤레 대칭) ⟨y,x⟩=⟨x,y⟩∗
(양의 정부호) ⟨x,x⟩≥0이고, ⟨x,x⟩=0이면 x=0
(1)과 (2)에서 둘째 자리는 켤레 선형이 됩니다: ⟨x,ay⟩=a∗⟨x,y⟩. 둘째 자리에서 상수를 꺼낼 때 켤레가 붙는 것을 잊지 않습니다. 내적이 주어진 벡터공간을 내적공간(inner product space)이라 합니다. 앞으로의 정리는 모두 이 세 공리만으로 증명되므로 어떤 내적공간에서든 성립합니다.
참고 3.12. 물리학 책은 켤레를 첫째 자리에 붙입니다(⟨x∣y⟩=∑xn∗yn). 내용은 같고 자리만 바뀝니다. 여기의 관례에서는 푸리에 변환의 e−jωt의 음부호가 “둘째 자리의 켤레”에서 나옵니다.
3.6 코시–슈바르츠 부등식
정리 3.13 (피타고라스).⟨x,y⟩=0이면 ∥x+y∥2=∥x∥2+∥y∥2입니다.
증명.∥x+y∥2=⟨x+y,x+y⟩=∥x∥2+⟨x,y⟩+⟨y,x⟩+∥y∥2이고 가운데 두 항이 0입니다. ■
정리 3.14 (코시–슈바르츠).∣⟨x,y⟩∣≤∥x∥∥y∥입니다. 등호는 한 벡터가 다른 벡터의 상수배일 때만 성립합니다.
증명.y=0이면 양변이 모두 0이므로 성립합니다. 아니면 c=⟨x,y⟩/∥y∥2으로 두고 x를 cy와 나머지 r=x−cy로 나눕니다. ⟨r,y⟩=⟨x,y⟩−c∥y∥2=0이므로 피타고라스 정리에서
∥x∥2=∥cy∥2+∥r∥2≥∣c∣2∥y∥2=∥y∥2∣⟨x,y⟩∣2
입니다. 등호는 r=0, 즉 x=cy일 때입니다. ■
여기서 쓴 cy가 곧 “x의 y 방향 성분”(정사영)입니다. 이 부등식은 불확정성 원리(13장)의 증명에서 다시 씁니다.
정의 3.16.⟨x,y⟩=0이면 x와 y는 직교(orthogonal)한다고 합니다. 벡터들 e1,…,en이 ⟨ek,em⟩=δkm을 만족하면(서로 직교하고 길이가 각각 1) 정규직교(orthonormal)라 하고, 이들이 기저이면 정규직교기저(orthonormal basis)라 합니다.
정리 3.17 (좌표 공식).e1,…,en이 정규직교기저이면 모든 x에 대해
x=k=1∑nckek,ck=⟨x,ek⟩
입니다.
증명. 기저이므로 x=∑kckek인 ck가 있습니다. 양변을 em과 내적하면
⟨x,em⟩=k∑ck⟨ek,em⟩=k∑ckδkm=cm
입니다. ■
연립방정식을 풀 필요가 없습니다. 직교성 때문에 m번째 좌표를 구할 때 다른 기저 벡터들이 모두 0으로 걸러집니다. 이 두 줄짜리 증명이 푸리에 해석에서 가장 중요한 계산입니다. 푸리에 급수의 계수 공식(5장), 역 DFT(4장)에서 글자만 바꿔 똑같이 반복합니다.
기저를 돌린 각과 벡터 x를 바꾸면 좌표 c₁, c₂와 정사영이 바뀝니다
이 위젯은 JavaScript가 필요합니다
따름정리 3.18 (직교기저).b1,…,bn이 서로 직교하는(길이는 1이 아니어도 되는) 기저이면 ck=∥bk∥2⟨x,bk⟩입니다.
증명. 같은 계산에서 ⟨bm,bm⟩=∥bm∥2이 남습니다. ■
예제 3.19. 예제 3.7의 b1=(11), b2=(−11)은 직교합니다(1⋅1+1⋅(−1)=0). ∥bk∥2=2이므로 x=(15)의 좌표는 c1=25+1=3, c2=25−1=2입니다. 연립방정식 없이 같은 답이 나옵니다.
정리 3.20. 영벡터가 아닌 서로 직교하는 벡터들은 일차독립입니다. 따라서 n차원 공간에서 서로 직교하는 영 아닌 벡터 n개는 자동으로 기저입니다.
W의 벡터 중 x에 가장 가까운 것은 Px 하나뿐입니다. 모든 w∈W에 대해 ∥x−Px∥≤∥x−w∥입니다.
∥x∥2=∥Px∥2+∥x−Px∥2입니다. 따라서 ∑k=1K∣⟨x,ek⟩∣2≤∥x∥2입니다(베셀 부등식(Bessel's inequality)).
증명. (1) ⟨x−Px,em⟩=⟨x,em⟩−∑k⟨x,ek⟩δkm=0입니다. W의 벡터는 em들의 선형결합이므로 역시 직교합니다.
(2) w∈W이면 x−w=(x−Px)+(Px−w)에서 둘째 항은 W에 속하고 첫째 항은 (1)에 의해 그와 직교합니다. 피타고라스 정리로 ∥x−w∥2=∥x−Px∥2+∥Px−w∥2≥∥x−Px∥2이고, 등호는 w=Px일 때뿐입니다.
(3) x=Px+(x−Px)에 피타고라스 정리를 씁니다. ∥Px∥2=∑k∣⟨x,ek⟩∣2은 파세발 등식입니다. ■
이 정리가 말하는 것은 이렇습니다. 각 계수 ⟨x,ek⟩는 다른 계수와 무관하게 정해지고, 항을 더 쓴다고 이미 구한 계수를 고칠 필요가 없으며, 그렇게 얻은 유한 합이 평균제곱 오차를 최소로 합니다. 푸리에 급수를 K항에서 끊은 것이 “그 주파수들만으로 만들 수 있는 최선의 근사”인 이유입니다.
그림 3.1. 정사영. 오차 x−Px가 W에 수직이므로, W의 다른 어떤 점 w도 Px보다 x에서 멉니다.
3.9 유니터리 행렬
정의 3.24. 행렬 A의 행과 열을 바꾸고 각 성분에 켤레를 취한 행렬을 켤레전치(conjugate transpose) AH라 합니다: (AH)ik=Aki∗.
열벡터에 대해 ⟨x,y⟩=yHx이고, (AB)H=BHAH, ⟨Ax,y⟩=⟨x,AHy⟩가 성립합니다.
정리 3.26.U가 유니터리이면 (1) U−1=UH이고, (2) ⟨Ux,Uy⟩=⟨x,y⟩, 특히 ∥Ux∥=∥x∥입니다.
증명. (1) UHU=I이고 정사각행렬에서 왼쪽 역행렬은 오른쪽 역행렬이기도 합니다. (2) ⟨Ux,Uy⟩=⟨x,UHUy⟩=⟨x,y⟩입니다. ■
정규직교기저 e1,…,en을 열로 세운 행렬 U에 대해 정리 3.17은 다음과 같이 읽힙니다.
분석: 좌표구하기c=UHx합성: 좌표로복원x=Uc
c의 k번째 성분은 ekHx=⟨x,ek⟩로 정확히 좌표 공식입니다. 유니터리 변환은 길이와 각도를 보존하는 변환, 즉 복소 공간에서의 “회전”입니다. 푸리에 변환은 (상수를 적절히 잡으면) 유니터리 변환입니다.
3.10 고윳값과 고유벡터
정의 3.27. 정사각행렬(또는 선형 연산자) A에 대해 Av=λv인 v=0을 고유벡터(eigenvector), 수 λ를 고윳값(eigenvalue)이라 합니다.
고유벡터는 A를 적용해도 방향이 바뀌지 않고 λ배만 되는 벡터입니다. 고유벡터 v1,…,vn이 기저를 이루면 x=∑ckvk에 대해
Ax=k∑λkckvk(3.1)
입니다. 고유벡터 기저에서 보면 A는 각 좌표에 λk를 곱하는 일일 뿐입니다. 이것을 A를 대각화(diagonalization)한다고 합니다. 행렬로는 V=(v1⋯vn), Λ=diag(λ1,…,λn)에 대해 A=VΛV−1입니다. 대각화되면 Am=VΛmV−1, A−1=VΛ−1V−1처럼 A에 관한 계산이 수의 계산으로 바뀝니다.
정리 3.29 (교환하는 연산자는 고유벡터를 공유합니다).AS=SA이고, Sv=λv인 고유벡터가 상수배를 제외하고 v 하나뿐이면, v는 A의 고유벡터이기도 합니다.
증명.S(Av)=A(Sv)=λ(Av)입니다. 즉 Av도 S의 고윳값 λ에 대한 고유벡터이거나 영벡터입니다. 가정에 의해 Av=μv인 수 μ가 있습니다. ■
이 정리가 푸리에 해석의 뼈대입니다. S를 시간 이동으로 잡으면, 이동의 고유벡터가 복소지수함수이고(4장, 10장), 이동과 교환하는 모든 선형 연산자(곧 시불변 시스템)가 복소지수함수를 고유벡터로 갖습니다.
3.11 함수공간: 함수의 내적
구간 [a,b]의 함수 x(t)를 간격 Δt로 표본화하면 벡터 (x(t0),x(t1),…,x(tN−1))이 됩니다. 두 함수의 표본 벡터의 내적에 Δt를 곱하면 ∑ix(ti)y(ti)∗Δt이고, 이것은 리만 합입니다. Δt→0으로 보내면 적분이 됩니다.
정의 3.30. 구간 [a,b]에서 정의된 함수 x, y의 내적과 노름은
⟨x,y⟩=∫abx(t)y(t)∗dt,∥x∥2=∫ab∣x(t)∣2dt
입니다. ∥x∥<∞인 함수 전체를 L2[a,b]라 합니다. 구간이 실수 전체이면 L2(R)입니다.
내적의 세 공리가 성립하므로(확인해 봅니다) L2는 내적공간이고, 피타고라스, 코시–슈바르츠, 좌표 공식의 증명, 최선근사 정리, 베셀 부등식이 글자 그대로 성립합니다. 코시–슈바르츠는 다음 모양이 됩니다.
∫abx(t)y(t)∗dt2≤∫ab∣x(t)∣2dt∫ab∣y(t)∣2dt
∥x∥2은 신호의 에너지다(x가 1 Ω 저항에 걸린 전압이면 실제로 소비 에너지입니다). 두 함수의 “거리” ∥x−y∥는 평균제곱 오차의 제곱근입니다.
예제 3.31. 2장의 정리 2.9를 다시 읽으면 이렇습니다. L2[0,T]에서 ek(t)=ejkω0t는 ⟨ek,em⟩=Tδkm, 즉 서로 직교하고 노름의 제곱이 T입니다.
CN
함수공간 L2[a,b]
벡터
x[n], n=0,…,N−1
x(t), a≤t≤b
내적
∑nx[n]y[n]∗
∫abx(t)y(t)∗dt
에너지
∑n∣x[n]∣2
∫ab∣x(t)∣2dt
차원
N
무한
선형 연산자
행렬
미분, 적분, 이동, 합성곱
무한차원에서 달라지는 것
함수공간은 무한차원이라 세 가지를 조심합니다.
무한합의 뜻.x=∑k=−∞∞ckek는 “부분합 SK=∑∣k∣≤Kckek가 ∥x−SK∥→0”이라는 뜻으로 읽습니다(평균제곱 수렴). 각 점 t에서의 수렴은 별개의 문제입니다(5장 5.6절).
완비성. 유한차원에서는 직교 벡터 n개면 자동으로 기저였습니다(정리 3.20). 무한차원에서는 직교하는 벡터가 무한히 많아도 공간 전체를 채우지 못할 수 있습니다. 예를 들어 {coskω0t}만으로는 기함수를 만들 수 없습니다. 정규직교계 {ek}가 모든 x에 대해 ∥x∥2=∑k∣⟨x,ek⟩∣2(베셀 부등식의 등호)을 만족할 때 완비라 하고, 이때 비로소 기저 구실을 합니다. 복소지수함수계가 완비라는 것이 푸리에 급수 이론의 핵심 정리입니다.
노름이 0인 함수. 한 점에서만 값이 다른 두 함수는 적분으로는 구별되지 않습니다. L2에서는 그런 함수들을 같은 것으로 봅니다. 불연속점에서의 함숫값이 푸리에 해석에서 중요하지 않은 이유입니다.