위키득계정 ↗
과학

행렬 조건수

행렬 조건수과학
영문명
Matrix condition number
주요 의미
입력 변화에 대한 민감도
가역 정사각 행렬
κ(A) = ‖A‖ ‖A⁻¹‖
이차 노름
최대 특잇값과 최소 특잇값의 비
행렬 조건수는 행렬을 사용하는 계산에서 입력의 작은 변화가 결과에 얼마나 큰 영향을 줄 수 있는지 나타내는 민감도 척도다. 선형 연립방정식이나 역행렬 계산에서 사용한다. 선택한 노름과 계산 문제를 명시해야 하며 행렬 원소의 크기만으로 판단하지 않는다.

어떤 계산의 민감도인지 본다

가역 행렬의 선형계 Ax = b에서 조건수가 크면 작은 데이터 변화가 해의 큰 변화로 이어질 수 있다. 실제 오차가 매번 그만큼 커진다는 뜻은 아니다. 입력 변화의 방향, 반올림 오차와 사용하는 알고리즘도 실제 결과에 영향을 준다.

대각 행렬의 계산 예

대각 원소가 1과 0.001인 행렬의 이차 노름 조건수는 1000이다. b = (1,0.001)이면 해는 (1,1)이다. b의 두 번째 성분만 0.002로 바꾸면 해는 (1,2)가 된다. 입력의 절대 변화는 0.001이지만 해의 두 번째 성분은 1만큼 바뀐다.

전체 크기와는 다른 수치다

위 행렬의 모든 원소에 100을 곱하면 대각 원소는 100과 0.1이 된다. 최대와 최소 특잇값의 비는 여전히 1000이다. 반면 단위행렬의 이차 노름 조건수는 1이다. 행렬이 작은 수로 이루어졌는지와 조건이 나쁜지는 서로 다른 질문이다.

특이성과 수치 오차

특이 행렬은 역행렬을 갖지 않으며 이 맥락에서 조건수를 무한대로 다룬다. 매우 큰 유한 조건수도 사용 가능한 정밀도에서 문제가 될 수 있다. 하지만 조건수가 작다는 사실만으로 잘못 구현한 풀이까지 정확해지는 것은 아니다. 문제의 민감도와 알고리즘의 수치 안정성을 구분한다.

관련 문서

행렬 / 정규방정식 / 최소제곱법 / QR 분해 / 가우스 소거법 / 부동 소수점 / 단위행렬