자코비안 행렬

오류 제보
수치해석 마지막 수정: 2026-10-10 13:41:52

○ 공개 검수 대기 AI 보조 작성 표시 기준 보기

1. 개요

자코비안 행렬(Jacobian matrix)은 여러 입력과 여러 출력을 갖는 다변수 벡터함수의 1차 편도함수를 전부 모아 놓은 행렬로, 그 함수의 국소적인 최선의 선형근사를 나타낸다. 함수 F:Rn→Rm\mathbf{F}: \mathbb{R}^n \to \mathbb{R}^m이 성분별로 F=(F1,…,Fm)\mathbf{F} = (F_1, \dots, F_m)이라면 자코비안은

J=∂F∂x=[∂F1∂x1⋯∂F1∂xn⋮⋱⋮∂Fm∂x1⋯∂Fm∂xn]J = \frac{\partial \mathbf{F}}{\partial \mathbf{x}} = \begin{bmatrix} \dfrac{\partial F_1}{\partial x_1} & \cdots & \dfrac{\partial F_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \dfrac{\partial F_m}{\partial x_1} & \cdots & \dfrac{\partial F_m}{\partial x_n} \end{bmatrix}

로 정의되는 m×nm \times n 행렬이다. ii행 jj열 성분은 ∂Fi/∂xj\partial F_i / \partial x_j다. 스칼라 함수의 도함수가 다변수로 확장된 것이라고 보면 되며, 실제로 테일러 급수의 1차 근사 F(x+δ)≈F(x)+J δ\mathbf{F}(\mathbf{x}+\delta) \approx \mathbf{F}(\mathbf{x}) + J\,\delta에서 곱해지는 행렬이 바로 자코비안이다.1

이 하나의 행렬이 뉴턴-랩슨법의 심장이자, 좌표변환의 부피 척도이자, 비선형 해석에서 수렴을 좌우하는 열쇠다. CAE 하는 사람에게 자코비안은 “매 반복마다 만들고 부수는 그것”이다.

2. 뉴턴-랩슨법의 심장

비선형 연립방정식 F(x)=0\mathbf{F}(\mathbf{x}) = \mathbf{0}을 풀 때, 스칼라 뉴턴-랩슨법의 미분 f′f' 자리에 들어가는 것이 정확히 자코비안이다. 갱신식은 다음과 같다.

J(xk) Δxk=−F(xk),xk+1=xk+ΔxkJ(\mathbf{x}_k)\, \Delta\mathbf{x}_k = -\mathbf{F}(\mathbf{x}_k), \qquad \mathbf{x}_{k+1} = \mathbf{x}_k + \Delta\mathbf{x}_k

즉 매 반복마다 (1) 현재 점에서 자코비안을 만들고, (2) 그 자코비안을 계수행렬로 하는 선형계를 풀어 스텝을 구한다. 뉴턴법이 근 근처에서 2차 수렴하는 아름다움은 여기서 나오지만, 그 대가로 매 반복 자코비안을 새로 조립하고 선형계를 풀어야 하는 비용을 치른다. 큰 문제에서는 이 선형계를 LU 분해로 직접 풀거나, 희소행렬이면 크리로프 부분공간법에 전처리기를 얹어 반복적으로 푼다.

자코비안이 특이(singular)에 가까우면, 즉 조건수가 폭발하면 스텝 Δx\Delta\mathbf{x}가 엉뚱하게 커지거나 방향이 무너져 뉴턴 반복이 발산한다. 그래서 실무에서는 자코비안 조건수를 은근히 예의주시한다. 뉴턴법의 2차 수렴 정리 자체가 「근에서 자코비안이 정칙이고 그 근방에서 립시츠 연속」을 전제로 한다. 근에서 자코비안이 특이하면(중근 같은 경우) 수렴이 1차로 떨어진다. 비선형 나비에-스토크스 방정식의 완전 음해법(fully implicit) 솔버, 비선형 구조해석의 접선강성행렬이 모두 이 자코비안이다. 선형 탄성이면 이것이 그대로 강성행렬이 된다.

3. 자코비안을 어떻게 만드나

문제는 자코비안을 실제로 얻는 일이 만만치 않다는 것이다. 세 가지 길이 있다.

  • 해석적 미분. 손으로(혹은 심볼릭 도구로) ∂Fi/∂xj\partial F_i/\partial x_j를 다 구해 코드에 박아 넣는다. 가장 정확하고 빠르지만, 방정식이 복잡하면 유도가 지옥이고 오타 한 번에 수렴이 통째로 날아간다.
  • 수치 미분. 수치미분의 유한차분으로 ∂Fi/∂xj≈(Fi(x+hej)−Fi(x))/h\partial F_i/\partial x_j \approx (F_i(\mathbf{x}+h\mathbf{e}_j) - F_i(\mathbf{x}))/h를 근사한다. 구현은 쉽지만 스텝 hh 선택이 까다롭고(부동소수점 연산의 자리수 손실 주의 — 전방차분의 최적 hh는 대략 ε≈1.5×10−8\sqrt{\varepsilon} \approx 1.5\times10^{-8} 배이고 그때도 유효숫자는 절반인 8자리 남짓만 남는다), nn개 변수마다 함수를 재평가해야 해서 비싸다. 자코비안이 희소행렬이면 서로 같은 행에 겹치지 않는 열들을 한꺼번에 섭동할 수 있어, 평가 횟수가 nn이 아니라 열 묶음 수로 준다(커티스-파월-리드, 1974). 묶음 나누기가 정확히 그래프 색칠 문제라서 격자 문제에서는 백만 번이 예닐곱 번이 된다.
  • 자동 미분(AD). 연쇄법칙을 코드 수준에서 기계적으로 적용해 절단오차 없이 미분을 얻는다(반올림 오차는 함수값 계산과 같은 수준으로만 남는다). 순방향 모드는 한 번에 자코비안의 열 하나(JvJ\mathbf{v})를, 역방향 모드는 한 번에 행 하나(wTJ\mathbf{w}^T J)를 뽑으므로, m×nm \times n 자코비안 전체를 얻는 비용은 대략 함수 평가의 min⁡(n,m)\min(n, m)배 수준이다. 요즘 최적화·머신러닝에서 사실상 표준이 된 방법.2

자코비안을 매번 새로 만들기 싫을 때 쓰는 꼼수도 있다. 자코비안을 처음 한 번만 만들고 여러 반복에서 재사용하는 것을 수정 뉴턴법(modified Newton), 자코비안 자체를 직접 안 구하고 근사로 갱신해 나가는 것을 준뉴턴법(quasi-Newton, 예: 브로이던 방법·BFGS)이라 한다. 정확도를 조금 포기하는 대신 비싼 자코비안 조립을 아끼는, 전형적인 공학적 타협이다. 극단은 자코비안을 아예 만들지 않는 것이다. 크리로프 반복법은 행렬 자체가 아니라 곱 JvJ\mathbf{v}만 요구하므로, 이를 (F(x+ϵv)−F(x))/ϵ(\mathbf{F}(\mathbf{x}+\epsilon\mathbf{v}) - \mathbf{F}(\mathbf{x}))/\epsilon 한 번의 함수 평가로 대신하면 행렬을 저장하지 않는 자코비안 없는 뉴턴-크리로프법(JFNK)이 된다. 대규모 다물리 음해법의 단골이다(단 전처리기용 근사 자코비안은 여전히 따로 필요하다).

4. 검산 — 2차 수렴이 실제로 보이나

F(x,y)=(x2+y2−4,  ex+y−1)\mathbf{F}(x,y) = (x^2 + y^2 - 4,\; e^x + y - 1)을 (2,0)(2, 0)에서 출발해 풀었다(근 ≈(1.00417,−1.72964)\approx (1.00417, -1.72964)). 반복마다 근까지의 오차는 다음과 같다.

자코비안3회4회5회6회7회
해석적3.5×10−23.5\times10^{-2}4.1×10−44.1\times10^{-4}7.9×10−87.9\times10^{-8}3.1×10−153.1\times10^{-15}0
전방차분 h=εh = \sqrt\varepsilon3.5×10−23.5\times10^{-2}4.1×10−44.1\times10^{-4}7.9×10−87.9\times10^{-8}3.0×10−153.0\times10^{-15}2.2×10−162.2\times10^{-16}
전방차분 h=10−3h = 10^{-3}3.5×10−23.5\times10^{-2}4.3×10−44.3\times10^{-4}2.9×10−72.9\times10^{-7}1.4×10−101.4\times10^{-10}7.2×10−147.2\times10^{-14}

해석적 자코비안은 오차의 지수가 매번 대략 두 배가 되는 전형적인 2차 수렴이다(10−4→10−8→10−1510^{-4} \to 10^{-8} \to 10^{-15}). h=εh = \sqrt\varepsilon 유한차분은 반올림 수준까지 그것과 구분이 안 된다 — 자코비안의 8자리 정확도면 뉴턴 스텝에는 충분하다는 뜻이다. 반면 h=10−3h = 10^{-3}처럼 거친 차분은 자코비안 오차가 O(h)O(h)로 남아 끝물에 매 반복 약 5×10−45\times10^{-4}배씩 줄어드는 선형 수렴으로 주저앉는다. 같은 문제에서 출발점의 자코비안을 끝까지 재사용하는 수정 뉴턴법은 (2,0)(2,0)에서 출발하면 둘째 반복부터 오차가 71→9×103→1.5×10871 \to 9\times10^{3} \to 1.5\times10^{8}으로 발산하고, 근에 가까운 (1,−1.7)(1, -1.7)에서 출발해야 매 반복 약 1/70씩 줄어드는 선형 수렴을 보인다. 재사용은 근 근처에서만 공짜다.

전방차분 미분 하나만 떼어 보면(exe^x의 x=1x = 1에서 미분) 상대오차가 h=10−2h = 10^{-2}에서 5×10−35\times10^{-3}, h=10−6h = 10^{-6}에서 5×10−75\times10^{-7}로 hh에 비례해 줄다가 h=1.5×10−8h = 1.5\times10^{-8}에서 최소 3×10−93\times10^{-9}을 찍고, h=10−10h = 10^{-10}에서 6×10−76\times10^{-7}, h=10−12h = 10^{-12}에서 1.6×10−41.6\times10^{-4}로 다시 나빠진다. 절단오차와 반올림 오차의 V자다(수치미분 참고).

5. 좌표변환과 야코비안 행렬식

자코비안이 정사각행렬(m=nm=n)일 때 그 행렬식 det⁡J\det J를 야코비안(Jacobian, 야코비 행렬식)이라 부른다. 이 스칼라값은 변환이 국소적으로 부피(넓이)를 얼마나 늘리거나 줄이는지를 나타내는 배율이다. 다중적분의 변수변환 공식이 바로 이 값을 쓴다.

∫Ωf(x) dx=∫Ω′f(x(u)) ∣det⁡J∣ du\int_{\Omega} f(\mathbf{x})\, d\mathbf{x} = \int_{\Omega'} f(\mathbf{x}(\mathbf{u}))\, \lvert \det J \rvert \, d\mathbf{u}

극좌표 변환의 그 유명한 dx dy=r dr dθdx\,dy = r\,dr\,d\theta에서 튀어나오는 rr이 바로 야코비안이다. 유한요소법에서는 이 개념이 특히 중요하다. 실제 형상의 뒤틀린 요소를 반듯한 기준요소(reference element)로 사상(mapping)한 뒤 적분하는 등매개변수 요소 기법이 야코비안에 전적으로 의존하기 때문이다.3

여기서 실무 격언 하나. 야코비안 행렬식은 부호를 유지해야 한다. det⁡J\det J가 요소 내부 어디선가 0이 되거나 음수로 뒤집히면 그 요소는 “뒤집힌(inverted)” 것이고, 사상이 일대일이 아니게 되어 적분이 무의미해진다. 격자 생성기가 뱉는 “negative Jacobian” 경고에 CAE 엔지니어들이 치를 떠는 이유가 이것. 격자가 다 했다는 말은 여기서도 유효하다.

단위 정사각형 4절점 사각형 요소의 기준좌표 [−1,1]2[-1,1]^2 사상에서 det⁡J\det J는 네 꼭짓점 모두 0.25(=넓이 1 / 기준 넓이 4)다. 세 번째 꼭짓점 (1,1)(1,1)을 대각선을 따라 안쪽 (t,t)(t,t)로 끌어당기면 그 꼭짓점의 det⁡J\det J가 t=0.6t = 0.6에서 0.05, t=0.5t = 0.5에서 정확히 0, t=0.4t = 0.4에서 −0.05-0.05가 된다. 요소가 오목해지는 순간(t<0.5t < 0.5, 그 꼭짓점의 내각이 180°를 넘는 순간) 행렬식의 부호가 뒤집히는 것이고, 구적점이 아니라 꼭짓점에서 먼저 터지므로 격자 품질 검사는 꼭짓점 det⁡J\det J를 본다.

6. 응용의 지형도

자코비안은 수치해석 곳곳에 얼굴을 내민다.

  • 동역학과 안정성. 비선형 동역학계 x˙=F(x)\dot{\mathbf{x}} = \mathbf{F}(\mathbf{x})의 평형점 안정성은 그 점에서의 자코비안 고유값 실수부 부호로 판별한다. 모두 음이면 안정, 하나라도 양이면 불안정이다. 실수부가 0인 고유값이 있으면 선형화만으로는 판정할 수 없다(하트만-그로브만 정리가 쌍곡 평형점에서만 성립하는 이유다). 매개변수를 바꾸다 고유값이 허축을 건너는 지점이 분기 이론의 분기점이다. 룽게-쿠타법 같은 시간적분기의 강성(stiffness) 판단도 자코비안 고유값 스펙트럼으로 한다.
  • 로보틱스. 로봇 팔의 관절 속도를 말단(end-effector) 속도로 잇는 것이 기구학적 자코비안이며, 이것이 특이해지는 자세가 그 유명한 “특이점(singularity)“이다. 역운동학을 반복법으로 풀 때 특이점 근처에서 관절 속도가 폭주하는 것이 위의 뉴턴 스텝 폭주와 같은 현상이다.
  • 민감도 해석·최적설계. 설계 변수에 대한 응답의 자코비안이 곧 민감도이며, 이것이 경사하강법 같은 경사기반 최적화 알고리즘의 연료가 된다. 설계 변수는 많고 응답이 몇 개뿐이면 역방향 모드와 같은 원리인 수반법이 싸다.

7. 관련 문서

8. Footnotes

  1. 이름은 19세기 수학자 카를 구스타프 야코프 야코비(Carl Gustav Jacob Jacobi)에서 왔다. 그래서 한국어로는 “자코비안”, “야코비안”, “야코비 행렬”이 뒤섞여 쓰이는데, 다 같은 사람 이름이다. 발음 표기 국룰은 아직도 합의가 안 됐다. 함수 행렬식을 본격적으로 다룬 것은 1841년 논문 「De determinantibus functionalibus」다. ↩

  2. 자동미분은 수치미분(근사·오차 있음)과도, 심볼릭미분(수식 폭발)과도 다른 제3의 길이다. 순방향 모드와 역방향 모드가 있으며, 역방향 모드가 곧 딥러닝의 역전파(backpropagation)다. 출력이 하나뿐인 스칼라 목적함수의 그래디언트를 싸게 뽑는 데 최적화되어 있다. ↩

  3. 등매개변수 요소에서는 형상함수(shape function)로 좌표를 보간하고, 그 보간의 미분에서 자코비안이 나온다. 가우스 구적점마다 자코비안을 계산해 수치적분에 곱하는데, 요소가 심하게 찌그러지면 이 값이 요동쳐 적분 정확도가 무너진다. “요소 품질”이라는 말의 절반은 사실 자코비안 이야기다. ↩

검증 자료

이 문서의 주요 출처

  1. Jacobi (1841), De determinantibus functionalibus, J. reine angew. Math. 22, 319-359 (함수 행렬식)
  2. Dennis & Schnabel (1996), Numerical Methods for Unconstrained Optimization and Nonlinear Equations, SIAM Classics 16 (뉴턴법 국소 2차 수렴, 유한차분 자코비안, 브로이던 갱신)
  3. Broyden (1965), A class of methods for solving nonlinear simultaneous equations, Math. Comp. 19(92), 577-593
  4. Curtis, Powell & Reid (1974), On the estimation of sparse Jacobian matrices, IMA J. Appl. Math. 13(1), 117-119
  5. Griewank & Walther (2008), Evaluating Derivatives, 2nd ed., SIAM (순방향·역방향 모드 비용)
  6. Knoll & Keyes (2004), Jacobian-free Newton-Krylov methods: a survey of approaches and applications, J. Comput. Phys. 193(2), 357-397
이 문서가 문제를 푸는 데 도움이 됐나요? 한 번의 클릭이 다음 검수 순서를 정합니다.

의견을 반영할게요. 감사합니다.

다음으로 읽기 희소행렬 약 5분 더 탐색 →