나는 그것을 읽었다
(1) 조건이 잘못된 작업은 조건이 좋은 작업보다 먼저 수행해야합니다.
예를 들어, 곱셈을하지 않으면 서 빼기가 조절되지 않기 때문에
엑스지−와이지를 로 계산해야합니다
(엑스−와이)지.
그러나 두 알고리즘의 1 차 오류 분석에 따르면 그것들은 단지 3 배 (*) 만 다른 것으로 밝혀졌으며, 이것이 왜 이것을 진술 (1)로 일반화 할 수 있는지, 또는 작업 순서. 당신은 진술이 (1) 받아 들여진 규칙이라고 생각합니까? 그리고 그것에 대한 다른 설명이 있습니까?
* : 더 구체적으로, 첫 번째 버전에는 상대적인 오류가 있습니다.
번째 버전의 상대적인 에러에 의해 제한되는 반면
여기서
eps는 기계 정밀도입니다.
이 분석은
i번째 중간 결과에
(1+εi)(반올림 오차로 인해 ) 가 곱해진다 는 가정을 기반으로합니다 . 여기서
εi는 묶인 iid 임의 변수
주당 순 이익입니다. “1 차”는 와 같은 고차 항이
ϵiϵjx무시 됨을 의미합니다 .
답변
로하자 나타낸다 정확한 곱셈의 부동 소수점 유사체 ((I는 나누기 연산자의 동그라미 버전을 얻으려고 노력 게으른) × ), 추가 ( + ()과 뺄셈을 – 각각). 우리는 (IEEE-754) 그들 모두에 대해
[ x ⊕ y ] = ( x + y ) ( 1 + δ ⊕ ) ,
×
+
−
여기서 ϵ m a c h 는 반올림으로 인한 상대 오차의 상한을 제공하는 기계 엡실론입니다. 또한쉽게 입증 할 수있는다음의 정리 (모두 | δ i | ≤ ϵ m a c h 이고 m 이 너무 크지 않다고 가정)를 사용합니다 :
m ∏ i = 1 ( 1 + δ i ) = 1 + θ (
ϵmach
|δi|≤ϵmach
m
하자 참된 정의 함수 실수 동작에 X , Y , Z 등을
fx,y,z
상기 함수로서 IEEE 규격의 부동 소수점 연산의 실행의 두 가지 버전 및 ~ F (2) 부동 소수점에서 동작 표현 ~ (X) = X ( 1 + δ X ) , ~ Y는 , ~ z는 로서 다음과 같다 :
f1~f2~
x~=x(1+δx),y~,z~
대한 오류 분석 :
f1~
여기,| θxz,1| ,| θyz,1| ≤4 ϵ m a c h
.
|θ엑스지,1|,|θ와이지,1|≤4ϵ미디엄ㅏ씨h1−4ϵ미디엄ㅏ씨h마찬가지로 ~ f 2
에프2~
여기,| θx,2| ,| θy,2| ≤4 ϵ m a c h
.
|θ엑스,2|,|θ와이,2|≤4ϵ미디엄ㅏ씨h1−4ϵ미디엄ㅏ씨h에프1~
에프2~
에프2~
에프1~
엑스
와이
사이의 약간의 차이
θ의 두 수치 구현 중 하나를 조금 더 좋거나 나쁘게 만들 수 있습니다.
엑스,와이,지. 그러나 나는 그것이 어떤 의미가 있는지 의심합니다. 계산해야 할 경우 결과에 상관없이 결과는 완전히 의미가 있습니다.
(엑스−와이), 언제
엑스과
와이부동 소수점 산술을 사용하여 (정확한 작업을 위해) 값이 충분히 가까우면 스케일링이 크게 도움이되지 않습니다. 이미 문제가 있습니다.
주의 : 위의 모든 논의는 오버플로 또는 언더 플로가 없다고 가정합니다.
엑스,와이,지,에프(엑스,와이,지)∈에프0,
에프0모든 일반 부동 소수점 숫자의 집합입니다.