위키득계정 ↗
과학

LSQR

LSQR과학
영문명
LSQR
문제 형태
Ax ≈ b
목적
잔차의 2-노름 최소화
적용 가능 형태
직사각형 또는 불일치 시스템
LSQR은 선형 시스템의 최소제곱 해를 구하는 반복 알고리즘이다. 잔차 b-Ax의 2-노름을 줄이는 해를 찾으며, 정사각형이 아닌 행렬이나 모든 식을 동시에 만족시킬 수 없는 문제에도 적용한다. 큰 희소 선형 시스템을 다루는 수치 계산에서 사용한다.

정확한 해가 없어도 풀 문제는 남는다

x=1과 2x=1을 동시에 만족시키는 수는 없다. 계수 행렬을 두 행이 (1), (2)인 행렬, 우변을 (1,1)로 쓰면 이 불일치가 드러난다. 최소제곱 문제는 두 식의 오차를 함께 고려해 가장 작은 제곱합을 찾는다.

예제의 최솟값을 구하기

잔차 제곱합은 (1-x)²+(1-2x)² = 5x²-6x+2다. 이를 5(x-3/5)²+1/5로 쓰면 최적 해는 x=3/5다. 이 값에서 잔차는 (2/5,-1/5)이며 제곱합은 1/5다. 이 계산은 LSQR이 목표로 하는 해를 보여 주며 내부 반복 단계를 재현한 것은 아니다.

잔차가 0이어야 성공인 것은 아니다

예제에서는 가장 좋은 해에서도 잔차가 남는다. 따라서 잔차가 정확히 0이 될 때까지 반복하라는 기준은 문제와 맞지 않는다. 최소제곱 최적성에서는 Aᵀr도 살펴본다. 예제는 1×(2/5)+2×(-1/5)=0으로 이 조건을 만족한다.

정규방정식과의 관계

정규방정식 AᵀAx=Aᵀb와 연결되지만 LSQR을 단순히 AᵀA를 만든 뒤 푸는 절차와 같다고 보면 안 된다. 반복 횟수와 허용 오차, 전처리 여부가 결과에 영향을 준다. 종료 상태와 잔차를 확인하고, 종료했다는 사실만으로 정확한 해라고 단정하지 않는다.

관련 문서

최소제곱법 / 정규방정식 / 희소행렬 / 켤레기울기법 / 전처리 (수치해석) / 연립방정식 / 후방 오차