(매스매티카의 도움을 받아 계산하기는 했지만) 계산을 나 자신도 '와 저게 정리가 되는구나...' 싶은 부분이 있어서 저 무한급수를 더하는데 들어간 테크닉을 좀 정리해보기로 했다. 저 무한급수는 일단은 다음 식[각주:1].

\[ \sum_{n=0}^{\infty} \frac{(n!)^2 x^n}{(2n+1)!} = \frac{4 \csc^{-1} (2 / \sqrt{x})}{\sqrt{x(4-x)}} \]

논문을 위한 계산을 하다가 행렬의 로그를 취하는 과정에서 튀어나온 함수인데, 일반항은 찍은 것이다. 왼쪽의 급수를 어떻게 구했는가는 사실 중요한 문제는 아니니 제끼기로 하자.

 

---

 

무한급수를 이름이 있는 함수(베셀함수라던가)로 다시 쓰기 위해 가장 중요한 것은 각종 특수함수의 급수전개를 미리 알고있는 것이다. 모든 물리학/공학 학부생의 적인 수리물리/공학수학 강의에서 특수함수 파트를 배우는 고통의 시간동안 졸지 않는 것이 중요한 이유이기도 하다[각주:2]. 하지만 위의 예제는 베셀함수가 아니니 일단 넘어가기로 하자.

 

무한급수를 다시 정리하는데 쓸 수 있는 가장 간단한 테크닉은 초기하함수(hypergeometric function)의 미분방정식을 구하는 방법을 응용하는 것이다. 혹은 미분방정식의 급수해 풀이법인 Frobenius method의 반대 과정으로 생각해도 좋다. 우선 다음과 같이 일반항이 주어지는 무한급수를 생각해보자.

\[ f(x) = \sum_{n=0}^{\infty} \frac{a(n) x^n}{b(n)} \]

여기서 $a(n)$과 $b(n)$은 어떤 수열이라고 하자. 처음 제시한 무한급수의 경우 $a(n) = (n!)^2$과 $b(n) = (2n+1)!$이다.

 

무한급수를 다시 합하는데 가장 중요한 공식은 다음 공식이다.

\[ x \frac{d}{dx} x^n = n x^n \]

이 미분연산자를 적당히 조합하는 것으로 $a(n)$을 $a(n+1)$로 바꿔주는 연산자 $D_1$을 찾는다.

\[ D_1 f(x) = \sum_{n=0}^\infty \frac{a(n)}{b(n)} D_1 x^n = \sum_{n=0}^\infty \frac{a(n+1)}{b(n)} x^{n+1} \]

일반적으로는 이런 연산자 $D_1$을 찾기 매우 어렵지만, 수열 $a(n)$이 팩토리얼과 같은 종류의 함수들의 곱으로 구성되어 있어 $a(n+1) / a(n)$이 $n$에 대한 다항식 $P(n)$으로 주어질 경우에는 연산자 $D_1$을 매우 쉽게 찾을 수 있다.

\[ \frac{a(n+1)}{a(n)} = P(n) \Rightarrow D_1 = x P(x \frac{d}{dx}) \]

예시에서는 이를 만족하는 연산자가 $D_1 = x (\frac{d}{dx} x)^2$으로 주어진다.

\[ D_1 f(x) = x \left( x (xf)' \right)' = \sum_{n=0}^\infty \frac{[(n+1)!]^2 x^{n+1}}{(2n+1)!} \]

 

다음으로 할 일은 $b(n)$을 $b(n-1)$로 바꿔주는 연산자 $D_2$를 찾는 것이다.

\[ D_2 f(x) = \sum_{n=0}^\infty \frac{a(n)}{b(n)} D_2 x^n = \sum_{n=0}^\infty \frac{a(n)}{b(n-1)} x^{n} \]

$D_1$의 경우와 마찬가지로, 일반적으로 이런 연산자 $D_2$는 존재하지 않지만 팩토리얼과 같은 종류의 함수들의 곱으로 구성된 $b(n)$의 경우에는 $D_2$를 찾을 수 있다. 비율 $b(n)/b(n-1)$이 $n$에 대한 다항식 $Q(n)$으로 주어지기 때문.

\[ \frac{b(n)}{b(n-1)} = Q(n) \Rightarrow D_2 = Q (x \frac{d}{dx}) \]

예시에서는 이를 만족하는 연산자가 $D_2 = 2 x \frac{d}{dx} (2 x \frac{d}{dx} + 1)$으로 주어진다.

\[ D_2 f(x) = 2 x \left( f + 2xf' \right)' = \sum_{n=0}^\infty \frac{(n!)^2 x^n}{(2n-1)!} \]

(음의 정수의 팩토리얼 $(-n)! = \infty$을 도입하여 $n=0$을 포함하도록 할 수 있다.) 여기까지 왔으면 다음은 뻔하다. 두 급수전개가 사실은 같은 함수이니 $D_1 f = D_2 f$라고 둘 수 있고, 이 관계식을 바탕으로 $f(x)$가 만족하는 미분방정식을 적을 수 있다.

\[ (D_1 - D_2) f(x) = 0 \Rightarrow x(x-4) f'' + 3 (x-2) f' + f = 0 \]

이제 미분방정식의 해를 찾아서 급수전개가 일치하도록 계수를 결정해주면 된다. 여기서부터는 계산할 때 Mathematica를 이용해 답을 얻었는데, 직접 손으로 미분방정식을 푸는 방법은 없을까 생각해보기로 한다. 여담으로 미분방정식의 답은 다음과 같이 주어진다.

\[ f(x) = \frac{A}{\sqrt{x(4-x)}} + \frac{B \sin^{-1}\sqrt{1-(x/4)}}{\sqrt{x(4-x)}} \]

여기서 $A = 2 \pi$, $B = -4$를 넣어주면 처음 제시한 답을 얻는다.

 

---

 

현재 문제는 다음과 같이 생긴 미분방정식을 푸는 것이다.

\[ x(x-4) f'' + 3 (x-2) f' + f = 0 \]

위 미분방정식은 $u = x(x-4)$란 함수를 도입하여 다음과 같이 적을 수 있다.

\[ u f'' + \frac{3}{2} u' f' + \frac{1}{2} u'' f = 0 \]

이렇게 쓰고보니 공학수학이나 수리물리 첫 시간에 잠깐 배우고 잊어버리는 테크닉인 적분인자(integrating factor)를 이용한 풀이법이 존재할 것 같은 느낌이 들지 않는가? 우선 식을 다음과 같이 나눠보자.

\[ u f'' + \frac{3}{2} u' f' + \frac{1}{2} u'' f = u f'' + u' f' + \frac{1}{2} \left( u' f' + u'' f \right) = 0 \]

위 식은 다음과 같이 정리할 수 있다.

\[ ( u f' )' + \frac{1}{2} (u' f)' = ( uf' + \frac{u' f}{2} )' = 0 \]

전체 미분의 안에 들어있는 식은 적분인자로 하나의 미분으로 정리할 수 있다.

\[ ( uf' + \frac{u' f}{2} )' = ( u^{1/2} (u^{1/2} f)' )' = 0 \]

위 미분방정식의 가장 간단한 해는 $u^{1/2} f = C_1$이다. 가장 안쪽의 미분이 사라질테니까. $C_1$에 단위허수를 붙여서 정리해준다고 가정하면 첫번째 homogeneous solution으로 다음 식을 얻는다.

\[ f_1(x) = C_1 (-u)^{-1/2} = \frac{C_1}{\sqrt{x(4-x)}} \]

두번째 해는 $u^{1/2} (u^{1/2} f)' = C_2$를 요구하는 것이다. 이 경우 (적당히 적분상수에 단위허수를 붙여 부호를 정리하고 나면) 우리는 다음 식을 얻는다.

\[ f_2(x) = C_2 (-u)^{-1/2} \int (-u)^{-1/2} dx = \frac{C_2}{\sqrt{x(4-x)}} \int \frac{dx}{\sqrt{4 - (x-2)^2}} \]

가장 우변의 적분은 $\sin^{-1}$으로 정리된다.

\[ \int \frac{dx}{\sqrt{4 - (x-2)^2}} = \int \frac{d(x/2)}{\sqrt{1 - (x/2-1)^2}} = \sin^{-1} (\frac{x}{2} - 1) \]

따라서 가장 일반적인 해로

\[ f(x) = \frac{C_1}{\sqrt{x(4-x)}} + \frac{C_2 \sin^{-1} (\frac{x}{2} - 1)}{\sqrt{x(4-x)}} \]

를 얻게 된다. 두번째 항이 조금 이상해 보일 수 있지만 $C_1$과 $C_2$를 적당히 조절하면 $\sin^{-1}$의 argument를 다시 정리할 수 있다. 처음 제시한 꼴로 어떻게 정리되는지 보이는 것은 연습문제(...)로 남겨두기로 하자.

 

---

 

다음은 급수전개를 통해 계수를 맞추는 작업이다. $x=0$ 근처에서 작업해야 하니 가장 먼저 할 작업은 $\sin^{-1}$의 argument를 잘 정리해서 보다 급수전개하기 쉬운 꼴로 바꾸는 것이다. 이 작업을 위해 다음과 같이 $\theta$란 변수를 도입하자.

\[ \theta = \sin^{-1} (\frac{x}{2} - 1) \]

이제 $\theta$를 $\theta \to \phi - \pi / 2$를 통해 $\phi$로 재정의하는 경우를 생각할 수 있다. 정확히 $-\pi/2$만큼 원점을 이동하는 이유는 우변의 argument가 $x=0$에서 -1이 되기 때문인데 $- \pi / 2$만큼 $\theta$를 옮기는 것을 변수 $C_1$의 재정의로 흡수할 수 있다. 이제 $\phi$를 구하기 위해서는 다음과 같은 관계식을 풀게 된다.

\[ \sin (\phi - \pi/2) = - \cos \phi  = \frac{x}{2} - 1 \]

위 식은 배각공식을 이용해 조금 더 정리해줄 수 있다.

\[ 1 - \cos \phi = 2 \sin^2 \frac{\phi}{2} = \frac{x}{2} \Rightarrow \phi = 2 \sin^{-1} \frac{\sqrt{x}}{2} \]

위 방법으로 $\sin^{-1} (\frac{x}{2} - 1) = 2 \sin^{-1} (\sqrt{x}/2) - \pi / 2$로 다시 쓸 수 있고, 결과적으로 $f(x)$는 다음과 같이 정리된다.

\[ f(x) = \frac{\tilde{C}_1}{\sqrt{x(4-x)}} + \frac{\tilde{C}_2 \sin^{-1} (\sqrt{x}/2) }{\sqrt{x(4-x)}} \]

이제 처음 구한 급수전개와 맞추는 작업이 남았다. 먼저 사인함수의 역함수의 급수전개는 다음과 같이 주어진다.

\[ \sin^{-1} (x) = x + \mathcal{O} (x^3)\]

계수를 결정하는데는 1차항만 필요하므로 나머지 항은 무시하기로 하자. 이제 위에서 구한 $f(x)$를 $x=0$ 근처에서 전개해보자. 이를 위해서는 다음과 같이 식을 다시 적어주는 것이 좋다.

\[ f(x) = \frac{\tilde{C}_1}{2\sqrt{x} \sqrt{1-x/4}} + \frac{\tilde{C}_2 \sin^{-1} (\sqrt{x}/2) }{2 \sqrt{x} \sqrt{1-x/4} } \]

위의 꼴을 $x=0$에서 전개하면 다음 결과를 얻는다.

\[ f(x) = \frac{\tilde{C}_1}{2 \sqrt{x}} + \frac{\tilde{C}_2}{4} + \mathcal{O}(\sqrt{x}) \]

원래 $f(x)$의 급수전개는

\[ f(x) = 1 + \frac{x}{6} + \frac{x^2}{30} + \cdots \]

이므로, 계수가 바로 결정되어 $f(x)$를 결정할 수 있게 된다.

\[ f(x) = \frac{4 \sin^{-1} (\sqrt{x}/2) }{\sqrt{x(4-x)}}\]

 

매우 제한적인 경우에만 응용할 수 있는 테크닉이긴 하지만, 무한급수를 합하는 그다지 어렵지는 않은 방법이다.

  1. 여담으로 Mathematica에 좌변을 강제로 계산시키면 우변의 arccosecant가 arcsin으로 바뀌면서 argument의 역수를 취한 결과를 내놓는다. 포스트의 가장 마지막에 등장하는 꼴이 이 표현. sine과 cosecant가 역수관계인 것을 생각하면 자연스러운 재정의다. [본문으로]
  2. 이건 내가 논문 쓰다가 '어? 이 일반항 어딘가 베셀함수를 닮은 것 같은데?'란 관찰에서 출발해서 식을 엄청 깔끔하게 정리한 경험이 있기 때문에 하는 이야기. [본문으로]
Posted by 덱스터
Physicists know they can approximate everything by harmonic oscillators, though.

- R. Chapling(https://rc476.user.srcf.net/asymptoticmethods/am_notes.pdf)

최근 논문을 쓰며 망각의 늪(?)에 방치해두었던 미분방정식에 대한 지식을 다시 되살려야 할 필요가 있어서 간단하게 작성해보는 시리즈. Green's function과 Sturm-Liouville 문제에 기회가 되면 특수함수와 Lie군을 다뤄보고 싶은데 마지막 항목은 초기하함수와 SL(2,R)군 사이의 관계에 대해서는 공부해야 할 필요가 있어서 할 수 있을지 모르겠다. 언제나(?) 그렇듯 미분방정식은 2계미분방정식만 고려할 생각.

 

어차피 편미분방정식이라고 해서 개념적으로 바뀌는 것은 없으니 상미분방정식만 생각하기로 하자. 우선은 homogeneous equation을 생각하기로 한다.

\[ \left[p(x) \frac{d^2}{dx^2} + q(x) \frac{d}{dx} + r(x) \right] f(x) = 0 \]

일반적으로 이 방정식의 해는 둘로 주어지며, 두 해를 각각 $f_1(x)$과 $f_2(x)$라고 부르기로 하자. 둘 중 하나만 알고 있을 때 다른 하나를 구하는 방법은 Kreyzig 공학수학에 나와 있을테니[각주:1] 두 해를 전부 알고 있다고 가정해도 무리는 없을 것이다.

 

homogeneous equation의 특징은 두 해 $f_1(x)$와 $f_2(x)$에 대해 두 해의 임의의 선형조합 $\alpha f_1 + \beta f_2$ 또한 homogeneous equation을 만족한다는 것이다. 선형미분방정식이 선형대수학을 만나는 지점이다. 그래서 위의 방정식을 다음과 같이 선형연산자 $\mathcal{L}$을 도입하여 선형연산자 방정식의 모양으로 바꿔 쓰기도 한다.

\[ \mathcal{L} = \left[ p(x) \frac{d^2}{dx^2} + q(x) \frac{d}{dx} + r(x) \right] \Rightarrow \mathcal{L} f(x) = 0 \]

많은 경우 homogeneous solution의 계수 $\alpha$와 $\beta$는 초기조건으로 결정하며[각주:2], 초기조건은 함수 $f(x)$의 $x=x_0$에서 함수값 $f(x_0)$와 1계미분값 $\frac{df}{dx}(x_0)$으로 주어진다. 이 문제는 다음과 같은 행렬방정식으로 나타낼 수 있다.

\[ \begin{pmatrix} f(x_0) \\ \frac{df}{dx}(x_0) \end{pmatrix} = \begin{pmatrix} f_1(x_0) & f_2(x_0) \\ \frac{df_1}{dx}(x_0) & \frac{df_2}{dx}(x_0) \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} \]

위 식의 우변에 등장하는 행렬을 Wronskian matrix라고 부르며, 이 행렬의 행렬식(determinant)을 Wronskian이라고 한다. 일반적으로 Wronskian을 계산해 0이 되지 않는 것을 확인하는 것을 '구한 homogeneous solution들이 선형독립인가'를 묻는 질문이라고 말하는데, 위 행렬방정식 꼴을 보면 다음의 동등한 질문으로 바꿔 쓸 수 있음을 알 수 있다. "우변의 행렬의 역행렬을 구해 일반적인 초기조건 $f(x_0)$와 $\frac{df}{dx}(x_0)$를 만족하는 homogeneous solution을 찾을 수 있는가?"

 

그렇다면 선형대수학의 관점을 inhomogeneous equation에 어떻게 적용할 수 있을까? 일단 inhomogeneous equation을 적어보자.

\[ \left[p(x) \frac{d^2}{dx^2} + q(x) \frac{d}{dx} + r(x) \right] f_p(x) = s(x) \Rightarrow \mathcal{L} f_p = s \]

위에서 $f_p(x)$는 particular solution이라고 하며, 일반적으로 위 방정식을 만족하는 해는 homogeneous solution을 포함한 꼴인 $f_p(x) + \alpha f_1(x) + \beta f_2(x)$으로 주어진다. 여기서 자유롭게 결정할 수 있는 계수인 $\alpha$와 $\beta$를 결정하는 기준은 경계조건이 된다. 경우에 따라 위 식의 $s(x)$를 source term이라고 부르는데, 보편적으로 쓰는 용어인지는 모르겠다.

 

Green's function method는 위 식의 우변을 다음과 같이 바꿔쓸 수 있다는 점을 이용한다[각주:3].

\[ s(x) = \sum_{y} \delta(x,y) s(y) \]

일부러 Dirac delta $\delta(x,y) = \delta(x-y)$를 잘 쓰지 않는 꼴로 적어두었는데, 행렬을 적는 일반적인 방법과 유사성이 잘 드러나도록 하기 위한 조치이다[각주:4]. 만약 미분연산자 $\mathcal{L}$의 역연산자 $\mathcal{L}^{-1}$가 존재한다고 한다면, inhomogeneous equation은 양변의 좌측에 $\mathcal{L}^{-1}$를 붙여 다음과 같이 적을 수 있다.

\[ f_p(x) = \sum_{y} \left[ \mathcal{L}^{-1} \delta(x,y) \right] s(y) = \sum_{y} G(x,y) s(y) \]

미분방정식의 풀이가 행렬곱(?)으로 바뀌는 셈[각주:5]. 문제는 $G(x,y) = \mathcal{L}^{-1} \delta(x,y)$를 어떻게 구할 것이냐가 된다.

 

Green's function은 결국 다음 방정식을 푸는 문제이다.

\[ \mathcal{L} G(x,y) = \delta(x,y) \]

편의상 미분방정식을 푸는 구간을 $(a,b)$라고 하고, $a$에서의 경계조건을 만족하는 homogeneous solution을 $f_1$, $b$에서의 경계조건을 만족하는 해를 $f_2$라고 하자. $\delta(x,y)$는 $x \neq y$에서 0이기 때문에, $G(x,y)$는 대충 다음과 같은 모양을 취할 것으로 예상할 수 있다.

\[ G(x,y) \propto \left\{ \begin{aligned} f_1(x) && a \le x < y \\ f_2(x) && y < x \le b \end{aligned} \right. \]

혹은 다음과 같이 표현할 수도 있다.

\[ G(x,y) = \left\{ \begin{aligned} f_1(x) g_1(y) && a \le x < y \\ f_2(x) g_2(y) && y < x \le b \end{aligned} \right. \]

이런 때 쓰기 위해 Heaviside step function이 있지만 위 꼴이 보다 다루기 쉬우니 일단은 이 꼴을 쓰기로 하자. Green's function $G(x,y)$는 $x$에 대한 2계미분에서 Dirac delta가 나와야 하기 때문에 $x$에 대해 연속적이어야 하므로[각주:6], homogeneous solution들을 쌓아올리기 위해 도입하는 계수 $g_{1,2}(y)$는 다음 조건을 만족해야 한다.

\[ f_1(y) g_1(y) = f_2(y) g_2(y) \]

이제 이 Green's function에 대한 ansatz를 Green's function이 만족해야 하는 방정식에 집어넣어보자.

\[ \left[ \frac{d^2}{dx^2} + \frac{q(x)}{p(x)} \frac{d}{dx} + \frac{r(x)}{p(x)} \right] G(x,y) = \frac{\delta(x,y)}{p(x)} \]

Dirac delta가 들어간 방정식을 푸는 일반적인 방법은 양변에 Dirac delta의 support가 있는 neighbourhood를 적분하는 것이다.

\[ \int_{y-0^+}^{y+0^+} dx \left[ \frac{d^2}{dx^2} + \frac{q(x)}{p(x)} \frac{d}{dx} + \frac{r(x)}{p(x)} \right] G(x,y) = \int_{y-0^+}^{y+0^+} dx \frac{\delta(x,y)}{p(x)} \]

위 식을 계산하게 되면 다음과 같은 조건을 얻게 된다.

\[ \frac{d G(x = y + 0^+,y)}{dx} - \frac{d G(x = y - 0^+,y)}{dx} = f_2'(y) g_2(y) - f_1'(y) g_1(y) = \frac{1}{p(y)} \]

1계미분에 대한 적분은 Green's function이 연속적이라는 조건 때문에 사라진다. 위의 연속성 조건이랑 병렬로 놓고 보면 어디서 많이 본 것 같은 꼴이지 않은가? 두 조건을 행렬방정식으로 적어보자.

\[ \begin{pmatrix} 0 \\ \frac{1}{p(y)} \end{pmatrix} = \begin{pmatrix} f_1(y) & f_2(y) \\ \frac{df_1}{dx}(y) & \frac{df_2}{dx}(y) \end{pmatrix} \begin{pmatrix} - g_1(y) \\ g_2(y) \end{pmatrix} \]

역행렬을 계산해서 $g_1$과 $g_2$를 풀면 다음과 같은 답을 얻는다.

\[ \begin{pmatrix} - g_1(y) \\ g_2(y) \end{pmatrix} = \frac{1}{Wr[f_1,f_2](y)} \begin{pmatrix} \frac{df_2}{dx}(y) & - f_2(y) \\ - \frac{df_1}{dx}(y) & f_1(y) \end{pmatrix} \begin{pmatrix} 0 \\ \frac{1}{p(y)} \end{pmatrix} = \frac{1}{p(y) Wr[f_1,f_2](y)} \begin{pmatrix} - f_2(y) \\ f_1(y) \end{pmatrix} \]

여기서 $Wr[f_1,f_2] = f_1 f_2' - f_2 f_1'$는 Wronskian이다. 결론적으로, Green's function은 다음과 같이 적을 수 있다.

\[ G(x,y) = \left\{ \begin{aligned} \frac{f_1(x) f_2(y)}{p(y) Wr[f_1,f_2](y)} && a \le x < y \\ \frac{f_2(x) f_1(y)}{p(y) Wr[f_1,f_2](y)} && y < x \le b \end{aligned} \right. \]

  1. 아마 $f_2 (x) = u(x) f_1 (x)$꼴의 ansatz를 써서 $u(x)$에 대해 푸는 방법이었던 것 같다 [본문으로]
  2. 경계조건으로 결정하기도 하지만 그쪽은 Sturm-Liouville 문제의 맥락에 어울린다. [본문으로]
  3. 일반적으로 적분을 적는 곳에 합을 적어둔 것이 불편할 수 있는데, 적분과 합은 본질적으로 동일하다. [본문으로]
  4. 또한 이렇게 쓰면 항등행렬(identity matrix)과 Dirac delta가 본질적으로는 같다는 사실이 매우 명확해진다. [본문으로]
  5. 다만 이 방법이 작동하려면 $s(y)$가 "너무 크지 않다"는 조건이 필요하다. 보통 $L^1$ 조건(함수의 절대값을 전체 구간에서 적분한 값이 유한할 것)을 만족하면 문제는 없다고 생각하면 된다. [본문으로]
  6. 전문적인 용어로 $x$에 대해 $C^0$. 만약 연속성이 없다면 1계미분에서 Dirac delta가 나오고 2계미분은 Dirac delta의 미분이 되어 우변을 만족할 수 없게 된다. [본문으로]
Posted by 덱스터

오늘 퓨리에 급수에 대해 생각하다가 특정 구간에 대해서만 급수전개를 하되 '그 구간이 계속 움직인다면 어떨까?'란 생각을 떠올렸다. 조금만 계산을 하면 유도할 수 있으니 누군가는 했겠지 하고 찾아봤는데 의외로 이 생각을 하는 사람이 별로 없는 모양이다. 하긴 이렇게 연속적으로 들어오는 신호를 변환할 때는 라플라스 변환을 쓰는 것이 일반적이긴 하다. 찾은 관련 내용은 특허 하나와 논문 두 개. 특허는 73년이고, 논문은 99년과 01년에 나온 상당히 최근의 내용.


http://www.google.com/patents/US3778606

http://www.sciencedirect.com/science/article/pii/S0165168498002096

http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=913845




위의 내용은 이산퓨리에변환(Discrete Fourier Transform)에 해당하는 내용이라 연속적인 경우에 대해서는 다루지는 않고 있다. 연속적인 경우를 다루기 위해 다음과 같은 '샘플링 구간을 한정지은 함수'를 정의하자.


\text{For a function }f\text{ defined on the real line, define} \\\text{the restriction (or the sample) of }f\text{ as;} \\\\f:\mathbb{R}\to\mathbb{R} \\f_{\tau,T}:[0,\tau ]\to\mathbb{R} \\f_{\tau,T}(x)=f(x+T) \\\\\tau\text{ gives the length of the sample, and }T\text{ gives the} \\\text{starting point of the sample.}


그리고 다들 대학 2학년때 지옥을 맛보는 공학수학 시간에 하는 것처럼 신나게 퓨리에 급수를 구한다. 따로 유도과정은 안 적겠다. 그런건 위키백과에도 잘 나오니까.


\text{The Fourier series of }f_{\tau,T}\text{ is given as follows:} \\\\f_{\tau,T}(x)=a_0+\sum_n \left[a_n\cos(\frac{2n\pi}{\tau}x)+b_n\sin(\frac{2n\pi}{\tau}x)\right] \\\\a_0(\tau,T)=\frac1\tau \int_0^\tau f_{\tau,T}(x)dx \\a_n(\tau,T)=\frac2\tau \int_0^\tau f_{\tau,T}(x)\cos(\frac{2n\pi}{\tau}x)dx \\b_n(\tau,T)=\frac2\tau \int_0^\tau f_{\tau,T}(x)\sin(\frac{2n\pi}{\tau}x)dx


이제 할 일은 간단하다. 구간이 계속 움직이는 경우(T가 계속 변하는 경우) 각 급수 성분은 어떻게 변하게 될까? 편미분을 쓰자.


\text{To update the series for continuously changing }T\text{,} \\\text{just calculate the derivatives with respect to }T: \\\\\frac{\partial}{\partial T}a_0(\tau,T)=\frac1\tau \frac{\partial}{\partial T}\int_0^\tau f_{\tau,T}(x)dx \\=\frac1\tau \frac{\partial}{\partial T}\int_T^{T+\tau} f(x)dx=\frac1\tau\left[f(T+\tau)-f(T) \right ]



\\\frac{\partial}{\partial T}a_n(\tau,T)=\frac2\tau \frac{\partial}{\partial T}\int_0^\tau f_{\tau,T}(x)\cos(\frac{2n\pi}{\tau}x)dx \\=\frac2\tau \frac{\partial}{\partial T}\int_0^\tau f(x+T)\cos(\frac{2n\pi}{\tau}x)dx \\=\frac2\tau \int_0^\tau f'(x+T)\cos(\frac{2n\pi}{\tau}x)dx \\=\frac2\tau \left[ \left f(x+T)\cos(\frac{2n\pi}{\tau}x)\right|_0^\tau -\int_0^\tau f(x+T)\left[\cos(\frac{2n\pi}{\tau}x)\right]' dx \right] \\=\frac2\tau \left[ f(T+\tau)-f(T)+\frac{2n\pi}{\tau}\int_0^\tau f(x+T)\sin(\frac{2n\pi}{\tau}x)dx \right] \\\\=\frac2\tau \left[ f(T+\tau)-f(T)\right]+\frac{2n\pi}{\tau}b_n



\\\frac{\partial}{\partial T}b_n(\tau,T)=\frac2\tau \frac{\partial}{\partial T}\int_0^\tau f_{\tau,T}(x)\sin(\frac{2n\pi}{\tau}x)dx \\=\frac2\tau \frac{\partial}{\partial T}\int_0^\tau f(x+T)\sin(\frac{2n\pi}{\tau}x)dx \\=\frac2\tau \int_0^\tau f'(x+T)\sin(\frac{2n\pi}{\tau}x)dx \\=\frac2\tau \left[ \left f(x+T)\sin(\frac{2n\pi}{\tau}x)\right|_0^\tau -\int_0^\tau f(x+T)\left[\sin(\frac{2n\pi}{\tau}x)\right]' dx \right] \\=\frac2\tau \left[-\frac{2n\pi}{\tau}\int_0^\tau f(x+T)\cos(\frac{2n\pi}{\tau}x)dx \right] \\\\=-\frac{2n\pi}{\tau}a_n


만약 주기가 그대로 맞아 떨어진다면 예상하는 것과 같이 단순히 위상만 변하는 식을 얻게 된다.


\text{If }f(x+\tau)=f(x)\text{ for }\forall x\text{, the above equations} \\\text{are simplified and shows the phase dependence of Fourier series.} \\\\\frac{\partial}{\partial T}a_n(\tau,T)=\frac{2n\pi}{\tau}b_n \\\frac{\partial}{\partial T}b_n(\tau,T)=-\frac{2n\pi}{\tau}a_n \\\\\therefore a_n(\tau,T)=A\sin(\frac{2n\pi}{\tau}T +\delta) \\b_n(\tau,T)=A\cos(\frac{2n\pi}{\tau}T +\delta)


여기까지는 샘플링 구간을 움직일 때 해당하는 내용. 그렇다면 샘플링 구간을 확장시킬 때 새로운 정보를 어떻게 반영해야 할까? 이건 샘플링 구간의 길이에 대해 편미분하면 된다.


\text{To update the series for newly obtained information at} \\T+\tau\text{, just calculate the derivatives with respect to }\tau: \\\\\frac{\partial}{\partial\tau}a_0(\tau,T)=\frac{\partial}{\partial\tau}\left[\frac1\tau \int_0^\tau f_{\tau,T}(x)dx\right] \\=-\frac1{\tau^2} \int_0^\tau f_{\tau,T}(x)dx+\frac1\tau \frac{\partial}{\partial\tau}\int_T^{T+\tau} f(x)dx \\=\frac1\tau\left[f(T+\tau)-a_0\right]



\\\frac{\partial}{\partial\tau}a_n(\tau,T)=\frac{\partial}{\partial\tau}\left[\frac2\tau \int_0^\tau f_{\tau,T}(x)\cos(\frac{2n\pi}{\tau}x)dx\right] \\=-\frac2{\tau^2} \int_0^\tau f_{\tau,T}(x)\cos(\frac{2n\pi}{\tau}x)dx+\frac2\tau \frac{\partial}{\partial\tau}\left[\int_0^\tau f_{\tau,T}(x)\cos(\frac{2n\pi}{\tau}x)dx\right] \\=-\frac{a_n}{\tau}+\frac2\tau \frac{\partial}{\partial\tau}\int_0^\tau f(x+T)\cos(\frac{2n\pi}{\tau}x)dx \\=-\frac{a_n}{\tau}+\frac2\tau \left f(x+T)\cos(\frac{2n\pi}{\tau}x)\right|_{x=\tau}+\frac2\tau \int_0^\tau f(x+T)\frac{\partial}{\partial\tau}\cos(\frac{2n\pi}{\tau}x)dx \\=-\frac{a_n}{\tau}+\frac{2f(T+\tau)}\tau+\frac{2n\pi}{\tau^2}\frac2\tau\int_0^\tau f(x+T)\sin(\frac{2n\pi}{\tau}x)dx \\=\frac1\tau\left[ 2f(T+\tau)-a_n+\frac{2n\pi}\tau b_n\right ]



\\\frac{\partial}{\partial\tau}b_n(\tau,T)=\frac{\partial}{\partial\tau}\left[\frac2\tau \int_0^\tau f_{\tau,T}(x)\sin(\frac{2n\pi}{\tau}x)dx\right] \\=-\frac2{\tau^2} \int_0^\tau f_{\tau,T}(x)\sin(\frac{2n\pi}{\tau}x)dx+\frac2\tau \frac{\partial}{\partial\tau}\left[\int_0^\tau f_{\tau,T}(x)\sin(\frac{2n\pi}{\tau}x)dx\right] \\=-\frac{b_n}{\tau}+\frac2\tau \frac{\partial}{\partial\tau}\int_0^\tau f(x+T)\sin(\frac{2n\pi}{\tau}x)dx \\=-\frac{b_n}{\tau}+\frac2\tau \left f(x+T)\sin(\frac{2n\pi}{\tau}x)\right|_{x=\tau}+\frac2\tau \int_0^\tau f(x+T)\frac{\partial}{\partial\tau}\sin(\frac{2n\pi}{\tau}x)dx \\=-\frac{a_n}{\tau}-\frac{2n\pi}{\tau^2}\frac2\tau\int_0^\tau f(x+T)\cos(\frac{2n\pi}{\tau}x)dx \\=-\frac1\tau\left[b_n+\frac{2n\pi}\tau a_n\right ]


정리해보면 다음과 같은 관계식을 얻는다.


\text{For a function }f\text{ defined on the real line, its sample} \\f_{\tau,T}\text{ - which has }\tau\text{ as the length and }T\text{ as the starting point - } \\\text{has the following properties.} \\\\f_{\tau,T}(x)=f(x+T) \\f_{\tau,T}(x)=a_0+\sum_n \left[a_n\cos(\frac{2n\pi}{\tau}x)+b_n\sin(\frac{2n\pi}{\tau}x)\right]



\\a_0(\tau,T)=\frac1\tau \int_0^\tau f_{\tau,T}(x)dx \\a_n(\tau,T)=\frac2\tau \int_0^\tau f_{\tau,T}(x)\cos(\frac{2n\pi}{\tau}x)dx \\b_n(\tau,T)=\frac2\tau \int_0^\tau f_{\tau,T}(x)\sin(\frac{2n\pi}{\tau}x)dx



\\\frac{\partial}{\partial T}a_0(\tau,T)=\frac1\tau\left[f(T+\tau)-f(T) \right ] \\\frac{\partial}{\partial T}a_n(\tau,T)=\frac2\tau \left[ f(T+\tau)-f(T)\right]+\frac{2n\pi}{\tau}b_n \\\frac{\partial}{\partial T}b_n(\tau,T)=-\frac{2n\pi}{\tau}a_n



\\\frac{\partial}{\partial\tau}a_0(\tau,T)=\frac1\tau\left[f(T+\tau)-a_0\right] \\\frac{\partial}{\partial\tau}a_n(\tau,T)=\frac1\tau\left[ 2f(T+\tau)-a_n+\frac{2n\pi}\tau b_n\right ] \\\frac{\partial}{\partial\tau}b_n(\tau,T)=-\frac1\tau\left[b_n+\frac{2n\pi}\tau a_n\right ]





쓸만한 곳이 있는지는 모르겠는데 일단 실시간 퓨리에 변환에 유리하고(FFT를 한 샘플 버리고 한 샘플 채취할 때마다 행하는 것보다 위의 방법으로 업데이트 하는 방식이 더 빠르다. 전자는 N logN인데 이 경우엔 N 정도-위에서 언급한 논문에도 나와 있다.), 또 한 가지 쓸모를 생각해 본다면 FFT에서 생기는 샘플 갯수에 대한 제한 문제를 비껴나갈 방법이 될 지도 모르겠다는 것. FFT를 쓰려면 데이터의 개수가 2^N의 꼴로 나와야 한다고 알고 있는데 거기에서 더 많을 경우 추가 데이터를 날려버리거나 더 적을 경우 0으로 추가 데이터를 만들어 FFT를 실행한다고 알고 있다. 위 관계식은 연속함수에 대해 구한 것이긴 하지만 이산화하면 2^N개의 데이터로 FFT를 한 다음에 데이터를 추가해주거나 빼주는 방식으로 원래 값에 맞도록 보정하는 것이 가능해진다. DFT의 시간이 N^2이라고 알고 있는데 정확한 값을 N logN에서 N^2 사이의 값으로 구하는 것도 가능하다는 것.


샘플 구간의 중심을 0으로 두고 구간의 길이를 점차 늘이는 문제로도 확장해볼 생각이 있다. 이건 양자장론에서 cut-off 문제와도 관련이 있을 것 같아서 풀어보려고 생각중인 문제.


그런데 왜 이 간단한 걸 찾아도 안 보이지... 미분만 잘 하면 되잖아...


Posted by 덱스터
이전버튼 1 이전버튼

블로그 이미지
A theorist takes on the world
덱스터
Yesterday
Today
Total

달력

 « |  » 2024.11
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함