Numerical Methods Binary FloatingPoint Errors
Numerical Methods Binary FloatingPoint Errors
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
1/11/2010 http://numericalmethods.eng.usf.edu 1
Binary Representation
http://numericalmethods.eng.usf.edu
How a Decimal Number is
Represented
−1 −2
257.76 = 2 × 10 + 5 × 10 + 7 ×10 + 7 ×10 + 6 ×10
2 1 0
3 http://numericalmethods.eng.usf.edu
Base 2
(1× 23 + 0 × 2 2 + 1× 21 + 1× 20 )
(1011.0011) 2 = −1 −2 −3 −4
+ ( 0 × 2 + 0 × 2 + 1 × 2 + 1 × 2 ) 10
= 11.1875
4 http://numericalmethods.eng.usf.edu
Convert Base 10 Integer to
binary representation
Table 1 Converting a base-10 integer to binary representation.
Quotient Remainder
11/2 5 1 = a0
5/2 2 1 = a1
2/2 1 0 = a2
1/2 0 1 = a3
Hence
(11)10 = (a3 a 2 a1 a0 ) 2
= (1011) 2
5 http://numericalmethods.eng.usf.edu
Start
Integer N to be
Input (N)10
converted to binary
format
i=0
Divide N by 2 to get
quotient Q & remainder R
i=i+1,N=Q
ai = R
No
Is Q = 0?
Yes
n=i
(N)10 = (an. . .a0)2
STOP
6 http://numericalmethods.eng.usf.edu
Fractional Decimal Number
to Binary
Table 2. Converting a base-10 fraction to binary representation.
Hence
(0.1875)10 = (a−1a− 2 a− 3a− 4 ) 2
= (0.0011) 2
7 http://numericalmethods.eng.usf.edu
Start
Fraction F to be
Input (F)10
converted to binary
format
i = −1
Multiply F by 2 to get
number before decimal,
S and after decimal, T
i = i − 1, F = T
ai = R
No
Is T =0?
Yes
n=i
(F)10 = (a-1. . .a-n)2
STOP
8 http://numericalmethods.eng.usf.edu
Decimal Number to Binary
(11.1875)10 = ( ?.? )2
Since
(11)10 = (1011) 2
and
(0.1875)10 = (0.0011) 2
we have
(11.1875)10 = (1011.0011) 2
9 http://numericalmethods.eng.usf.edu
All Fractional Decimal Numbers
Cannot be Represented Exactly
Table 3. Converting a base-10 fraction to approximate binary representation.
Number Number
Number after before
decimal Decimal
0.3 × 2 0.6 0.6 0 = a−1
0.6 × 2 1.2 0.2 1 = a− 2
0.2 × 2 0.4 0.4 0 = a−3
0.4 × 2 0.8 0.8 0 = a− 4
0.8 × 2 1.6 0.6 1 = a−5
10 http://numericalmethods.eng.usf.edu
Another Way to Look at
Conversion
= 1× 2 + 0 × 2 + 1× 2 + 1× 2
3 2 1 0
= (1011)2
11 http://numericalmethods.eng.usf.edu
(0.1875)10 = 2 −3
+ 0.0625
= 2 −3 + 2 − 4
−1 −2 −3 −4
= 0 × 2 + 0 × 2 + 1× 2 + 1× 2
= (.0011)2
(11.1875)10 = (1011.0011)2
12 http://numericalmethods.eng.usf.edu
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice
tests, worksheets in MATLAB, MATHEMATICA, MathCad
and MAPLE, blogs, related physical problems, please
visit
http://numericalmethods.eng.usf.edu/topics/binary_repr
esentation.html
THE END
http://numericalmethods.eng.usf.edu
Floating Point Representation
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
1/11/2010 http://numericalmethods.eng.usf.edu 1
Floating Point Representation
http://numericalmethods.eng.usf.edu
Floating Decimal Point : Scientific Form
−3
0.003678 is written as + 3.678 ×10
− 256.78 is written as − 2.5678 ×10 2
3 http://numericalmethods.eng.usf.edu
Example
The form is
sign × mantissa ×10exponent
or
σ × m ×10e
Example: For
− 2.5678 ×10 2
σ = −1
m = 2.5678
e=2
4 http://numericalmethods.eng.usf.edu
Floating Point Format for Binary
Numbers
y = σ × m× 2 e
5 http://numericalmethods.eng.usf.edu
Example
9 bit-hypothetical word
the first bit is used for the sign of the number,
the second bit for the sign of the exponent,
the next four bits for the mantissa, and
the next three bits for the exponent
0 0 1 0 1 1 1 0 1
mantissa exponent
Sign of the Sign of the
number exponent
6 http://numericalmethods.eng.usf.edu
Machine Epsilon
Defined as the measure of accuracy and found
by difference between 1 and the next number
that can be represented
7 http://numericalmethods.eng.usf.edu
Example
∈mach = 1.0625 − 1 = 2 −4
8 http://numericalmethods.eng.usf.edu
Relative Error and Machine
Epsilon
The absolute relative true error in representing
a number will be less then the machine epsilon
Example
(0.02832)10 ≅ (1.1100)2 × 2−5
= (1.1100 )2 × 2 −(0110 ) 2
0 1 0 1 1 0 1 1 0 0
Sign of the exponent mantissa
Sign of the
number
exponent
(1.1100)2 × 2−(0110 ) 2
= 0.0274375
0.02832 − 0.0274375
∈a =
0.02832
= 0.034472 < 2 − 4 = 0.0625
9 http://numericalmethods.eng.usf.edu
IEEE 754 Standards for Single
Precision Representation
http://numericalmethods.eng.usf.edu
IEEE-754 Floating Point
Standard
• Standardizes representation of
floating point numbers on
different computers in single and
double precision.
• Standardizes representation of
floating point operations on
different computers.
One Great Reference
http://www.validlab.com/goldberg/paper.pdf
IEEE-754 Format Single
Precision
s
.
Value = ( −1) × (1 m )2 × 2 e ' −127
13
Example#1
1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
= (− 1) × (1.625) × 2162−127
= (− 1)× (1.625)× 235 = −5.5834 ×1010
14
Example#2
Represent -5.5834x1010 as a single
precision floating point number.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
− 5.5834 × 10 = (− 1) × (1. ? ) × 2 ±?
10 1
15
Exponent for 32 Bit IEEE-754
8 bits would represent
0 ≤ e′ ≤ 255
Bias is 127; so subtract 127 from
representation
− 127 ≤ e ≤ 128
16
Exponent for Special Cases
Actual range of e′
1 ≤ e′ ≤ 254
e′ = 0 and e′ = 255 are reserved for special numbers
Actual range of e
− 126 ≤ e ≤ 127
Special Exponents and Numbers
e′ = 0 all zeros
e′ = 255 all ones
s e′ m Represents
0 all zeros all zeros 0
1 all zeros all zeros -0
0 all ones all zeros ∞
1 all ones all zeros −∞
0 or 1 all ones non-zero NaN
IEEE-754 Format
(1.1........1)2 × 2
127
= 3.40 ×10 38
ε mach = 2 −23
= 1.19 × 10 −7
19
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice tests,
worksheets in MATLAB, MATHEMATICA, MathCad and
MAPLE, blogs, related physical problems, please visit
http://numericalmethods.eng.usf.edu/topics/floatingpoint_re
presentation.html
THE END
http://numericalmethods.eng.usf.edu
Sources of Error
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
1/11/2010 1
Sources of Error
http://numericalmethods.eng.usf.edu
Two sources of numerical error
1) Round off error
2) Truncation error
3
Round-off Error
http://numericalmethods.eng.usf.edu
4
Round off Error
• Caused by representing a number
approximately
1
≅ 0.333333
3
2 ≅ 1.4142...
5
Problems created by round off error
6
Problem with Patriot missile
• Clock cycle of 1/10 seconds was
represented in 24-bit fixed point
register created an error of 9.5 x
10-8 seconds.
• The battery was on for 100
consecutive hours, thus causing
an inaccuracy of
−8 s 3600s
= 9.5 × 10 × 100hr ×
0.1s 1hr
= 0.342 s
7
Problem (cont.)
• The shift calculated in the ranging system
of the missile was 687 meters.
• The target was considered to be out of
range at a distance greater than 137
meters.
8
Effect of Carrying Significant
Digits in Calculations
http://numericalmethods.eng.usf.edu
9
Find the contraction in the
diameter
Tc
∆D = D ∫ α (T )dT
Ta
11
Regressing Data in Excel
(general format)
17
Truncation Error
http://numericalmethods.eng.usf.edu
18
Truncation error
• Error caused by truncating or
approximating a mathematical
procedure.
19
Example of Truncation Error
2!
20
Another Example of Truncation
Error
secant line
P
tangent line
90
y = x2
60
30
0 x
0 1.5 3 4.5 6 7.5 9 10.5 12
22
Example 1 —Maclaurin series
1.2
Calculate the value of e with an absolute
relative approximate error of less than 1%.
1.2 2 1.2 3
e 1.2
= 1 + 1.2 + + + ...................
2! 3!
n
e 1.2
Ea ∈a %
1 1 __ ___
2 2.2 1.2 54.545
3 2.92 0.72 24.658
4 3.208 0.288 8.9776
5 3.2944 0.0864 2.6226
6 3.3151 0.020736 0.62550
f ( x) = x 2 f ( x + ∆x) − f ( x)
Find for
f ′(3) using f ′( x) ≈
∆x
and ∆x = 0.2
f (3 + 0.2) − f (3)
f (3) =
'
0.2
f (3.2) − f (3) 3.2 2 − 32 10.24 − 9 1.24
= = = = = 6.2
0.2 0.2 0.2 0.2
90
9
∫
y = x2 2
60
x dx
30 3
0 x
0 3 6 9 12
25
Integration example (cont.)
∫ = (6 − 3) + ( x 2 ) (9 − 6)
2 2
x dx ( x )
x =3 x =6
3
= (3 2 )3 + (6 2 )3
= 27 + 108 = 135
Actual value is given by
9 9
x 3 93 − 33
∫3 x dx = 3 = 3 = 234
2
3
Truncation error is then
234 − 135 = 99
Can you find the truncation error with 4 rectangles?
26
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice tests,
worksheets in MATLAB, MATHEMATICA, MathCad and
MAPLE, blogs, related physical problems, please visit
http://numericalmethods.eng.usf.edu/topics/sources_of_err
or.html
THE END
http://numericalmethods.eng.usf.edu
Measuring Errors
8/31/2011 http://numericalmethods.eng.usf.edu 1
Measuring Errors
http://numericalmethods.eng.usf.edu
Why measure errors?
1) To determine the accuracy of
numerical results.
2) To develop stopping criteria for
iterative algorithms.
3 http://numericalmethods.eng.usf.edu
True Error
Defined as the difference between the true
value in a calculation and the approximate
value found using a numerical method etc.
4 http://numericalmethods.eng.usf.edu
Example—True Error
The derivative, f ′(x) of a function f (x) can be
approximated by the equation,
f ( x + h) − f ( x)
f ' ( x) ≈
h
If f ( x) = 7e and h = 0.3
0.5 x
5 http://numericalmethods.eng.usf.edu
Example (cont.)
Solution:
a) For x = 2 and h = 0.3
f ( 2 + 0.3) − f ( 2)
f ' ( 2) ≈
0.3
f (2.3) − f (2)
=
0.3
7e 0.5( 2.3) − 7e 0.5( 2 )
=
0.3
22.107 − 19.028
= = 10.263
0.3
6 http://numericalmethods.eng.usf.edu
Example (cont.)
Solution:
b) The exact value of f ' (2) can be found by using
our knowledge of differential calculus.
f ( x) = 7e 0.5 x
f ' ( x ) = 7 × 0.5 × e 0.5 x
= 3.5e 0.5 x
So the true value of f ' ( 2) is
f ' ( 2) = 3.5e 0.5( 2 )
= 9.5140
True error is calculated as
Et = True Value – Approximate Value
= 9.5140 − 10.263 = −0.722
7 http://numericalmethods.eng.usf.edu
Relative True Error
Defined as the ratio between the true
error, and the true value.
True Error
Relative True Error ( ∈t ) =
True Value
8 http://numericalmethods.eng.usf.edu
Example—Relative True Error
Following from the previous example for true error,
find the relative true error for f ( x) = 7e 0.5 x at f ' (2)
with h = 0.3
From the previous example,
Et = −0.722
Relative True Error is defined as
True Error
∈t =
True Value
− 0.722
= = −0.075888
9.5140
as a percentage,
∈t = −0.075888 × 100% = −7.5888%
9 http://numericalmethods.eng.usf.edu
Approximate Error
What can be done if true values are not
known or are very difficult to obtain?
Approximate error is defined as the
difference between the present
approximation and the previous
approximation.
Approximate Error ( E a ) = Present Approximation – Previous Approximation
10 http://numericalmethods.eng.usf.edu
Example—Approximate Error
For f ( x) = 7e 0.5 x at x = 2 find the following,
a) f ′(2) using h = 0.3
b) f ′(2) using h = 0.15
c) approximate error for the value of f ′(2) for part b)
Solution:
a) For x = 2 and h = 0.3
f ( x + h) − f ( x)
f ' ( x) ≈
h
f ( 2 + 0.3) − f ( 2)
f ' ( 2) ≈
0.3
11 http://numericalmethods.eng.usf.edu
Example (cont.)
Solution: (cont.)
f (2.3) − f (2)
=
0.3
7e 0.5( 2.3) − 7e 0.5( 2 )
=
0.3
22.107 − 19.028
= = 10.263
0.3
b) For x = 2 and h = 0.15
f (2 + 0.15) − f (2)
f ' ( 2) ≈
0.15
f (2.15) − f (2)
=
0.15
12 http://numericalmethods.eng.usf.edu
Example (cont.)
Solution: (cont.)
7e 0.5( 2.15) − 7e 0.5( 2 )
=
0.15
20.50 − 19.028
= = 9.8800
0.15
13 http://numericalmethods.eng.usf.edu
Relative Approximate Error
Defined as the ratio between the
approximate error and the present
approximation.
Approximate Error
Relative Approximate Error ( ∈a) =
Present Approximation
14 http://numericalmethods.eng.usf.edu
Example—Relative Approximate Error
For f ( x) = 7e 0.5 x
at x = 2 , find the relative approximate
error using values from h = 0.3 and h = 0.15
Solution:
From Example 3, the approximate value of f ′(2) = 10.263
using h = 0.3 and f ′(2) = 9.8800 using h = 0.15
Ea = Present Approximation – Previous Approximation
= 9.8800 − 10.263
= −0.38300
15 http://numericalmethods.eng.usf.edu
Example (cont.)
Solution: (cont.)
Approximate Error
∈a =
Present Approximation
− 0.38300
= = −0.038765
9.8800
as a percentage,
∈a = −0.038765 × 100% = −3.8765%
16 http://numericalmethods.eng.usf.edu
How is Absolute Relative Error used as a
stopping criterion?
If |∈a | ≤ ∈s where ∈s is a pre-specified tolerance, then
no further iterations are necessary and the process is
stopped.
17 http://numericalmethods.eng.usf.edu
Table of Values
For f ( x) = 7e at x = 2 with varying step size, h
0.5 x
h f ′(2) ∈a m
0.3 10.263 N/A 0
18 http://numericalmethods.eng.usf.edu
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice
tests, worksheets in MATLAB, MATHEMATICA, MathCad
and MAPLE, blogs, related physical problems, please
visit
http://numericalmethods.eng.usf.edu/topics/measuring
_errors.html
THE END
http://numericalmethods.eng.usf.edu
Propagation of Errors
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
1/11/2010 http://numericalmethods.eng.usf.edu 1
Propagation of Errors
http://numericalmethods.eng.usf.edu
Propagation of Errors
In numerical methods, the calculations are not
made with exact numbers. How do these
inaccuracies propagate through the calculations?
3 http://numericalmethods.eng.usf.edu
Example 1:
Find the bounds for the propagation in adding two numbers. For example
if one is calculating X +Y where
X = 1.5 0.05
Y = 3.4 0.04
Solution
Maximum possible value of X = 1.55 and Y = 3.44
Hence
4.81 ≤ X + Y ≤4.99.
4 http://numericalmethods.eng.usf.edu
Propagation of Errors In Formulas
∂f ∂f ∂f ∂f
∆f ≈ ∆X 1 + ∆X 2 + ....... + ∆X n −1 + ∆X n
∂X 1 ∂X 2 ∂X n −1 ∂X n
5 http://numericalmethods.eng.usf.edu
Example 2:
The strain in an axial member of a square cross-
section is given by
F
∈= 2
h E
Given
F = 72 ± 0.9 N
h = 4 ± 0.1 mm
E = 70 ± 1.5 GPa
6 http://numericalmethods.eng.usf.edu
Example 2:
Solution
72
∈= −3 2
(4 × 10 ) (70 × 10 )
9
= 64.286 × 10 −6
= 64.286 µ
∂∈ ∂∈ ∂∈
∆ ∈= ∆F + ∆h + ∆E
∂F ∂h ∂E
7 http://numericalmethods.eng.usf.edu
Example 2:
∂∈ 1 ∂∈ 2F ∂∈ F
= 2 =− 3 =− 2 2
∂F h E ∂h hE ∂E h E
Thus
1 2F F
∆E = 2 ∆F + 3 ∆h + 2 2 ∆E
h E hE h E
1 2 × 72
= −3 2
× 0. 9 + −3 3
× 0.0001
(4 ×10 ) (70 ×10 )
9
(4 ×10 ) (70 ×10 )
9
72
+ × 1 . 5 × 10 9
Solution
Let
z = x− y
Then
∂z ∂z
∆z = ∆x + ∆y
∂x ∂y
= (1)∆x + (−1)∆y
= ∆x + ∆y
So the relative change is
∆z ∆x + ∆y
=
z x− y
9 http://numericalmethods.eng.usf.edu
Example 3:
For example if
x = 2 ± 0.001
y = 2.003 ± 0.001
∆z 0.001 + 0.001
=
z | 2 − 2.003 |
= 0.6667
= 66.67%
10 http://numericalmethods.eng.usf.edu
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice
tests, worksheets in MATLAB, MATHEMATICA, MathCad
and MAPLE, blogs, related physical problems, please
visit
http://numericalmethods.eng.usf.edu/topics/propagatio
n_of_errors.html
THE END
http://numericalmethods.eng.usf.edu
Taylor Series Revisited
Major: All Engineering Majors
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
1/11/2010 http://numericalmethods.eng.usf.edu 1
Taylor Series Revisited
http://numericalmethods.eng.usf.edu
What is a Taylor series?
Some examples of Taylor series which you must have
seen
x2 x4 x6
cos( x) = 1 − + − +
2! 4! 6!
x3 x5 x7
sin( x) = x − + − +
3! 5! 7!
x2 x3
e = 1+ x +
x
+ +
2! 3!
3 http://numericalmethods.eng.usf.edu
General Taylor Series
The general form of the Taylor series is given by
f ′′( x ) 2 f ′′′(x ) 3
f (x + h ) = f (x ) + f ′(x )h + h + h +
2! 3!
provided that all derivatives of f(x) are continuous and
exist in the interval [x,x+h]
4 http://numericalmethods.eng.usf.edu
Example—Taylor Series
Find the value of f (6) given that f (4) = 125, f ′(4) = 74,
f ′′(4 ) = 30, f ′′′(4 ) = 6 and all other higher order derivatives
of f (x ) at x = 4 are zero.
Solution:
h2 h3
f (x + h ) = f (x ) + f ′(x )h + f ′′(x ) + f ′′′(x ) +
2! 3!
x=4
h = 6−4 = 2
5 http://numericalmethods.eng.usf.edu
Example (cont.)
Solution: (cont.)
Since the higher order derivatives are zero,
22 23
f (4 + 2 ) = f (4 ) + f ′(4 )2 + f ′′(4 ) + f ′′′(4 )
2! 3!
2 2 23
f (6 ) = 125 + 74(2 ) + 30 + 6
2! 3!
= 125 + 148 + 60 + 8
= 341
Note that to find f (6) exactly, we only need the value
of the function and all its derivatives at some other
point, in this case x = 4
6 http://numericalmethods.eng.usf.edu
Derivation for Maclaurin Series for ex
Derive the Maclaurin series
x2 x3
e = 1+ x +
x
+ +
2! 3!
The Maclaurin series is simply the Taylor series about
the point x=0
h2 h3 h4 h5
f (x + h ) = f (x ) + f ′(x )h + f ′′(x ) + f ′′′(x ) + f ′′′′(x ) + f ′′′′′(x ) +
2! 3! 4 5
h2 h3 h4 h5
f (0 + h ) = f (0 ) + f ′(0 )h + f ′′(0) + f ′′′(0 ) + f ′′′′(0 ) + f ′′′′′(0 ) +
2! 3! 4 5
7 http://numericalmethods.eng.usf.edu
Derivation (cont.)
Since f ( x) = e x , f ′( x) = e x , f ′′( x) = e x , ... , f n ( x) = e x and
f n (0) = e 0 = 1
8 http://numericalmethods.eng.usf.edu
Error in Taylor Series
The Taylor polynomial of order n of a function f(x)
with (n+1) continuous derivatives in the domain
[x,x+h] is given by
h2 hn
f ( x + h ) = f ( x ) + f ′( x )h + f ' ' ( x ) + + f ( x ) + Rn ( x )
(n )
2! n!
where the remainder is given by
( )
Rn x =
( x − h)
n +1
( n +1)
f () c
(n + 1)!
where
x < c < x+h
that is, c is some point in the domain [x,x+h]
9 http://numericalmethods.eng.usf.edu
Example—error in Taylor series
The Taylor series for e at point x = 0 is given by
x
x 2 x3 x 4 x5
e =1+ x +
x
+ + + +
2! 3! 4! 5!
It can be seen that as the number of terms used
increases, the error bound decreases and hence a
better estimate of the function can be found.
10 http://numericalmethods.eng.usf.edu
Example—(cont.)
Solution:
Using (n + 1) terms of Taylor series gives error bound of
Rn ( x ) =
( x − h)
n +1
f (n +1) (c ) x = 0, h = 1, f ( x) = e x
(n + 1)!
Rn (0 ) =
(0 − 1)
n +1
f (n +1) (c )
(n + 1)!
=
(− 1)
n +1
ec
(n + 1)!
Since
x < c < x+h
0 < c < 0 +1 1
< Rn (0 ) <
e
0 < c <1 (n + 1)! (n + 1)!
11 http://numericalmethods.eng.usf.edu
Example—(cont.)
Solution: (cont.)
So if we want to find out how many terms it would
require to get an approximation of e within a
1
(n + 1)!> 10 6 e
(n + 1)!> 10 6 × 3
n≥9
So 9 terms or more are needed to get a true error
less than 10 −6
12 http://numericalmethods.eng.usf.edu
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice
tests, worksheets in MATLAB, MATHEMATICA, MathCad
and MAPLE, blogs, related physical problems, please
visit
http://numericalmethods.eng.usf.edu/topics/taylor_seri
es.html
THE END
http://numericalmethods.eng.usf.edu