브론스키 행렬식

오류 제보
수치해석 마지막 수정: 2026-08-18 04:50:18

○ 공개 검수 대기 표시 기준 보기

1. 개요

브론스키 행렬식
Wronskian
정의W(f₁,…,fn) = det[ fj(i−1) ]
이름Józef Hoene-Wroński (1812), 명명은 Thomas Muir (1882)
핵심 항등식아벨 항등식 W′ = −p(x) W
따름정리한 점에서 0이면 구간 전체에서 0
쓰이는 곳매개변수 변환법 · 그린 함수 · 스투름 진동 정리
수치적으로는직접 계산 금지 — 지수적으로 폭발/소멸

브론스키 행렬식(Wronskian)은 nn 개의 함수 f1,…,fnf_1,\dots,f_n 을 세로로 세우고 도함수를 계속 쌓아 만든 n×nn\times n 행렬식이다.

W(f1,…,fn)(x)  =  ∣f1f2⋯fnf1′f2′⋯fn′⋮⋮⋮f1(n−1)f2(n−1)⋯fn(n−1)∣W(f_1,\dots,f_n)(x) \;=\; \begin{vmatrix} f_1 & f_2 & \cdots & f_n \\ f_1' & f_2' & \cdots & f_n' \\ \vdots & \vdots & & \vdots \\ f_1^{(n-1)} & f_2^{(n-1)} & \cdots & f_n^{(n-1)} \end{vmatrix}

즉 (i,j)(i,j) 성분이 fj(i−1)f_j^{(i-1)} 이다. 만들어진 목적은 명확하다 — 함수들이 선형독립인지 판정하기 위해서다. 함수 nn 개의 선형결합이 0이라는 조건을 n−1n-1 번 미분해 얻은 연립방정식의 계수행렬이 위 행렬이고, 그 행렬식이 0이 아니면 계수가 전부 0일 수밖에 없다.

문제는 이 판정이 한쪽 방향으로만 성립한다는 것이다. 교과서가 ”W≠0W \ne 0 이면 독립”까지만 조심스럽게 쓰고 역을 얼버무리는 데는 이유가 있으며, 그 이유를 정확히 아는 것이 이 문서의 절반이다. 나머지 절반은 아벨 항등식이 브론스키 행렬식을 직접 계산하지 않고도 알 수 있게 만든다는 사실, 그리고 그럼에도 수치적으로는 이 값을 절대 직접 굴리면 안 된다는 실무적 결론이다.

2. 선형독립 판정 — 정확히 어디까지 참인가

항상 참인 방향. f1,…,fnf_1,\dots,f_n 이 구간 II 에서 선형종속이면 W≡0W \equiv 0 이다. 자명하다 — 계수 cjc_j 로 ∑cjfj≡0\sum c_j f_j \equiv 0 이면 미분해도 성립하므로 행렬의 열들이 같은 계수로 종속이다. 대우를 취하면 어떤 한 점에서라도 W≠0W \ne 0 이면 독립이고, 이것이 실무에서 쓰는 유일한 방향이다.

거짓인 방향. W≡0W \equiv 0 이라고 종속인 것은 아니다. 표준 반례는 I=(−1,1)I = (-1,1) 위의

