7.8 편도함수의 정의와 계산
1. 편도함수의 정의
1.1 기본 정의
다변수 함수 f: \mathbb{R}^n \to \mathbb{R}의 변수 x_i에 대한 편도함수(partial derivative)는, 나머지 모든 변수를 상수로 고정한 상태에서 x_i에 대해 미분한 것이다.
\frac{\partial f}{\partial x_i}(\mathbf{a}) = \lim_{h \to 0} \frac{f(a_1, \ldots, a_i + h, \ldots, a_n) - f(a_1, \ldots, a_i, \ldots, a_n)}{h}
이 극한이 존재할 때, f는 점 \mathbf{a}에서 x_i에 대해 편미분 가능하다고 한다. 편도함수의 다양한 표기법이 있다.
\frac{\partial f}{\partial x_i}, \quad f_{x_i}, \quad \partial_i f, \quad D_i f, \quad f_i
1.2 변수 함수의 경우
f(x, y)에 대한 편도함수는:
\frac{\partial f}{\partial x}(a, b) = \lim_{h \to 0} \frac{f(a+h, b) - f(a, b)}{h}
\frac{\partial f}{\partial y}(a, b) = \lim_{h \to 0} \frac{f(a, b+h) - f(a, b)}{h}
1.3 기하학적 의미
2변수 함수 z = f(x, y)에서, \frac{\partial f}{\partial x}(a, b)는 곡면 z = f(x, y) 위의 점 (a, b, f(a,b))에서 y = b로 고정하고 x 방향으로 자른 단면 곡선의 기울기이다. 마찬가지로 \frac{\partial f}{\partial y}(a, b)는 x = a로 고정하고 y 방향으로 자른 단면의 기울기이다.
2. 편도함수의 계산
2.1 계산 규칙
편도함수의 계산은 일변수 미분과 동일한 규칙을 따르되, 미분하지 않는 변수를 상수로 취급한다.
예제 1: f(x, y) = x^2y + 3xy^3 - 2y
\frac{\partial f}{\partial x} = 2xy + 3y^3
\frac{\partial f}{\partial y} = x^2 + 9xy^2 - 2
예제 2: f(q_1, q_2) = l_1\cos q_1 + l_2\cos(q_1 + q_2) (2-링크 매니퓰레이터의 x-좌표)
\frac{\partial f}{\partial q_1} = -l_1\sin q_1 - l_2\sin(q_1 + q_2)
\frac{\partial f}{\partial q_2} = -l_2\sin(q_1 + q_2)
이 편도함수들이 자코비안 행렬의 성분이 된다.
예제 3: T = \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n} M_{ij}(\mathbf{q})\dot{q}_i\dot{q}_j (운동 에너지)
\dot{q}_k에 대한 편도함수:
\frac{\partial T}{\partial \dot{q}_k} = \sum_{j=1}^{n} M_{kj}(\mathbf{q})\dot{q}_j
q_k에 대한 편도함수:
\frac{\partial T}{\partial q_k} = \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n} \frac{\partial M_{ij}}{\partial q_k}\dot{q}_i\dot{q}_j
이 두 편도함수는 오일러-라그랑주 방정식에서 핵심적 역할을 한다.
3. 고차 편도함수
3.1 차 편도함수
1차 편도함수를 다시 편미분하면 2차 편도함수를 얻는다. f(x, y)에 대해 네 종류의 2차 편도함수가 존재한다.
\frac{\partial^2 f}{\partial x^2} = f_{xx}, \qquad \frac{\partial^2 f}{\partial y \partial x} = f_{xy}, \qquad \frac{\partial^2 f}{\partial x \partial y} = f_{yx}, \qquad \frac{\partial^2 f}{\partial y^2} = f_{yy}
여기서 f_{xy} = \frac{\partial}{\partial y}\left(\frac{\partial f}{\partial x}\right)이다. 즉, 먼저 x에 대해 미분한 후 y에 대해 미분한다.
3.2 클레로 정리 (슈바르츠 정리)
f의 2차 편도함수 f_{xy}와 f_{yx}가 점 (a, b)의 근방에서 연속이면, 미분의 순서를 교환할 수 있다.
\frac{\partial^2 f}{\partial x \partial y}(a, b) = \frac{\partial^2 f}{\partial y \partial x}(a, b)
로봇공학에서 사용되는 대부분의 함수(삼각함수, 다항함수, 지수함수의 합성)는 이 조건을 만족하므로, 편미분의 순서를 자유롭게 교환할 수 있다.
3.3 일반 고차 편도함수
n변수 함수의 k차 편도함수는 다중 인덱스 \boldsymbol{\alpha} = (\alpha_1, \ldots, \alpha_n)으로 표기한다.
D^{\boldsymbol{\alpha}} f = \frac{\partial^{\lvert\boldsymbol{\alpha}\rvert} f}{\partial x_1^{\alpha_1} \partial x_2^{\alpha_2} \cdots \partial x_n^{\alpha_n}}
여기서 \lvert\boldsymbol{\alpha}\rvert = \alpha_1 + \alpha_2 + \cdots + \alpha_n은 미분의 총 차수이다.
4. 기울기 벡터
4.1 정의
스칼라 함수 f: \mathbb{R}^n \to \mathbb{R}의 기울기 벡터(gradient)는 모든 편도함수를 성분으로 하는 벡터이다.
\nabla f(\mathbf{x}) = \text{grad}\, f(\mathbf{x}) = \begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \frac{\partial f}{\partial x_2} \\ \vdots \\ \frac{\partial f}{\partial x_n} \end{bmatrix}
4.2 기울기의 성질
- 최급상승 방향: \nabla f(\mathbf{a})는 점 \mathbf{a}에서 f가 가장 빠르게 증가하는 방향을 가리킨다.
- 등위면에 수직: \nabla f(\mathbf{a})는 점 \mathbf{a}를 지나는 등위면 f(\mathbf{x}) = f(\mathbf{a})에 수직이다.
- 크기: \lVert \nabla f(\mathbf{a}) \rVert는 최급상승 방향으로의 변화율의 크기이다.
4.3 방향 도함수
단위 벡터 \mathbf{u} (\lVert \mathbf{u} \rVert = 1) 방향으로의 방향 도함수(directional derivative)는 다음과 같다.
D_\mathbf{u} f(\mathbf{a}) = \lim_{h \to 0} \frac{f(\mathbf{a} + h\mathbf{u}) - f(\mathbf{a})}{h} = \nabla f(\mathbf{a}) \cdot \mathbf{u}
f가 미분 가능하면 방향 도함수는 기울기와 방향 벡터의 내적으로 계산된다. 코시-슈바르츠 부등식에 의해:
\lvert D_\mathbf{u} f \rvert = \lvert \nabla f \cdot \mathbf{u} \rvert \leq \lVert \nabla f \rVert \lVert \mathbf{u} \rVert = \lVert \nabla f \rVert
등호는 \mathbf{u} = \frac{\nabla f}{\lVert \nabla f \rVert}일 때 성립하며, 이것이 최급상승 방향이다.
5. 헤시안 행렬
5.1 정의
f: \mathbb{R}^n \to \mathbb{R}의 헤시안 행렬(Hessian matrix)은 2차 편도함수로 구성된 대칭 행렬이다.
\mathbf{H}(f)(\mathbf{x}) = \nabla^2 f(\mathbf{x}) = \begin{bmatrix} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1 \partial x_n} \\ \frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2 \partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^2 f}{\partial x_n \partial x_1} & \frac{\partial^2 f}{\partial x_n \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2} \end{bmatrix}
클레로 정리에 의해 2차 편도함수가 연속이면 H_{ij} = H_{ji}이므로 헤시안은 대칭 행렬이다.
5.2 헤시안의 역할
헤시안 행렬은 다음의 정보를 제공한다.
- 곡률 정보: 함수의 각 방향으로의 곡률을 나타낸다.
- 극값 판정: 임계점에서 헤시안의 고유값 부호로 극대, 극소, 안장점을 판별한다.
- 최적화: 뉴턴법에서 헤시안의 역행렬이 탐색 방향을 결정한다.
6. 자코비안 행렬
6.1 정의
벡터값 함수 \mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m의 자코비안 행렬(Jacobian matrix)은 모든 1차 편도함수를 성분으로 하는 m \times n 행렬이다.
\mathbf{J}_{\mathbf{f}}(\mathbf{x}) = \frac{\partial \mathbf{f}}{\partial \mathbf{x}} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \cdots & \frac{\partial f_1}{\partial x_n} \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_2}{\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \frac{\partial f_m}{\partial x_2} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix}
자코비안 행렬의 i번째 행은 스칼라 함수 f_i의 기울기 벡터 \nabla f_i^\top이다.
6.2 로봇공학에서의 자코비안
로봇 순기구학 함수의 자코비안은 관절 속도와 말단장치 속도를 연결하는 핵심 행렬이다.
\dot{\mathbf{x}} = \mathbf{J}(\mathbf{q})\dot{\mathbf{q}}
자코비안의 성질은 로봇의 운동학적 특성을 직접 반영한다.
| 성질 | 의미 |
|---|---|
| \text{rank}(\mathbf{J}) = m | 말단장치가 모든 방향으로 운동 가능 |
| \text{rank}(\mathbf{J}) < m | 특이 형상, 일부 방향 운동 불가 |
| \det(\mathbf{J}) = 0 (정방 경우) | 특이점 |
| \lVert \mathbf{J} \rVert 큰 값 | 작은 관절 운동으로 큰 말단 운동 |
7. 편미분 가능성과 전미분 가능성
7.1 편미분 가능성의 한계
모든 편도함수가 존재하더라도 함수가 연속이 아닐 수 있다. 다음은 이를 보여주는 반례이다.
f(x, y) = \begin{cases} \dfrac{xy}{x^2 + y^2} & (x, y) \neq (0, 0) \\ 0 & (x, y) = (0, 0) \end{cases}
원점에서 \frac{\partial f}{\partial x}(0,0) = 0, \frac{\partial f}{\partial y}(0,0) = 0이 존재하지만, f는 원점에서 연속이 아니다.
7.2 전미분 가능성 (프레셰 미분 가능성)
f가 점 \mathbf{a}에서 전미분 가능(totally differentiable)하다 함은, 선형 사상 \mathbf{L}: \mathbb{R}^n \to \mathbb{R}이 존재하여:
\lim_{\mathbf{h} \to \mathbf{0}} \frac{f(\mathbf{a} + \mathbf{h}) - f(\mathbf{a}) - \mathbf{L}(\mathbf{h})}{\lVert \mathbf{h} \rVert} = 0
이 조건은 편미분 가능성보다 강하다. 전미분 가능하면 연속이고 모든 방향 도함수가 존재하며, \mathbf{L}(\mathbf{h}) = \nabla f(\mathbf{a})^\top \mathbf{h}이다.
충분 조건: 편도함수가 모두 존재하고 점 \mathbf{a}의 근방에서 연속이면, f는 \mathbf{a}에서 전미분 가능하다.
참고 문헌
- Apostol, T. M. (1974). Mathematical Analysis. 2nd ed. Addison-Wesley.
- Marsden, J. E., & Tromba, A. J. (2003). Vector Calculus. 5th ed. W. H. Freeman.
- Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. 3rd ed. Pearson.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
v 0.1