7.5 고차 도함수와 테일러 급수 전개
1. 고차 도함수
1.1 정의
함수 f(x)의 n계 도함수(nth derivative)는 (n-1)계 도함수의 도함수로 귀납적으로 정의된다.
f^{(n)}(x) = \frac{d}{dx}f^{(n-1)}(x), \quad n \geq 1
여기서 f^{(0)}(x) = f(x)이다. 라이프니츠 표기법으로는 다음과 같다.
\frac{d^nf}{dx^n} = \frac{d}{dx}\left(\frac{d^{n-1}f}{dx^{n-1}}\right)
함수가 n번 미분 가능하면 C^n 급이라 하고, 무한히 미분 가능하면 C^\infty 급(매끄러운 함수, smooth function)이라 한다. 로봇의 궤적은 일반적으로 C^2 이상의 매끄러움이 요구되는데, 이는 위치, 속도, 가속도의 연속성을 보장하기 위함이다.
1.2 기본 함수의 고차 도함수
| 함수 | n계 도함수 |
|---|---|
| x^m (m \geq n) | \dfrac{m!}{(m-n)!}x^{m-n} |
| e^{ax} | a^n e^{ax} |
| \sin(ax) | a^n \sin\left(ax + \dfrac{n\pi}{2}\right) |
| \cos(ax) | a^n \cos\left(ax + \dfrac{n\pi}{2}\right) |
| \ln x | (-1)^{n-1}\dfrac{(n-1)!}{x^n} |
| (1+x)^\alpha | \dfrac{\Gamma(\alpha+1)}{\Gamma(\alpha-n+1)}(1+x)^{\alpha-n} |
1.3 라이프니츠 공식
두 함수의 곱에 대한 n계 도함수는 라이프니츠 공식(Leibniz formula)으로 주어진다.
(fg)^{(n)} = \sum_{k=0}^{n} \binom{n}{k} f^{(k)} g^{(n-k)}
여기서 \binom{n}{k} = \frac{n!}{k!(n-k)!}는 이항계수이다. 이 공식은 이항정리 (a+b)^n의 미분 버전에 해당한다.
예제: f(x) = x^2 e^x의 n계 도함수를 구하라.
g(x) = x^2, h(x) = e^x로 놓으면 g'(x) = 2x, g''(x) = 2, g^{(k)}(x) = 0 (k \geq 3)이고, h^{(k)}(x) = e^x이므로:
f^{(n)}(x) = e^x\left[x^2 + 2nx + n(n-1)\right]
2. 테일러 급수
2.1 테일러 정리
f가 점 a를 포함하는 열린 구간에서 (n+1)번 미분 가능하면, 다음의 전개가 성립한다.
f(x) = \sum_{k=0}^{n} \frac{f^{(k)}(a)}{k!}(x - a)^k + R_n(x)
여기서 R_n(x)는 나머지 항(remainder term)이다.
2.2 나머지 항의 형태
라그랑주 나머지 (Lagrange remainder): a와 x 사이에 c가 존재하여
R_n(x) = \frac{f^{(n+1)}(c)}{(n+1)!}(x - a)^{n+1}
코시 나머지 (Cauchy remainder):
R_n(x) = \frac{f^{(n+1)}(c)}{n!}(x - c)^n(x - a)
적분형 나머지 (Integral remainder):
R_n(x) = \frac{1}{n!}\int_a^x (x - t)^n f^{(n+1)}(t)\,dt
2.3 테일러 급수
n \to \infty일 때 R_n(x) \to 0이면, 함수는 무한 테일러 급수로 전개된다.
f(x) = \sum_{k=0}^{\infty} \frac{f^{(k)}(a)}{k!}(x - a)^k
a = 0인 특수한 경우를 매클로린 급수(Maclaurin series)라 한다.
f(x) = \sum_{k=0}^{\infty} \frac{f^{(k)}(0)}{k!}x^k
2.4 주요 함수의 테일러 급수
e^x = \sum_{k=0}^{\infty} \frac{x^k}{k!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots
\sin x = \sum_{k=0}^{\infty} \frac{(-1)^k x^{2k+1}}{(2k+1)!} = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots
\cos x = \sum_{k=0}^{\infty} \frac{(-1)^k x^{2k}}{(2k)!} = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \cdots
\frac{1}{1-x} = \sum_{k=0}^{\infty} x^k = 1 + x + x^2 + x^3 + \cdots \quad (\lvert x \rvert < 1)
\ln(1+x) = \sum_{k=1}^{\infty} \frac{(-1)^{k+1} x^k}{k} = x - \frac{x^2}{2} + \frac{x^3}{3} - \cdots \quad (\lvert x \rvert \leq 1, \; x \neq -1)
(1+x)^\alpha = \sum_{k=0}^{\infty} \binom{\alpha}{k} x^k \quad (\lvert x \rvert < 1)
여기서 일반화된 이항계수는 \binom{\alpha}{k} = \frac{\alpha(\alpha-1)\cdots(\alpha-k+1)}{k!}이다.
3. 다변수 테일러 전개
3.1 변수 함수의 테일러 전개
f(x, y)가 점 (a, b) 주위에서 충분히 매끄러우면:
f(x, y) = f(a, b) + \left[(x-a)\frac{\partial}{\partial x} + (y-b)\frac{\partial}{\partial y}\right]f\bigg\vert_{(a,b)}
$$
- \frac{1}{2!}\left[(x-a)\frac{\partial}{\partial x} + (y-b)\frac{\partial}{\partial y}\right]^2 f\bigg\vert_{(a,b)} + \cdots
$$
2차까지 전개하면:
f(x,y) \approx f(a,b) + f_x(a,b)(x-a) + f_y(a,b)(y-b)
$$
- \frac{1}{2}\left[f_{xx}(a,b)(x-a)^2 + 2f_{xy}(a,b)(x-a)(y-b) + f_{yy}(a,b)(y-b)^2\right]
$$
3.2 벡터 표기
\mathbf{x} \in \mathbb{R}^n이고 전개점이 \mathbf{a}일 때, 스칼라 함수 f(\mathbf{x})의 테일러 전개는 다음과 같다.
1차 근사 (선형 근사):
f(\mathbf{x}) \approx f(\mathbf{a}) + \nabla f(\mathbf{a})^\top (\mathbf{x} - \mathbf{a})
2차 근사 (이차 근사):
f(\mathbf{x}) \approx f(\mathbf{a}) + \nabla f(\mathbf{a})^\top (\mathbf{x} - \mathbf{a}) + \frac{1}{2}(\mathbf{x} - \mathbf{a})^\top \mathbf{H}(\mathbf{a})(\mathbf{x} - \mathbf{a})
여기서 \mathbf{H}(\mathbf{a})는 점 \mathbf{a}에서의 헤시안 행렬이다.
H_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j}\bigg\vert_{\mathbf{x}=\mathbf{a}}
4. 로봇공학에서의 응용
4.1 비선형 시스템의 선형화
로봇의 비선형 상태 방정식 \dot{\mathbf{x}} = \mathbf{f}(\mathbf{x}, \mathbf{u})를 평형점 (\mathbf{x}_0, \mathbf{u}_0) 주위에서 1차 테일러 전개하면:
\dot{\mathbf{x}} \approx \mathbf{f}(\mathbf{x}_0, \mathbf{u}_0) + \frac{\partial \mathbf{f}}{\partial \mathbf{x}}\bigg\vert_{(\mathbf{x}_0, \mathbf{u}_0)} (\mathbf{x} - \mathbf{x}_0) + \frac{\partial \mathbf{f}}{\partial \mathbf{u}}\bigg\vert_{(\mathbf{x}_0, \mathbf{u}_0)} (\mathbf{u} - \mathbf{u}_0)
\delta\mathbf{x} = \mathbf{x} - \mathbf{x}_0, \delta\mathbf{u} = \mathbf{u} - \mathbf{u}_0로 놓고, 평형점에서 \mathbf{f}(\mathbf{x}_0, \mathbf{u}_0) = \mathbf{0}이면:
\delta\dot{\mathbf{x}} = \mathbf{A}\,\delta\mathbf{x} + \mathbf{B}\,\delta\mathbf{u}
여기서 \mathbf{A} = \frac{\partial \mathbf{f}}{\partial \mathbf{x}}\big\vert_{(\mathbf{x}_0, \mathbf{u}_0)}, \mathbf{B} = \frac{\partial \mathbf{f}}{\partial \mathbf{u}}\big\vert_{(\mathbf{x}_0, \mathbf{u}_0)}이다. 이렇게 선형화된 시스템에 대해 선형 제어 기법(LQR, 극배치 등)을 적용할 수 있다.
4.2 궤적의 매끄러움 조건
로봇 궤적 q(t)가 C^k 급이려면 k계까지의 도함수가 연속이어야 한다. 실용적으로:
- C^0: 위치 연속 (위치 불연속 방지)
- C^1: 속도 연속 (속도 점프 방지)
- C^2: 가속도 연속 (토크 불연속 방지)
- C^3: 저크(jerk) 연속 (진동 최소화)
다항식 궤적에서 n차 다항식은 C^\infty 급이지만, 구간별 다항식(spline)을 사용할 때는 이음점(knot)에서의 매끄러움 조건이 고차 도함수의 일치로 표현된다.
4.3 뉴턴-랩슨법에서의 활용
역기구학 등의 비선형 방정식 \mathbf{f}(\mathbf{q}) = \mathbf{0}을 풀기 위한 뉴턴-랩슨법(Newton-Raphson method)은 1차 테일러 전개에 기반한다.
\mathbf{f}(\mathbf{q} + \Delta\mathbf{q}) \approx \mathbf{f}(\mathbf{q}) + \mathbf{J}(\mathbf{q})\Delta\mathbf{q} = \mathbf{0}
따라서 갱신 규칙은:
\Delta\mathbf{q} = -\mathbf{J}(\mathbf{q})^{-1}\mathbf{f}(\mathbf{q})
\mathbf{q}_{k+1} = \mathbf{q}_k - \mathbf{J}(\mathbf{q}_k)^{-1}\mathbf{f}(\mathbf{q}_k)
이 방법은 초기 추정값이 해에 충분히 가까우면 2차 수렴(quadratic convergence)을 보인다. 즉, 오차 \lVert \mathbf{q}_k - \mathbf{q}^* \rVert가 반복마다 제곱 비율로 감소한다.
4.4 최적화에서의 2차 근사
목적함수 f(\mathbf{q})를 현재 점 \mathbf{q}_k 주위에서 2차 테일러 전개하면:
f(\mathbf{q}) \approx f(\mathbf{q}_k) + \nabla f(\mathbf{q}_k)^\top (\mathbf{q} - \mathbf{q}_k) + \frac{1}{2}(\mathbf{q} - \mathbf{q}_k)^\top \mathbf{H}_k (\mathbf{q} - \mathbf{q}_k)
이 근사식의 최솟값을 구하면 뉴턴 방향(Newton direction)을 얻는다.
\nabla f(\mathbf{q}_k) + \mathbf{H}_k(\mathbf{q} - \mathbf{q}_k) = \mathbf{0}
\mathbf{q}_{k+1} = \mathbf{q}_k - \mathbf{H}_k^{-1}\nabla f(\mathbf{q}_k)
5. 수렴 반경과 해석 함수
테일러 급수가 수렴하는 범위는 수렴 반경(radius of convergence) R로 결정된다.
R = \frac{1}{\limsup_{k \to \infty} \lvert a_k \rvert^{1/k}}
여기서 a_k = \frac{f^{(k)}(a)}{k!}이다. \lvert x - a \rvert < R이면 급수가 절대 수렴하고, \lvert x - a \rvert > R이면 발산한다. 테일러 급수가 정의역 전체에서 함수 자체와 일치하는 함수를 해석 함수(analytic function)라 하며, 로봇공학에서 사용되는 대부분의 기본 함수(e^x, \sin x, \cos x, 다항식 등)는 해석 함수이다.
참고 문헌
- Apostol, T. M. (1967). Calculus, Volume 1. 2nd ed. Wiley.
- Rudin, W. (1976). Principles of Mathematical Analysis. 3rd ed. McGraw-Hill.
- Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. 3rd ed. Pearson.
- Nocedal, J., & Wright, S. J. (2006). Numerical Optimization. 2nd ed. Springer.
v 0.1