Quick Comparison
조건수는 입력이 조금 달라질 때 답이 얼마나 민감하게 변할 수 있는가를 나타냅니다. 알고리즘의 안정성은 계산 과정에서 오차를 얼마나 키우는지에 관한 별개의 성질입니다.
정사각 가역 A의 2-노름 조건수
κ₂(A) = ‖A‖₂ ‖A⁻¹‖₂ = σmax / σmin
κ₂(A) ≈ 1 → 방향별 크기 비가 비슷함
κ₂(A)가 큼 → 일부 방향의 정보가 상대적으로 심하게 눌림행렬의 2-노름은 길이 1인 입력을 가장 크게 늘리는 비율로, 최대 특이값 σmax와 같습니다. 최소 특이값 σmin은 가장 적게 늘어나는 방향의 배율입니다. 가역행렬에서는 σmin이 0보다 큽니다.
작은 입력 차이가 크게 바뀌는 예
A = [ 1 0 ] b=(1,0) → x=(1,0)
[ 0 10⁻⁶ ]
b'=(1,10⁻⁶) → x'=(1,1)
입력 변화의 상대 크기 = 10⁻⁶
해 변화의 상대 크기 = 1
κ₂(A) = 10⁶계수행렬은 그대로인데 우변의 작은 y 오차가 해의 y 성분에서 크게 확대됩니다. 수학적으로 A가 가역이라는 사실과 계산이 입력 오차에 둔감하다는 사실은 같지 않습니다.
A를 고정하고 b≠0인 선형계의 우변만 바꿀 때, 유클리드 2-노름에서 상대 해 오차는 κ₂(A) × 상대 우변 오차로 상한을 설명할 수 있습니다. δb=b′−b, δx=x′−x로 두면 다음과 같습니다.
‖δx‖₂ / ‖x‖₂ ≤ κ₂(A) × (‖δb‖₂ / ‖b‖₂)모든 입력 방향이 항상 그 최악의 증폭을 겪는다는 뜻은 아닙니다.
작은 determinant와 구분
B = 10⁻⁶ I₂
det(B)=10⁻¹²
σmax=σmin=10⁻⁶
κ₂(B)=1B는 모든 방향을 같은 비율로 줄입니다. 절대 크기는 작지만 방향 사이의 상대 비율은 나쁘지 않습니다. determinant의 절댓값 하나만으로 “역행렬을 쓰면 위험하다”는 판정을 하지 않는 이유입니다. 절대 오차와 상대 오차도 구분해야 합니다.
안정적인 계산의 한계
안정적인 알고리즘도 본래 민감한 문제의 불확실성을 없애지는 못합니다. 작은 잔차 b−Ax가 관찰되어도 A의 조건이 나쁘면 구한 x가 입력 오차에 매우 민감할 수 있습니다. 잔차만 작으면 정확한 해라고 결론 내리지 않습니다.
| 선택 | 기대할 효과 | 남는 조건 |
|---|---|---|
| 단위·크기 조정 | 과도한 스케일 차이 완화 | 원래 변수의 의미로 결과 환산 |
| 피벗을 포함한 소거 | 나쁜 나눗셈·오차 누적 완화 | 문제 자체의 조건수는 별도 |
| QR·SVD 풀이 | 정규방정식의 추가 민감도 회피 | 입력 노이즈는 남음 |
| 작은 특이값 절단 | 큰 역수로 인한 증폭 제한 | 정보를 버리는 모델 선택 |
열 완전계수 A의 정규방정식에서는 κ₂(AᵀA)=κ₂(A)²입니다. 같은 최소제곱 문제라도 계산 경로가 수치적으로 불리해질 수 있습니다. 최소제곱과 SVD에서 대안을 구분합니다.
그래픽스의 경계 사례
카메라의 앞 방향과 up이 거의 평행하면 직교화 잔차가 작아져 새 축이 민감해집니다. 한 축의 스케일이 거의 0이면 역변환과 법선 변환이 그 방향을 크게 확대할 수 있습니다. 표현 가능한 숫자라고 안정적으로 쓸 수 있는 것은 아닙니다.
허용오차는 장면 단위·입력 노이즈·사용 정밀도·목적에 맞게 정합니다. 모든 정규화·행렬식·계수 판정에 같은 작은 상수를 기계적으로 적용하지 않습니다. 결과가 임계값 아래일 때 이동 생략·대체 축 선택·근사 해 사용 중 어떤 정책을 적용할지도 함께 정합니다.
작은 피벗과 행 교환의 실제 관계는 LU 분해, 변환의 민감도가 법선에 나타나는 이유는 법선 역전치에서 확인할 수 있습니다.
참고 링크
2 sources