(매스매티카의 도움을 받아 계산하기는 했지만) 계산을 나 자신도 '와 저게 정리가 되는구나...' 싶은 부분이 있어서 저 무한급수를 더하는데 들어간 테크닉을 좀 정리해보기로 했다. 저 무한급수는 일단은 다음 식[각주: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의 미분이 되어 우변을 만족할 수 없게 된다. [본문으로]

'Mathematics' 카테고리의 다른 글

An elementary technique for resumming power series  (0) 2021.07.30
A soft cut-off regulator  (0) 2020.11.30
적분구간에 대한 섭동계산 취급법  (0) 2020.08.12
행렬식의 섭동계산  (0) 2020.07.30
Integral for Dirac delta  (0) 2020.03.26
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
덱스터
Yesterday36
Today17
Total736,205

달력

 « |  » 2023.3
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 31

글 보관함