방향 도함수와 Gradient 벡터

방향 도함수, Gradient 벡터의 성질과 상관관계

2019년 02월 25일

방향 도함수 (Directional derivative)

미분계수 또는 도함수는 기울기를 뜻합니다. 2차원 평면에서 xx 의 아주 작은 변화량에 대해 yy 의 기울기를 구하면 그것을 도함수라 불렀었습니다. 방향 도함수는 벡터에 대한 도함수라 생각할 수 있습니다. 편미분이 xx 축과 yy 축에 대해 변화율을 구하는 수단이었다면 방향 도함수는 임의의 방향에 대해 그 변화율을 구할 수 있게 해줍니다. 아래 그림은 3차원 좌표계에서 단위 벡터 vv 에 대해 z=f(x,y)z = f(x, y) 의 한 점 P(x0,y0)P(x_0, y_0) 에서의 도함수를 구하는 과정을 요약적으로 보여줍니다.

v=(v1,v2)v = (v_1, v_2) 일 때 zz 의 기울기 즉, 방향도함수를 다음과 같이 쓸 수 있습니다.

limt0f(x0+tv1,y0+tv2)f(x0,y0)tlim_{t \to 0}\frac{f(x_0 + t v_1, y_0 + t v_2) - f(x_0, y_0)}{t}

한편 이 식은 잠시후 알아볼 Gradient 벡터 f\nabla f 와 단위 벡터 vv 의 내적 fv\nabla f \cdot v 와 같습니다. 이를 증명하기 위해 식 g(t)=f(x0+tv1,y0+tv2)g(t) = f(x_0 + t v_1, y_0 + t v_2) 를 정의하겠습니다.

g(t)=limh0g(t+h)g(t)hg(0)=limh0g(h)g(0)h=limh0f(x0+hv1,y0+hv2)f(x0,y0)h\begin{aligned} g'(t) & = lim_{h \to 0} \frac{g(t + h) - g(t)}{h} \\ \\ g'(0) & = lim_{h \to 0} \frac{g(h) - g(0)}{h} \\ \\ & = lim_{h \to 0}\frac{f(x_0 + h v_1, y_0 + h v_2) - f(x_0, y_0)}{h} \end{aligned}

위 식은 g(0)g'(0)z=f(x,y)z = f(x, y) 의 방향도함수와 일치함을 보여줍니다. 한편 g(t)g'(t) 를 아래와 같이 쓸 수 있습니다.

g(t)=gxdxdt+gydydt=gxd(x0+tv1)dt+gyd(y0+tv2)dtg(0)=f(x0,y0)xv1+f(x0,y0)yv2=fv\begin{aligned} g'(t) & = \frac{\partial g}{\partial x} \frac{dx}{dt} + \frac{\partial g}{\partial y} \frac{dy}{dt} \\ \\ & = \frac{\partial g}{\partial x} \frac{d(x_0 + t v_1)}{dt} + \frac{\partial g}{\partial y} \frac{d(y_0 + t v_2)}{dt} \\ \\ \\ g'(0) & = \frac{\partial f(x_0, y_0)}{\partial x} v_1 + \frac{\partial f(x_0, y_0)}{\partial y} v_2 \\ \\ & = \nabla f \cdot v \end{aligned}

따라서 식 z=f(x,y)z = f(x, y) 의 방향도함수는 fv\nabla f \cdot v 와 같습니다. 단위벡터 vv 에 대한 ff 의 방향도함수는 DvfD_v f 라 쓰고 아래와 같이 쓸 수 있습니다.

Dvf=fvD_v f = \nabla f \cdot v





Gradient 벡터

Gradient는 기울기를 뜻합니다. 기울기는 어느 시간 또는 지점에서의 증가율을 말합니다. 함수 ff의 Gradient는 f\nabla f과 같이 쓰고 삼변수 x,y,zx, y, z에 대해 다음을 ff의 Gradient 벡터라 정의합니다.

f=fxi+fyj+fzk\nabla f = \frac{\partial f}{\partial x} i + \frac{\partial f}{\partial y} j + \frac{\partial f}{\partial z} k

이 때 i,j,ki, j, kxx축, yy축, zz축에 대한 단위방향벡터입니다. Gradient 벡터의 공식은 편미분(partial derivative) 후 각 벡터를 더하는 형태를 가집니다. 이 때 미분은 순간 변화량 즉 기울기를 뜻하며 스칼라값이지만 Gradient 벡터는 어느 지점에서의 기울기를 나타내는 벡터입니다.

한편 Gradient 벡터는 함수의 어느 지점에서 기울기가 가장 큰 벡터이기도 합니다. 이를 단위방향벡터 vv에 대한 함수 f(x,y)f(x, y) 의 방향도함수로 증명해 보겠습니다. 방향도함수는 어느 지점에서의 임의의 방향에 대한 기울기이므로 이 기울기가 최대가 될 때를 고려하면 됩니다.

vf=fv=fvcosθ\begin{aligned} \nabla_v f & = \nabla f \cdot v \\ & = \parallel \nabla f \parallel \parallel v \parallel cos \theta \end{aligned}

위 식에서 θ\theta는 벡터 vv와 Gradient 벡터가 이루는 각도를 의미하고 cosθcos \theta가 최댓값 1일 때 방향도함수는 최댓값 f\parallel \nabla f \parallel를 가집니다. 따라서 Gradient 벡터는 어느 지점에서 기울기가 가장 큰 벡터입니다. 한편 위 식에서 cosθ=1cos \theta = 1 은 벡터 vv 가 함수 ff 의 한 지점에서 기울기가 가장 큰 방향의 단위 벡터라는 것을 의미하기도 합니다.

아래 그림은 함수 xe(x2+y2)xe^{-(x^2 + y^2)}을 그린 것이고 그림에서 볼 수 있는 화살표는 각 지점에서의 Gradient 벡터라 할 수 있습니다.

그림의 화살표를 따라가는 것은 기울기가 가장 큰 Gradient를 따라가는 것이고 이는 함수의 최댓값을 찾아가는 것과 같습니다. Gradient 벡터는 이렇게 최대점을 찾는데 쓸 수 있습니다.

Gradient 벡터는 접선 벡터 또는 접평면 벡터의 법선벡터이기도 합니다. 공간상에 f(x,y,z)=kf(x,y,z) = k라는 곡면이 있을 때 곡면의 한 지점을 P(x0,y0,z0)P(x_0, y_0, z_0)라 하고 PP를 지나면서 곡면의 일부인 곡선을 r(t)=x(t),y(t),z(t)r(t) = \langle x(t), y(t), z(t) \rangle라 하겠습니다. 곡선 r(t)r(t)는 곡면의 일부이므로 f(x(t),y(t),z(t))=kf(x(t), y(t), z(t)) = k가 성립합니다. 이 식을 tt에 대해 전미분하면 아래와 같이 쓸 수 있습니다.

fxdxdt+fydydt+fzdzdt=0\frac{\partial f}{\partial x} \frac{dx}{dt} + \frac{\partial f}{\partial y} \frac{dy}{dt} + \frac{\partial f}{\partial z} \frac{dz}{dt} = 0

이는 Gradient f\nabla fr(t)r(t)의 도함수(접평면 벡터) r(t)r^\prime(t) 의 내적입니다.

fr(t)=0\nabla f \cdot r^\prime(t) = 0

따라서 접선 벡터 또는 접평면 벡터에 대해 Gradient 벡터는 법선벡터입니다.