f1(x)=x2,f2(x)=x∣x∣={x2x≥0−x2x<0f_1(x) = x^2, \qquad f_2(x) = x|x| = \begin{cases} x^2 & x \ge 0\\ -x^2 & x < 0\end{cases}

둘 다 C1C^1 이고, x≥0x \ge 0 에서는 f2=f1f_2 = f_1, x<0x<0 에서는 f2=−f1f_2 = -f_1 이므로 각 반구간에서 종속이라 W≡0W \equiv 0 이다. 그런데 전체 구간에서는 독립이다 — c1f1+c2f2≡0c_1 f_1 + c_2 f_2 \equiv 0 을 x=1x=1 과 x=−1x=-1 에 대입하면 c1+c2=0c_1+c_2=0 과 c1−c2=0c_1-c_2=0 이 나와 c1=c2=0c_1=c_2=0 이다. 종속성이 “구간마다 다른 계수로” 성립하기 때문에 국소적으로만 보는 브론스키 행렬식이 이를 놓친다. 페아노가 1889년에 이 함정을 지적했다.1

역이 살아나는 두 경우가 있고, 실전에서는 대개 이 둘 중 하나다.

  • 해석함수. fjf_j 가 구간에서 해석적이면 W≡0  ⟺  W \equiv 0 \iff 선형종속이다. 위 반례의 x∣x∣x|x| 는 원점에서 두 번 미분이 안 되므로 해석적이지 않고, 해석성이 “국소 정보가 전역을 결정한다”를 보증하기 때문에 반례가 원천 차단된다.
  • 같은 선형 미분방정식의 해. fjf_j 가 계수가 연속인 nn 계 선형 동차 방정식 y(n)+an−1(x) y(n−1)+⋯+a0(x) y=0y^{(n)} + a_{n-1}(x)\,y^{(n-1)} + \cdots + a_0(x)\,y = 0 의 해라면, W≡0  ⟺  W \equiv 0 \iff 어떤 한 점에서 W=0  ⟺  W = 0 \iff 선형종속이다. 이유는 초기값 문제의 유일성이다 — W(x0)=0W(x_0)=0 이면 x0x_0 에서 초기데이터가 종속인 해가 있고, 유일성에 의해 그 해는 전 구간에서 0이다.

두 번째 항목이 미분방정식 교과서가 브론스키 행렬식을 편하게 쓰는 근거다. 기본해계인지 확인하려면 아무 점이나 하나 잡아 WW 를 계산하면 된다. 임의의 함수 뭉치에 대해서는 못 하는 일을, 해 공간 안에서는 마음껏 한다.

3. 아벨 항등식 — W를 풀지 않고 안다

2계 방정식 y′′+p(x)y′+q(x)y=0y'' + p(x)y' + q(x)y = 0 의 두 해에 대해 W=y1y2′−y2y1′W = y_1y_2' - y_2y_1' 를 미분하면 y1y2′′−y2y1′′y_1y_2''-y_2y_1'' 만 남고, 방정식을 대입하면 qq 항이 상쇄되어

W′(x)=−p(x) W(x)⟹W(x)=W(x0) exp⁡ ⁣(−∫x0xp(t) dt)W'(x) = -p(x)\,W(x) \qquad\Longrightarrow\qquad W(x) = W(x_0)\,\exp\!\left(-\int_{x_0}^{x} p(t)\,dt\right)

를 얻는다. 이것이 아벨 항등식(Abel’s identity, 아벨-야코비-리우빌 공식)이다. nn 계로 올리면 W′=−an−1WW' = -a_{n-1}W 이고, 1계 연립계 y′=A(t)y\mathbf y' = A(t)\mathbf y 의 기본행렬 Φ\Phi 에 대해서는

ddtdet⁡Φ(t)=tr⁡A(t) det⁡Φ(t)⟹det⁡Φ(t)=det⁡Φ(t0)exp⁡ ⁣(∫t0ttr⁡A(s) ds)\frac{d}{dt}\det\Phi(t) = \operatorname{tr}A(t)\,\det\Phi(t) \qquad\Longrightarrow\qquad \det\Phi(t) = \det\Phi(t_0)\exp\!\left(\int_{t_0}^{t}\operatorname{tr}A(s)\,ds\right)

가 된다(야코비 공식). nn 계 방정식을 동반형 1계계로 바꾸면 tr⁡A=−an−1\operatorname{tr}A = -a_{n-1} 이라 두 식이 정확히 일치한다. 플로케 이론에서 모노드로미 행렬이 항상 정칙임을 보증하는 것이 바로 이 공식이고, 해밀토니안계에서 tr⁡A=0\operatorname{tr}A = 0 이라 det⁡Φ≡1\det\Phi \equiv 1 이 되는 것이 리우빌 정리의 선형화 판이다.

여기서 나오는 따름정리가 실용적으로 가장 중요하다.

WW 는 어디서도 0이 아니거나, 항등적으로 0이거나 둘 중 하나다. 중간은 없다.

지수함수는 절대 0이 되지 않으므로 W(x0)=0W(x_0)=0 이면 전체가 0, 아니면 전체가 0이 아니다. “구간 어딘가에서만 0”인 브론스키 행렬식은 (같은 방정식의 해에 대해서는) 존재할 수 없다. 그래서 기본해계 판정에 계산하기 제일 편한 점 하나를 골라도 되는 것이다.

스투름-리우빌 형식에서는 더 예쁜 꼴이 된다. (p(x)y′)′+q(x)y=0(p(x)y')' + q(x)y = 0 을 표준형으로 바꾸면 1계 계수가 p′/pp'/p 이므로 아벨 항등식이 W′=−(p′/p)WW' = -(p'/p)W, 즉

(p(x) W(x))′=0⟹p(x) W(x)=상수\bigl(p(x)\,W(x)\bigr)' = 0 \qquad\Longrightarrow\qquad p(x)\,W(x) = \text{상수}

가 된다. 아래에서 볼 그린 함수의 분모에 등장하는 그 상수다.

4. 매개변수 변환법과 그린 함수

브론스키 행렬식이 계산에 실제로 쓰이는 첫 번째 자리. 비동차 방정식 y′′+py′+qy=gy'' + p y' + q y = g 의 특수해를 구할 때, 기본해 y1,y2y_1,y_2 에 대해 yp=u1y1+u2y2y_p = u_1y_1 + u_2y_2 로 놓고 u1′y1+u2′y2=0u_1'y_1+u_2'y_2=0 이라는 편의 조건을 붙이면

[y1y2y1′y2′][u1′u2′]=[0g]\begin{bmatrix} y_1 & y_2 \\ y_1' & y_2' \end{bmatrix} \begin{bmatrix} u_1' \\ u_2' \end{bmatrix} = \begin{bmatrix} 0 \\ g \end{bmatrix}

라는 2×22\times2 선형계가 나오고, 크라메르 법칙으로 즉시 풀린다.

u1′=−y2 gW,u2′=y1 gW⟹yp(x)=−y1(x) ⁣∫ ⁣y2gW dx  +  y2(x) ⁣∫ ⁣y1gW dxu_1' = -\frac{y_2\,g}{W},\qquad u_2' = \frac{y_1\,g}{W} \qquad\Longrightarrow\qquad y_p(x) = -y_1(x)\!\int\!\frac{y_2 g}{W}\,dx \;+\; y_2(x)\!\int\!\frac{y_1 g}{W}\,dx

매개변수 변화법의 그 외우기 싫은 부호 배치는 크라메르 법칙의 부호 그 자체이고, 분모의 WW 가 0이 아니라는 조건이 곧 y1,y2y_1,y_2 가 기본해계라는 조건이다. 공식을 외우는 대신 2×22\times2 계를 세우는 습관을 들이면 부호를 틀릴 일이 없다.

같은 구조가 경계값 문제의 그린 함수로 이어진다. 스투름-리우빌 연산자 Ly=(py′)′+qyL y = (py')'+qy 에 대해 좌·우 경계조건을 각각 만족하는 해 y1,y2y_1, y_2 를 잡으면

G(x,ξ)=y1(x<) y2(x>)p(ξ) W(ξ),x<=min⁡(x,ξ), x>=max⁡(x,ξ)G(x,\xi) = \frac{y_1(x_<)\,y_2(x_>)}{p(\xi)\,W(\xi)}, \qquad x_< = \min(x,\xi),\ x_> = \max(x,\xi)

이고, 앞 절에서 본 대로 분모 pWpW 가 상수라 ξ\xi 에 무관하다. 그린 함수 유도에서 ”pWpW 는 상수이므로”라는 문장이 아무 설명 없이 지나가는 것을 본 적이 있다면, 그 근거가 아벨 항등식이다. y1y_1 과 y2y_2 가 종속이면 W=0W=0 이 되어 그린 함수가 존재하지 않는데, 이는 곧 동차 문제에 자명하지 않은 해가 있다는 뜻이고 원래 경계값 문제가 해를 갖지 않거나 유일하지 않다는 뜻이다. 프레드홀름 택일이 분모 하나로 드러난다.

5. 스투름 진동 이론 — 영점의 배치

브론스키 행렬식이 정성적 정보를 주는 대표 사례. y′′+q(x)y=0y'' + q(x)y = 0 의 선형독립인 두 해 y1,y2y_1, y_2 를 잡으면 WW 는 부호를 바꾸지 않는 상수(아벨 항등식, p≡0p \equiv 0)다. 이제 y1y_1 의 연속한 두 영점 a<ba < b 를 잡으면

W(a)=y1(a)y2′(a)−y2(a)y1′(a)=−y2(a) y1′(a),W(b)=−y2(b) y1′(b)W(a) = y_1(a)y_2'(a) - y_2(a)y_1'(a) = -y_2(a)\,y_1'(a), \qquad W(b) = -y_2(b)\,y_1'(b)

인데, aa 와 bb 가 연속한 영점이므로 y1′(a)y_1'(a) 와 y1′(b)y_1'(b) 는 부호가 반대다. W(a)=W(b)≠0W(a)=W(b)\ne0 이려면 y2(a)y_2(a) 와 y2(b)y_2(b) 도 부호가 반대여야 하고, 따라서 중간값 정리로 (a,b)(a,b) 안에 y2y_2 의 영점이 있다. 이것이 스투름 분리 정리 — 독립인 두 해의 영점은 서로 엇갈려 배치된다. 한 줄짜리 행렬식이 진동의 구조를 결정한다.

여기서 스투름 비교 정리로, 다시 스투름-리우빌 이론의 고유값 문제로 이어진다. 고유함수 ϕk\phi_k 의 영점 개수가 정확히 kk 개라는 진동 정리, 고유값이 아래로 유계이고 무한대로 발산한다는 정리, 그리고 그 고유함수계가 완비 직교계를 이룬다는 정리가 전부 이 계보 위에 있다. 물리적으로는 “고차 모드일수록 마디가 많다”는 익숙한 사실이고, 수치적으로는 고유값 문제 풀이에서 부호 변화 개수를 세어 몇 번째 고유값인지 판정하는 슈투름 수열 기법으로 나타난다.

6. 수치적으로는 계산하지 않는다

지금까지가 이론이고, 여기서부터가 실무의 결론이다. 브론스키 행렬식을 부동소수점으로 직접 적분해서 쓰는 코드는 거의 전부 틀린다.

원인은 아벨 항등식이 그대로 알려 준다.

W(x)=W(x0)exp⁡ ⁣(∫x0xtr⁡A)W(x) = W(x_0)\exp\!\left(\int_{x_0}^{x}\operatorname{tr}A\right)

지수 안의 적분이 조금만 커도 WW 는 지수적으로 폭발하거나 소멸한다. 강성이 큰 문제에서 tr⁡A\operatorname{tr}A 가 −103-10^3 급이면 몇 단위 구간만 가도 WW 가 배정밀도 최소 정규수 아래로 내려가 언더플로하고, 부호가 반대면 오버플로해서 inf 가 된다. 값이 살아 있어도 문제다 — WW 는 0에 “거의” 가까울 수 없다는 이론적 사실이 있지만, 부동소수점에서는 10−30010^{-300} 과 0을 구별할 방법이 사실상 없다.

더 근본적인 병은 해들이 서로 평행해진다는 것이다. 기본행렬 Φ\Phi 의 열들을 각각 적분하면 모든 열이 지배적 성장률 λ1\lambda_1 방향으로 정렬되어, det⁡Φ\det\Phi 는 (이론적으로는) 0이 아닌데 계산된 행렬은 수치적으로 랭크 1이 된다. 조건수가 exp⁡((λ1−λn)t)\exp\bigl((\lambda_1-\lambda_n)t\bigr) 처럼 자라므로, 유효숫자 16자리는 지수가 ln⁡1016≈37\ln 10^{16} \approx 37 을 넘는 순간 전부 소진된다. 랴푸노프 지수 계산에서 접선 벡터들이 최대 지수 방향으로 정렬되어 버리는 그 현상과 완전히 같은 병이다.

그래서 실무는 브론스키 행렬식을 우회한다.

  • 연속 직교화(연속 QR). 기본행렬을 그대로 적분하는 대신 Φ=QR\Phi = QR 로 두고 QQ 와 RR 을 각각 적분하거나, 일정 간격마다 그람-슈미트·QR 분해로 재직교화한다. 성장은 RR 의 대각에 로그로 흡수되고 QQ 는 항상 직교라 조건수가 1이다. 이 방법이 경계값 문제의 슈팅법에서는 고두노프-콘테 직교화라는 이름으로, 카오스 쪽에서는 벤티틴 알고리즘이라는 이름으로 각각 독립 발견됐다.
  • 리카티 변환. 해공간을 좌표 대신 “부분공간”으로 추적한다. Φ=[Y1Y2]\Phi = \begin{bmatrix}Y_1 \\ Y_2\end{bmatrix} 를 S=Y2Y1−1S = Y_2Y_1^{-1} 로 바꾸면 SS 가 행렬 리카티 방정식 S′=A21+A22S−SA11−SA12SS' = A_{21} + A_{22}S - SA_{11} - SA_{12}S 를 만족하고, 크기 정보가 소거되어 지수적 성장이 사라진다. 대가는 Y1Y_1 이 특이해지는 지점에서 SS 가 발산한다는 것이라, 그때마다 좌표를 갈아타는 재시작 전략이 필요하다. 최적제어의 리카티 방정식과 같은 물건이 미분방정식 수치해에도 등장하는 것이다.
  • 복합행렬법. 해 부분공간의 k×kk\times k 소행렬식(플뤼커 좌표)들을 미지수로 삼아 직접 적분한다. 크기를 정규화하기 쉽고 부분공간 정보만 남으므로 안정적이며, 유체 안정성의 오어-조머펠트 방정식처럼 성장률 차이가 극단적인 문제의 고전적 해법이다. 자세한 구성은 복합행렬 쪽 이야기다.

선형독립을 수치적으로 확인하고 싶을 때도 브론스키 행렬식은 쓰지 않는다. 표본점에서 함수값 행렬을 만들어 QR 분해나 특이값을 보는 쪽이 훨씬 낫다. 그람 행렬 Gij=∫fifjG_{ij} = \int f_i f_j 의 최소 고유값을 보는 방법도 있는데, 이쪽은 “얼마나 독립인가”라는 정량적 답까지 준다. 브론스키 행렬식의 답은 “0인가 아닌가”라는 이분법인데, 부동소수점 세계에서 0 판정은 원래 성립하지 않는 질문이다.2

그럼에도 아벨 항등식은 코드에 하나 넣어 둘 가치가 있다. 적분한 기본행렬의 행렬식이 exp⁡(∫tr⁡A)\exp(\int\operatorname{tr}A) 와 몇 자리나 어긋나는지 재 보면 적분기의 정확도를 공짜로 감시할 수 있다. 심플렉틱계라면 det⁡Φ≡1\det\Phi \equiv 1 이므로 더 간단하다. 세상에 이렇게 값싼 단위 테스트가 흔치 않다.3

7. 관련 문서

8. Footnotes

  1. 이름의 주인 유제프 호에네-브론스키는 폴란드 출신으로, 수학보다 자기만의 “절대 철학” 체계를 세우는 데 더 열심이었고 급수 전개에 관한 주장 상당수가 틀린 것으로 판명됐다. 정작 이 행렬식에 그의 이름을 붙인 사람은 70년 뒤의 토머스 뮤어(1882)다. 브론스키 본인은 자기 이름이 붙은 이 물건으로 선형독립을 판정할 생각이 없었다는 점에서, 스티글러의 명명 법칙이 두 겹으로 적용된 사례라 할 만하다. ↩

  2. 그래서 기호계산에서는 사정이 정반대다. 컴퓨터 대수 시스템이나 유한체 위의 정확 산술에서는 ”WW 가 0인가”가 판정 가능한 질문이고, 미분 갈루아 이론이나 홀로노믹 함수 계산에서 브론스키 행렬식이 실제 알고리즘의 일부로 돌아간다. 이 문서가 “쓰지 말라”고 하는 것은 어디까지나 부동소수점 이야기다. ↩

  3. 반대로 이 검사를 통과했다고 적분이 정확한 것도 아니다. 행렬식 하나는 스칼라라서 n2n^2 개 성분의 오차를 다 잡아내지 못하고, 특히 오차가 부피를 보존하는 방향으로만 쌓이면 통과한다. 심플렉틱 적분기가 에너지는 잘 지키면서 위상은 서서히 어긋나는 것과 같은 종류의 눈속임이다. 값싼 테스트는 값싼 만큼만 알려 준다. ↩

이 문서가 문제를 푸는 데 도움이 됐나요? 한 번의 클릭이 다음 검수 순서를 정합니다.

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

다음으로 읽기 조건수 약 5분 더 탐색 →