본문으로 건너뛰기
256 / NUMERICAL COMPUTING LAB
먼저 알아두면 좋아요 · 연결된 선수 단원의 선형대수·미적분·연산 그래프 기초
단원 목록 (600) · 조건수·안정성·Forward와 Backward Error
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

문제의 민감도와 계산 알고리즘의 오차를 서로 다른 기준으로 측정합니다.

A=diag(1,10^-k), exact x=(1,1). Add 10^-q to either the weak or strong right-hand-side direction. The blue line is exact data-induced relative solution change. Orange is arithmetic error relative to the perturbed exact solution across toy precisions. This separates conditioning of the problem from stability of the algorithm; residuals use the original matrix and perturbed data in binary64.

2.1624.840.735-0.028
가로 계산 precision · 파랑 정확한 입력 섭동의 영향 · 주황 섭동된 해에 대한 산술 오차
precision bitsx0x1arithmetic forward errorrhs backward error
31200
41200
51200
61200
71200
81200
91200
101200
111200
121200
131200
141200
151200
161200
171200
181200
191200
201200
211200
221200
231200
241200

matrix 2-norm condition number = 1.000e6

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

문제

diag(1,delta)는 약한 방향의 데이터를 크게 증폭합니다.

kappa_2=1/delta

실험에서 확인하기 →
이 단원 목차

세 종류의 해와 세 가지 질문

오차를 말하려면 비교 기준부터 정해야 합니다. A=diag(1,delta), delta=10^-k, b=(1,delta)이면 원래 해는 x=(1,1)입니다. 우변을 b_eta로 바꾼 정확한 해를 x_eta, 반올림 계산 결과를 xhat이라고 합시다. 원래 해·섭동된 정확한 해·계산 결과를 구분하면 데이터 불확실성과 산술 오차가 섞이지 않습니다.

입력 변화의 영향은 ||x_eta-x||/||x||, 산술 forward error는 ||xhat-x_eta||/||x_eta||입니다. 원래 해에서의 총 변화는 두 영향을 모두 포함할 수 있습니다. 실험은 Euclidean norm과 각 기준을 수치 이름에 명시합니다.

조건수는 수학적 문제의 민감도다

대각 행렬의 singular value는 1과 delta이므로 다음이 성립합니다.

κ2(A)=∥A∥2∥A−1∥2=1/δ.\kappa_2(A)=\|A\|_2\|A^{-1}\|_2=1/\delta.

약한 두 번째 방향에 eta=10^-q를 더하면 해는 (1,1+eta/delta)가 됩니다. delta=eta=10^-6이면 아주 작은 우변 변화가 해의 두 번째 성분을 두 배로 만듭니다. 정밀도를 늘려도 섭동된 정확한 문제의 답 자체가 다르다는 사실은 없어지지 않습니다.

같은 크기의 섭동을 첫 성분에 주면 해의 변화는 eta뿐입니다. 조건수는 선택한 노름에서 최악 방향의 상한이지 모든 입력 변화의 실제 증폭률은 아닙니다. 두 예제의 섭동 크기를 같게 유지하고 방향만 바꾸어 확인하세요.

Backward error는 무엇을 풀었는지 묻는다

Toy p-bit 산술로 행렬·우변·나눗셈을 반올림한 뒤 잔차 r=A xhat-b_eta를 원래 행렬과 binary64로 다시 계산합니다. A xhat=b_eta+r이므로 계산한 해는 우변이 r만큼 바뀐 문제의 정확한 해로 해석할 수 있습니다.

ηb=∥r∥2∥bη∥2,∥x^−xη∥2∥xη∥2≤κ2(A)ηb.\eta_b=\frac{\|r\|_2}{\|b_\eta\|_2},\qquad \frac{\|\hat x-x_\eta\|_2}{\|x_\eta\|_2} \le\kappa_2(A)\eta_b.

여기서는 A를 고정하고 우변만 바꾸는 backward error입니다. 일반 해법에서는 행렬 섭동도 허용하거나 성분별 상대 오차를 정의할 수 있습니다. 따라서 노름·분모·허용하는 섭동을 함께 적어야 합니다.

정밀도를 높여도 바뀌지 않는 곡선

파란 곡선은 정확한 데이터 변화의 영향이므로 계산 precision과 무관합니다. 주황 곡선은 x_eta에 대한 산술 오차입니다. 정밀도를 높여 주황 오차를 줄여도 파란 영향은 남습니다. 계산 알고리즘 개선과 더 정확한 관측 확보가 서로 다른 과제임을 보여줍니다.

직접 풀기: 같은 크기, 다른 효과

delta=eta=10^-6에서 약한 방향의 정확한 해는 (1,2), 상대 변화는 1/sqrt(2)입니다. 강한 방향은 (1.000001,1), 상대 변화는 10^-6/sqrt(2)입니다. 우변 섭동 노름이 같은데도 결과가 크게 다른 이유와 두 결과 모두 조건수 상한을 만족하는 이유를 설명하세요.

더 읽기: LAPACK 오차 측정.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 작은 backward error가 항상 작은 forward error를 보장하나요?
2. 조건수는 반올림 알고리즘만의 성질인가요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.