Denotemos por (era flojo tratando de obtener una versión en círculo del operador de división) los análogos de coma flotante de multiplicación exacta ( × ), suma ( + ) y resta ( - ), respectivamente. Asumiremos (IEEE-754) que para todos ellos
[ x ⊕ y ] = ( x + y ) ( 1 + δ ⊕ ) ,⊗ , ⊕ , ⊖×+-
donde ϵ m a c h es la máquina épsilon que da un límite superior al error relativo debido al redondeo. También usaremos el siguiente lema (suponiendo que todos | δ i | ≤ ϵ m a c h , ym no es demasiado grande) que se puede probar fácilmente:
m ∏ i = 1 ( 1 + δ i ) = 1 + θ (
[ x ⊕ y] = ( x + y) ( 1 + δ⊕) ,El | δ⊕El | ≤ ϵm a c h,
ϵm a c hEl | δyoEl | ≤ ϵm a c hmetro∏i = 1metro( 1 + δyo) = 1 + θ ( m ) ,El | θ(m) | ≤ m ϵm a c h1 - m ϵm a c h
Definamos la verdadera función que opera en números reales x , y , z comoFx , y, z
F( x , y, z) = ( x × z) - ( y× z)
y dos versiones de la implementación de la función en aritmética de coma flotante compatible con IEEE como y ~ f 2 que operan en representaciones de coma flotante ˜ x = x ( 1 + δ x ) , ˜ y , ˜ z , como sigue:F1~F2~X~= x ( 1 + δX) , y~, z~
F1~( x~, y~, z~) = ( x~⊗ z~) ⊖ ( y~⊗ z~) ,
F2~( x~, y~, z~) = ( x~⊖ y~) ⊗ z~.
Análisis de error para :F1~
F1~= ( ( x ( 1 + δX) × z( 1 + δz) ) ( 1 + δ⊗x z)( x~⊗ z~)- ( y( 1 + δy) × z( 1 + δz) ) ( 1 + δ⊗yz)( y~⊗ z~)) ( 1+ δ⊖)= x z( 1 + δX) ( 1 + δz) ( 1 + δ⊗x z) ( 1 + δ⊖) - yz( 1 + δy) ( 1 + δz) ( 1 + δ⊗yz) ( 1 + δ⊖)= x z( 1 + θx z, 1) - yz( 1 + θyz, 1) .
El | θx z, 1El | , | θyz, 1El | ≤ 4 ϵm a c h1 - 4 ϵm a c h
F2~
F2~= (( ( ( x ( 1 + δX) - y( 1 + δy) ( 1 + δ⊖x y) ) × ( z( 1 + δz) ) ) ( 1 + δ⊗)= x z( 1 + δX) ( 1 + δz) ( 1 + δ⊖x y) ( 1 + δ⊗) - yz( 1 + δy) ( 1 + δz) ( 1 + δ⊖x y) ( 1 + δ⊗)= x z( 1 + θx , 2) - yz( 1 + θy, 2) .
El | θx , 2El | , | θy, 2El | ≤ 4 ϵm a c h1 - 4 ϵm a c h
F1~F2~F2~F1~
Xy
El | F1~- fEl |El | FEl |= | x z+ x zθx z, 1- yz- yzθyz, 1- ( xz- yz) |El | xz- yzEl |= | x θx z, 1- yθyz, 1El |El | x-yEl |≤ | x | + | yEl |El | x-yEl |4 ϵm a c h1 - 4 ϵm a c h,
El | F2~- fEl |El | FEl |= | x z+ x zθx , 2- yz- yzθy, 2- ( x z- yz) |El | xz- yzEl |= | x θx , 2- yθy, 2El |El | x-yEl |≤ | x | + | yEl |El | x-yEl |4 ϵm a c h1 - 4 ϵm a c h.
θx , y, z( x - y)Xy
x , y, z, f( x ,y,z) ∈ F0 0F0 0