Szacowanie błędu całkowitego algorytmu.
Jaki jest całkowity bład przy wykonywaniu algorytmu
(a, b, c, d) → (a + b, c, d) → ((a + b)c, d) →
(a + b)c
d
!
Mamy zatem
d
(0)
= (a, b, c, d)
d
(1)
= (a + b, c, d)
d
(2)
= ((a + b)c, d)
d
(3)
=
(a + b)c
d
ϕ
(0)
(x, y, w, z) = (x + y, w, z)
ϕ
(1)
(x, y, z) = (xy, z)
ϕ
(2)
(x, y) =
x
y
Oczywiście ϕ = ϕ
(2)
◦ ϕ
(1)
◦ ϕ
(0)
. Bład całkowity β algorytmu obliczamy ze wzoru
β = α
r+1
+
r
X
k=1
Dψ
(k)
(d
(k)
)α
k
+ Dϕ(d
(0)
)∆d
(0)
gdzie
α
i
= E
i
ϕ
(i−1)
(d
(i−1)
)
ψ
(k)
(t) = (ϕ
(r)
◦ . . . ◦ ϕ
(k)
)(t)
zaś E
i
są macierzami kwadratowymi zawierającymi błędy zaokrągleń w operacjach
zmiennopozycyjnych.
W naszym zadaniu mamy r = 2, a więc
ψ
(1)
= ϕ
(2)
◦ ϕ
(1)
ψ
(1)
(x, y, z) =
xy
z
Dψ
(1)
(x, y, z) =
y
z
,
x
z
, −
xy
z
2
ψ
(2)
= ϕ
(2)
ψ
(2)
(x, y) =
x
z
Dψ
(2)
(x, y) =
"
1
y
, −
x
y
2
#
I dla potrzeb naszego wzoru mamy
Dψ
(1)
(d
(1)
) =
"
c
d
,
a + b
d
, −
(a + b)c
d
2
#
Dψ
(2)
(d
(2)
) =
"
1
d
, −
(a + b)c
d
2
#
Ponadto
ϕ(x, y, w, z) =
(x + y)w
z
Dϕ(x, y, w, z) =
"
w
z
,
w
z
,
x + y
z
, −
(x + y)w
z
2
#
I na potrzeby wzoru wyznaczającego bład całkowity mamy tym razem
Dϕ(d
(0)
) =
"
c
d
,
c
d
,
a + b
d
, −
(a + b)c
d
2
#
Należy jeszcze wyznaczyć elementy α
1
, α
2
, α
3
α
1
= E
1
ϕ
(0)
(d
(0)
) =
ε
1
0 0
0
0 0
0
0 0
a + b
c
d
=
ε
1
(a + b)
0
0
α
2
= E
2
ϕ
(1)
(d
(1)
) =
ε
2
0
0
0
!
(a + b)c
d
!
=
ε
2
(a + b)c
0
!
α
3
= E
3
ϕ
(2)
(d
(2)
) = ε
3
·
(a + b)c
d
A zatem ostatecznie otrzymujemy
β = ε
3
·
(a + b)c
d
+
c
d
,
a + b
d
, −
(a + b)c
d
2
!
ε
1
(a + b)
0
0
+
+
1
d
, −
(a + b)c
d
2
!
ε
2
(a + b)c
0
!
+
c
d
,
c
d
,
a + b
d
, −
(a + b)c
d
2
!
∆a
∆b
∆c
∆d
=
=
c
d
· (∆a + ∆b) +
a + b
d
· ∆c −
(a + b)c
d
2
· ∆d +
(a + b)c
d
· (ε
1
+ ε
2
+ ε
3
)