유한차분법 복습을 하던 중 도함수의 근사는 forward/backward/central difference가 있지만 이계도함수의 근사는 하나의 식만 주로 사용되는 걸 보면서, '그럼 도함수와 이계도함수의 정의도 이런 식인가?' 라는 생각이 들었다. 그러다보니 '그럼 애초에 이계도함수의 정의는 무엇이었나' 하는 생각이 들어서 돌아와보기로 했다.
도함수의 정의
도함수에 대해 배울때 두 가지 형태 (limh→0hf(x+h)−f(x), limh→0hf(x)−f(x−h)) 를 배웠고, symmetric derivative limh→02hf(x+h)−f(x−h) 라는 것의 존재도 배웠다.
derivative는 존재하지 않지만 symmetric derivative는 존재하는 뭐 그런 경우도 있다는 것 (y=∣x∣)도 복습
위 세 가지가 Forward / Backward / Central (first-order) Finite Difference의 정의와 동일한 형태이다.
이계도함수의 정의
함수 f(x) 의 도함수 f′(x) 가 미분 가능할 때,
f′′(x)=limk→0kf′(x+k)−f′(x)
즉 정의 자체가 도함수의 도함수 이다.
위 식에 f′(x)=limh→0hf(x+h)−f(x) 를 굳이 대입 해본다면
f′′(x)=limk→0limh→0khf(x+k+h)−f(x+k)−hf(x+h)−f(x) 와 같이 정리가 가능하고
고등학교에서 처음 도함수 공식을 배울 때처럼, toy example로 예를 들어 f(x)=x2 를 대입해서 이계도함수를 구해보면
f′′(x)=limk→0limh→0kh(x+k+h)2−(x+k)2−h(x+h)2−x2
f′′(x)=limk→0limh→0hkx2+k2+h2+2xk+2kh+2xh−x2−2xk−k2−(x2+2xh+h2−x2)
f′′(x)=limk→0limh→0hkk2+2xk+2kh−2xk−k2=limk→0limh→0hk2kh=limk→0limh→02=2
와 같이 이계도함수가 잘 구해지는 것을 알 수 있다. 이런 걸 딱히 해볼 필요는 없다는 걸 머리로는 알아도 막상 해봤을 때 진짜 되는 걸 보면 신기하다
또한 이계도함수에 대해서도 Second Symmetric Derivative라는 정의가 존재하고, 이것이 2계 유한차분법에 쓰이는 식과 동일하게 생겼다.
왜 이계도함수 기호의 분자에서는 d 를 제곱하고, 분모에서는 dx 를 제곱하는가
아마 고등학교 다닐 때에도 이게 궁금했었는데, dxd(dxd)=dx2d2 와 같이 기호끼리 곱한다는 설명이 납득이 되지 않았다.
d2x2d2 도 아니고,(dx)2d2 도 아니고, 꼭 dx2d2 이라고 통상적으로 쓰는 이유가 뭘까? 애초에 d 는 왜 d 끼리 곱해져서 d2 라는 게 될 수 있는 걸까?
근데 이것저것 찾다보니 이런 걸 보게 됐는데
Derivative는 Finite difference에 극한을 취한 것이고, Difference operator를 (예를 들어, Δh 라고) 정의했을 때 이계도함수(의 근사)는 (Δhx)2Δh2f(x) 라고 쓸 수 있다는 설명은 굉장히 그럴 듯해보였다.
(위 식의 분자와 관련해서) 생각해보면 시계열 수업에서도 Difference Operator를 (예를 들어, Δ 라고 정의하고) 두 번 적용하면 Δ2Yt 와 같이 표기하는 걸 본 적이 있다.
Taylor Series로 유도하는 Finite Difference
Second Order Finite Difference는 왜 저런 형태를 주로 쓸까
f′′(x)≈hhf(x+h)−f(x)−hf(x)−f(x−h)
사실 모든 것의 시작이자 가장 의문이었던 것은 이거였다.
First Order는 Forward, Backward, Central 모두 다루는데 Second Order는 왜 하필 저 식만이 집중적으로 쓰일까?
그리고 x−k 부터 x+k 까지 개입하는데 왜 분모는 꼭 2h2 가 아닌 h2 이어야만 하는 걸까?
구글링을 하다보면 말장난같은 설명도 많았지만, Taylor Expansion에서 시작하면 가장 괜찮은 form이 위와 같음을 납득할 수 있다.
처음 배우는 Taylor Expansion은 함수 f(x) 를 x=a 기준으로 근사하면 f(x)=f(a)+∑i=1∞n!f(n)(x−a)n 와 같이 나타낼 수 있다는 것이고, 이와 유사하게 f(x+h) 를 x=x 기준으로 근사하면
f(x+h)=f(x)+f′(x)⋅h+2!f′′(x)⋅h2+3!f′′′(x)⋅h3+4!f′′′′(x)⋅h4⋯
와 같이 써낼 수 있다. 이걸 그냥 정리해서
f(x+h)−f(x)−f′(x)⋅hh22(f(x+h)−f(x)−f′(x)⋅h)=+2!f′′(x)⋅h2+3!f′′′(x)⋅h3+4!f′′′′(x)⋅h4⋯=f′′(x)+O(h)
와 같이 이계도함수를 근사해도 되겠지만, 이러면 오차는 O(h) 이고, forward 방향의 정보만 이용한 근사값이 된다.
이를 보완하기 위해, 이번에는 f(x−h) 를 근사하면
f(x−h)=f(x)+f′(x)⋅(−h)+2!f′′(x)⋅(−h)2+3!f′′′(x)⋅(−h)3+4!f′′′′(x)⋅(−h)4⋯
와 같고, f(x+h) 와 f(x−h) 를 근사한 식 두 개를 변끼리 더하면
f(x+h)+f(x−h)f(x+h)−2f(x)+f(x−h)h2f(x+h)−2f(x)+f(x−h)h2f(x+h)−2f(x)+f(x−h)=2f(x)+22!f′′(x)h2+24!f′′′′(x)h4+⋯=f′′(x)h2+12f′′′′(x)h4+⋯=f′′(x)+12f′′′′(x)h2+⋯=f′′(x)+O(h2)
이렇게 식이 유도되며, 오차도 O(h2) 이 되었다.
First Order Finite Difference
위와 같은 방식으로 First Order에 대해서도 Taylor Expansion으로부터 식을 유도할 수 있고, 그렇게 했을 때 오차가 O(h) 임을 쉽게 알 수 있다.
2026.01.04
2026.01.06
References