Skip to main content
QUICK REVIEW

[논문 리뷰] How Accurate is inv(A)*b?

Alex Druinsky, Sivan Toledo|arXiv (Cornell University)|2012. 01. 29.
Matrix Theory and Algorithms참고 문헌 8인용 수 3
한 줄 요약

이 논문은 $Ax = b$ 를 $x = \text{inv}(A) \cdot b$ 로 풀 때, 역행렬이 조건적으로 정확하게 계산된다면 LU 또는 QR 분해와 같은 후진안정적 해법과 동일한 정확도를 갖는다는 것을 보여준다. 주요 발견은 $b$ 가 $A$ 의 작은 특이값 부분공간과 정렬되어 있지 않은 경우, 해가 조건적으로 정확하고 일반적으로 후진안정적이라는 것이다. 이는 수치선형대수 이론에서 오랫동안 퍼진 오해를 해결한다.

ABSTRACT

Several widely-used textbooks lead the reader to believe that solving a linear system of equations Ax = b by multiplying the vector b by a computed inverse inv(A) is inaccurate. Virtually all other textbooks on numerical analysis and numerical linear algebra advise against using computed inverses without stating whether this is accurate or not. In fact, under reasonable assumptions on how the inverse is computed, x = inv(A)*b is as accurate as the solution computed by the best backward-stable solvers. This fact is not new, but obviously obscure. We review the literature on the accuracy of this computation and present a self-contained numerical analysis of it.

연구 동기 및 목표

  • 역행렬을 계산하는 방식인 $x = \text{inv}(A) \cdot b$ 가 $A \backslash b$ 와 비교해 수치적으로 정확하지 않다는 광범위한 오해를 바로잡는 것.
  • 표준 역행렬 계산 방법을 사용할 때 $x = \text{inv}(A) \cdot b$ 가 조건적으로 정확한 해를 제공한다는 엄밀한 수치해석 분석을 제공하는 것.
  • 해가 뿐만 아니라 후진안정적일 때와 조건적으로 정확하기만 한 경우를 명확히 하는 것.
  • 수치 실험을 통해 $\text{inv}(A) \cdot b$ 가 LU 또는 QR 같은 표준 해법과 동일한 정확도를 보임을 보여주며, 특히 $b$ 가 작은 특이값 부분공간과 정렬되어 있지 않은 경우에 특히 그렇다는 것을 입증하는 것.

제안 방법

  • 역행렬 근사 $V \approx A^{-1}$ 를 고려할 때 $x_V = (V + \Delta)b$ 의 전진오차를 분석하며, $\|V - A^{-1}\|$ 와 $\|\Delta\|$ 의 경계를 사용한다.
  • 윌킨슨의 보다 날카운 오차 경계를 적용하여 오차가 $O(\kappa(A)\epsilon_{\text{machine}})\|x\|$ 라는 결과를 도출하며, 이는 후진안정적 해법과 동일한 오차 수준임을 보여준다.
  • 조건적 정확도와 후진안정성의 개념을 도입하여, $x_V$ 가 동시에 정확하고 후진안정적인 경우와 그렇지 않은 경우를 구분한다.
  • 특이값분해(SVD) 기반으로 $A$ 와 $A^{-1}$ 를 구성하여 조건수와 특이값이 알려진 제어 가능한 테스트 행렬을 생성한다.
  • MATLAB의 백슬래시 연산자와 SVD 기반 정확한 해를 사용하여 $\text{inv}(A) \cdot b$ 와 $A \backslash b$ 를 비교하며 잔차 및 오차 노름을 측정한다.
  • $\Gamma = V - A^{-1}$ 의 구조를 시각화하여, 그 행들이 큰 특이값에 대응하는 $A$ 의 좌측 특이벡터들과 거의 직교되어 있음을 보여준다.

실험 결과

연구 질문

  • RQ1역행렬을 사용한 $x = \text{inv}(A) \cdot b$ 는 LU 또는 QR 분해와 같은 후진안정적 해법과 동일한 정확도를 갖는가?
  • RQ2언제 $x = \text{inv}(A) \cdot b$ 는 뿐만 아니라 후진안정적일까?
  • RQ3왜 많은 교과서들이 $\text{inv}(A) \cdot b$ 가 $A \backslash b$ 보다 정확도가 떨어진다고 잘못 주장하는가?
  • RQ4$b$ 가 $A$ 의 좌측 특이값 부분공간과 어떻게 정렬되어 있는지가 $\text{inv}(A) \cdot b$ 의 정확도와 안정성에 어떤 영향을 미치는가?
  • RQ5계산된 역행렬이 전진정확도가 아니더라도, 여전히 조건적으로 정확한 해를 얻을 수 있는가?

주요 결과

  • $x = \text{inv}(A) \cdot b$ 의 전진오차는 $O(\kappa^2(A)\epsilon_{\text{machine}})\|x\|$ 로 경계지어지지만, 이 경계는 느슨하며 실제로 오차는 $O(\kappa(A)\epsilon_{\text{machine}})\|x\|$ 수준이며, 후진안정적 해법과 동일하다.
  • 만약 $b$ 가 작은 특이값에 대응하는 좌측 특이값 부분공간과 정렬되어 있지 않다면, $x = \text{inv}(A) \cdot b$ 는 조건적으로 정확하고 후진안정적이다.
  • 수치 실험 결과 $\text{inv}(A) \cdot b$ 는 잔차 노름 $8.8 \times 10^{-16}$ 을 달성하였으며, MATLAB의 백슬래시 연산자($4.1 \times 10^{-9}$ 상대오차)와 유사한 정확도를 보였다.
  • 해가 작은 특이값 부분공간과 거의 수직이 되는 경우에도 상대오차 $3.1 \times 10^{-9}$ 수준으로 조건적으로 정확하게 유지되지만, 후진오차는 $2.1 \times 10^{-10}$ 으로 증가한다.
  • 임의의 오차 행렬을 $V$ 에 더한 결과 상대오차가 $83.5\%$ 로 증가하여, $\Gamma = V - A^{-1}$ 의 구조가 정확도에 필수적임을 보여준다.
  • 이 논문은 $\text{inv}(A) \cdot b$ 가 본질적으로 정확하지 않다는 것이 아니라, 그 정확도가 메서드 자체가 아니라 역행렬 오차의 구조에 따라 달라진다는 것을 확인한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.