Introduction
다변수함수의 극값을 찾기 위한 방법 중 하나로 second derivative test가 있었다. 그런데 만약 함수의 domain이 명시적으로 주어진 것이 아닌, 예컨대 어떤 방정식 $g(x, y, z) = 0$으로 표현되는 "구속조건(constraint)"으로 주어진다면 test를 적용하기가 쉽지 않다. 물론 어찌어찌 parametrize하여 명시적으로 구할 수도 있겠지만, 대게 쉽지 않다. 때문에 구속조건 자체를 활용하여 극값을 구하는 방법이 필요한데 그 결과가 바로 Lagrange multiplier, 라그랑주 승수법이다.
2차원으로 한정지어서 생각해보자. 다음 그림과 같이 구속조건 $g(x, y) = c$ ($h(x, y) = g(x, y) - c$ $= 0$으로도 정의할 수 있다)와 함수 $f$가 주어진다고 하자. 주어진 constraint를 만족하면서 동시에 $f$의 극값을 주는 그러한 지점을 찾기 위해서 이리저리 $f$를 조정해보자. 다시 말해 여러 가지 level curve를 잡아내보자. 그럴 때 극값은 다름 아닌 level curve $f(x, y) = k$와 $g(x, y) = c$가 접하는 순간에 발생함을 기하적으로 확인할 수 있다.
다시 3차원으로 돌아오자. 직관적으로 이해해보면, 함수 $f$가 극값 $a$를 가지는 점을 $P_0$라고 할 때 $f(x, y, z) = a$와 $g(x, y, z) = 0$을 모두 만족하는 그런 $P_0$를 찾아야 하는데, 이는 level curve $f(x, y, z) = a$와 $g(x, y, z) = 0$의 교점이라고 볼 수 있다. 그런데 $P_0$는 함수 $f$가 극값을 가지게 하는 그런 점이므로 그저 그런 교점은 아닐 것이다. 계속해서 범위를 좁혀 나가거나 늘려 나갈 때 더 이상 좁히거나 늘릴 수 없는 순간이 존재할 것이고, 그때가 바로 극값이 발생하는 후보라고 생각할 수 있다. 그리고 그 지점은 두 level curve가 좁혀지다 못해 '접하게 되는' 상황이므로 두 level curve는 같은 tangent plane을 가지고, 이는 gradient가 평행하다고 볼 수 있다.
구체적으로 계산해보면 다음과 같다. 곡면 $x^2 - z^2 - 1 = 0$ 위의 점 중 원점과 가장 가까운 점을 찾아보자. 다시 말해 $\sqrt{x^2 + y^2 + z^2}$의 최솟값을 찾는 것이며, 이는 $x^2 + y^2 + z^2$의 최솟값을 찾는 것과 동일하다. 찾고자 하는 점, 즉 원점과 가장 가까운 점을 대입했을 때 원점과의 거리를 $a$라고 하자. 그러면 $x^2 + y^2 + z^2 - a^2 = 0$이 성립하고, 이는 $f(x, y, z) = x^2 + y^2 + z^2 - a^2 = 0$인 level curve로 해석할 수 있다. 마찬가지로 $g(x, y, z) = x^2 - z^2 -1 =0$도 level curve로 해석하면, remark 3에 의해 $\nabla f$와 $\nabla g$는 모두 각 level curve에 normal하다. 그런데 생각해보면 두 level curve는 같은 tangent plane을 가진다는 것을, 다시 말해 접한다는 것을 알 수 있다. 따라서 $\nabla f$와 $\nabla g$는 평행하며(linearly dependent하며), $\nabla f = \lambda \nabla g$를 만족하는 어떤 상수 $\lambda$가 존재함을 알 수 있다. 이 방정식을 풀어 $\lambda$값을 구하면 $\lambda = 1$임을 알 수 있고, 찾고자 하는 점은 $(\pm 1, 0, 0)$이다. 이 내용을 정리하면 아래와 같다.
Lagrange Multiplier
Suppose that $f(x, y, z), g_1(x, y, z)$ and $g_2 (x, y, z)$ are differentiable, with $\nabla g_1$ not parallel to $\nabla g_2$, and $\nabla g_1, \nabla g_2 \neq 0$ when $g_1(x, y, z) = 0, g_2 (x, y, z) = 0$. To find the local maximum and minimum values of $f$ subject to the constraint $g_1(x, y, z) = 0, g_2 (x, y , z) = 0$ (if these exist), find the values of $x, y, z, \lambda_1$, and $\lambda_2$ that simultaneously satisfy the equations $$\nabla f = \lambda_1 \nabla g_1 + \lambda_2 \nabla g_2 \quad \text{ and } \quad g_1(x, y, z) = 0 \quad \text{and} \quad g_2 (x, y, z) = 0.$$
중요한 점은, 위와 같은 방법을 통해 찾은 point가 반드시 극점이라고 보장할 수 없다. Lagrange multiplier 방법은 '접점'에 집중하여서 해를 구하기 때문이다. 즉 구한 해가 극점일 필요조건을 제시할 뿐이기 때문에 실제로 그곳에서 극값을 주는지는 직접 확인해야 한다.
그렇다면 실제로 Lagrange muliplier가 어떻게 작동하는지 그 이유를 살펴보자. (https://untitledtblog.tistory.com/96의 내용을 기반으로 작성)
함수 $f(x, y, z)$가 최댓값이 되는 지점에서 total differential $df$은 0이다. 따라서 $$df = \partial_x f dx + \partial_y f dy + \partial_z f dz = 0$$이고, Constraint $g(x, y, z) = 0$의 total differential은 $$dg = \partial_x g dx + \partial_y g dy + \partial_z g dz = 0$$이다. 이를 $dz$에 대해서 정리하면 $$dz = - \frac{\partial_x g dx + \partial_y g dy}{\partial_z g} \cdots (*)$$이고, $(*)$를 $df$를 나타낸 식에 대입하면 $$df = \partial_x f dx + \partial_y f dy - \partial_z f \frac{\partial_x g dx + \partial_y g dy}{\partial_z g} = 0$$이다. 위 식을 정리하기 위해 $$\lambda = \frac{\partial_z f}{\partial_z g}$$로 정의하고 정리하면 다음과 같다. $$( \partial_x f + \lambda \partial_x g) dx - (\partial_y f - \lambda \partial_y g) dy = 0$$ 이때 $dx, dy$는 서로 linearly independent이므로 $$\partial_x f - \lambda \partial_x g = 0 \\ \partial_y f - \lambda \partial_y g = 0$$이 성립한다. 이를 정리하면 결국 $$\nabla f = \lambda \nabla g$$임을 알 수 있다.