MCP로 연결 →

계산 입력

공식

광고

결과

조건수 κ₂(A)
2
스펙트럼(2-노름) 조건수
최대 특이값 σ₁ 2
최소 특이값 σ₂ 1
행렬식 det(A) 2

행렬 조건수란?

조건수 \(\kappa(A)\)는 선형 연립방정식 \(Ax = b\)의 해가 데이터의 작은 변화(오차)에 얼마나 민감한지를 나타내는 지표입니다. 조건수가 작으면(1에 가까우면) 행렬은 잘 조건화(well-conditioned)되어 수치적으로 안정적이라는 뜻이고, 조건수가 크면 나쁘게 조건화(ill-conditioned)된 상태라서 입력의 아주 작은 오차가 출력에서 큰 오차로 증폭될 수 있습니다. 스펙트럼 조건수, 즉 2-노름 조건수는 최대 특이값을 최소 특이값으로 나눈 값과 같습니다: \(\kappa_2(A) = \sigma_{\max} / \sigma_{\min}\).

Unit circle transformed into an ellipse by a 2x2 matrix, with major and minor semi-axes labeled sigma max and sigma min
A 2×2 matrix maps the unit circle to an ellipse whose semi-axes are the singular values σ_max and σ_min.

계산기 사용 방법

2×2 행렬 \(A\)의 네 성분(\(a_{11}, a_{12}, a_{21}, a_{22}\))을 입력하면, 2-노름 조건수와 함께 두 개의 특이값, 그리고 행렬식을 바로 확인할 수 있습니다. 만약 최소 특이값이 0이면 그 행렬은 특이행렬(singular matrix)이며 조건수는 무한대가 됩니다.

공식 풀이

모든 행렬에 대해 \(\kappa(A) = \|A\| \cdot \|A^{-1}\|\) 가 성립합니다. 여기서 2-노름을 사용하면 \(\|A\| = \sigma_{\max}\), \(\|A^{-1}\| = 1/\sigma_{\min}\) 이므로 \(\kappa_2(A) = \sigma_{\max}/\sigma_{\min}\) 이 됩니다. 특이값은 \(A^TA\)의 고유값에 제곱근을 취한 값입니다. 2×2 행렬의 경우 \(M = A^TA\)를 만든 뒤, 고유값 \(\lambda = (\operatorname{tr} \pm \sqrt{\operatorname{tr}^2 - 4\cdot\det})/2\) 를 구하고, \(\sigma = \sqrt{\lambda}\) 를 계산합니다.

$$\kappa(A) = \frac{\sigma_{\max}}{\sigma_{\min}} = \sqrt{\frac{\lambda_{\max}}{\lambda_{\min}}}$$ $$\text{where}\quad \left\{ \begin{aligned} M &= A^{T}A,\quad A = \begin{bmatrix} \text{a}_{11} & \text{a}_{12} \\ \text{a}_{21} & \text{a}_{22} \end{bmatrix} \\ \lambda_{\max,\min} &= \frac{\operatorname{tr}(M) \pm \sqrt{\operatorname{tr}(M)^2 - 4\det(M)}}{2} \\ \sigma &= \sqrt{\lambda} \end{aligned} \right.$$

광고
Number line showing condition number from 1 toward infinity, marking well-conditioned near 1 and ill-conditioned for large values
κ(A) ranges from 1 (perfectly conditioned) upward; large values indicate an ill-conditioned matrix.

예제로 확인하기

\(A = \begin{bmatrix} 2 & 0 \\ 0 & 1 \end{bmatrix}\) 인 경우를 봅시다. 그러면 \(A^TA = \begin{bmatrix} 4 & 0 \\ 0 & 1 \end{bmatrix}\) 이고, 이 행렬의 고유값은 \(4\)와 \(1\)입니다. 따라서 특이값은 \(\sigma_{\max} = 2\), \(\sigma_{\min} = 1\) 이 되어 \(\kappa_2(A) = 2/1 = 2\) 입니다. 이 행렬은 매우 잘 조건화된 행렬입니다.

자주 묻는 질문

"좋은" 조건수는 어느 정도인가요? 1에 가까운 값이 이상적입니다. 대략적인 기준으로, \(\log_{10}(\kappa)\) 값은 연립방정식을 풀 때 잃게 될 수 있는 유효 자릿수가 대략 몇 자리인지를 알려 줍니다.

조건수가 왜 무한대로 나오나요? 행렬이 특이행렬(행렬식이 0)이기 때문입니다. 이 경우 \(\sigma_{\min} = 0\) 이 되어 역행렬 \(A^{-1}\) 가 존재하지 않습니다.

어떤 노름을 사용하나요? 특이값을 기반으로 하는 2-노름(스펙트럼) 조건수를 사용합니다. 다른 노름(1-노름, \(\infty\)-노름)을 쓰면 수치 결과가 달라질 수 있습니다.

최종 업데이트: