Core Concepts
부동소수점 연산을 사용하는 간단한 함수에 대한 오차 분석을 자동화하기 위한 도구를 제공한다. 단위 반올림 오차의 함수로 표현된 상대 오차 한계를 얻는 것이 목표이다.
Abstract
이 논문은 부동소수점 연산을 사용하는 간단한 함수에 대한 오차 분석을 자동화하기 위한 도구를 제공한다. 단위 반올림 오차의 함수로 표현된 상대 오차 한계를 얻는 것이 목표이다.
논문은 다음과 같이 진행된다:
부동소수점 연산의 기본 개념과 특성을 소개한다. 개별 연산의 오차 한계를 나타내는 두 가지 모델(절대 오차와 상대 오차)을 설명한다.
부동소수점 수의 구조적 특성을 이용하여 개별 연산의 오차 한계를 개선할 수 있는 특별한 경우들을 제시한다.
컴퓨터 대수 알고리즘을 사용하여 수치 프로그램의 오차 분석을 자동화하는 방법을 설명한다. 이 방법은 중간 변수들 간의 상관관계를 고려하여 보다 엄밀한 오차 한계를 얻을 수 있다.
직각삼각형의 빗변 계산을 위한 다양한 알고리즘들을 소개하고, 제안한 방법을 이용하여 각 알고리즘의 오차 한계를 분석한다.
이 접근법은 간단한 함수를 구현하는 작은 프로그램에 대해 매우 정확한 오차 한계를 제공할 수 있지만, 대규모 프로그램에는 적합하지 않다. 따라서 이 방법은 기본적인 수치 연산 블록을 구현하는 알고리즘 분석에 유용할 것으로 보인다.
Stats
x와 y의 범위가 0부터 2^16 사이일 때, 알고리즘 1의 상대 오차 한계는 2u + (72/5 - 32√6/5)u^2 < 2u - 5/4u^2이다.
Quotes
"부동소수점 연산은 본질적으로 정확하지 않다. 개별 반올림 오차의 영향은 대부분 작지만 때로는 재앙적일 수 있다."
"매우 자주 실제 최대 오차에 대한 과대 추정이 발생한다. 이는 일부 연산이 무오차이거나 중간 변수들 간의 상관관계 때문이다."