420 likes | 558 Views
TWO EXAMPLES AS MOTIVATION FOR THE STUDY OF COMPUTER ERRORS. Prof Jorge Lemagne Faculty of Science, Bindura University jlemagne@buse.ac.zw , jorgelemagneperez@gmail.com. Summary. Introduction. To encourage students to study Mathematics.
E N D
TWO EXAMPLES AS MOTIVATION FOR THE STUDY OF COMPUTER ERRORS Prof Jorge Lemagne Faculty of Science, BinduraUniversity jlemagne@buse.ac.zw, jorgelemagneperez@gmail.com
9 strategies for increasing student motivation in Math (Posamentier[2013]) (1)
9 strategies for increasing student motivation in Math (Posamentier [2013]) (2)
Preceding strategies might be applied • In this talk: Two examples as motivation for the study of computer errors. • In both, all S1 to S9 might be applied. • Especially “S6. Indicate the usefulness of a topic” can be carried out by introducing “a practical application of genuine interest to the class at the beginning of a lesson.”
Inevitable presence of error • Scientific computing: Discipline concerned with the development and study of numerical algorithms for solving mathematical problems that arise in science and engineering. • The most fundamental feature of numerical computing is the inevitable presence of error.
Consequences of careless numerical computing • Scientists and engineers often wish to believe that the numerical results of a computer calculation, especially those obtained as output of a software package, contain no error: at least not a significant or intolerable one. • But careless numerical computing does occasionally lead to disasters. • Among them one of the most spectacular was the Patriot missile failure.
Example 1: The Patriot Missile Failure February 25, 1991 (Gulf War), Dharan, Saudi Arabia: An American Patriot Missile was supposed to track and intercept an incoming Iraqi Scud missile.
To produce the time in seconds • In Patriot computer, the system's internal clock measured the time in tenths of second. • So it was multiplied by to produce the time in seconds.
But, what was actually stored? In binary notation, the expansion of is non-terminating: However the multiplication by was performed using a 24 bit fixed point register, so it stored instead
Error Consequently, it is introduced an error , called rounding error (in this case by chopping).
Total time error The Patriot battery was up around 100 hours. Multiplying by the number of tenths of a second in 100 hours gives , the time error (in seconds).
The distance travelled • A Scud travels at about 1676 meters per second. • So travels more than half a kilometre in this time (0.34 sec). • This was far enough that the incoming Scud was outside the "range gate" that the Patriot tracked.
Consequence • As a consequence, the Patriot failed to track and intercept the incoming Iraqi Scud missile. • The Scud struck an American Army barracks, killing 28 soldiers and injuring around 100 other people.
Cause of this disaster • The small rounding error, when multiplied by the large number giving the time in tenths of a second, led to a significant error , due to the magnified rounding error. • It turns out that the cause of this disaster was an inaccurate calculation of the time since boot due to computer arithmetic errors.
Example 2: An apparently contradictory result • The second example of this talk is far less tragic than the preceding one. • We initially propose you to make a simple experiment. • It will be used an environment that is suitable for technical computing: MATLAB (MathWorks [2013]). We open the application:
Simple experiment >> 0.3*4==1.2 ans = 1 >> 0.4*3==1.2 ans = 0 >> Why? (To be explained)
Traditionally • We are used to perform calculations using decimal notation. • Moreover, in some cases, they are done exactly. • That happens when we perform
Scientific calculations • However, scientific calculations are not exact or use decimal notation. • Why? • Scientific calculations are usually carried out in floating point arithmetic. • Actually, this is just a generalization of what is called scientific notation.
Scientific notation • Essentially, as we know, its form has mantissa and exponent. For example: • Since decimal notation is used, the base is 10, and each mantissa digit is between 0 and 9.
Significant digits In the three examples the mantissa has digits, or equivalently, each number has 4 significant digits.
Floating point number • In general, the base is , and , , are digits between 0 and (normally ). • For most computers, . • The reason is mainly technological.
Can we represent exactly 1.2 in floating point with ? • Using the binary notation: • Observe that the mantissa has infinitely many binary digits or bits. • So, again, we need to approximate (round) the number. • This means to take only digits.
IEEE (Institute of Electrical and Electronics Engineers) • Standard 754, published in 1985, defines a binary floating point arithmetic system. • Values of : 24 (simple precision), 53 (double precision) and 64 (extended precision). • Correspondingly, the precision in decimal system is about 7, 15 or 19, obtained multiplying by
For the sake of clarity We consider a computer with , so instead of we have Or equivalently: Hence some error is committed. Observe the number that is actually represented.
The other data Similarly, the other data represented in our computer are the following:
Rounding again • Now, we perform the multiplications with these rounded numbers. • Each multiplication gives a number with 10 significant digits. • Hence, it must be rounded again.
Results Thus, we have the following results: Therefore, in our computer: But
In general, laws of arithmetic do not hold on scientific computing For some numbers and : : In arithmetic of decimal digits:
Further information To deepen on floating point arithmetic and analysis of error: Conte and de Boor [1980] and Heath [2002] (for instance)
So, what have we seen? • Two examples as motivation for the study of computer errors. • These may be startling to readers who are not familiarized with computer arithmetic.
Bibliography (1) [1] Arnold, D. N. (2000): The Patriot Missile Failure, http://www.ima.umn.edu/~arnold/disasters/ disasters.html [2] Conte, S. D. and de Boor, C. (1980): Elementary Numerical Analysis, an Algorithmic Approach, Third Edition, McGraw-Hill Book Company, ISBN 0-07-012447-7 [3] Heath, M. T. (2002): Scientific Computing: An introductory survey, Second edition, The McGraw-Hill Companies, Inc., ISBN 0-07-239910-4, ISBN 0-07-112229-X (ISE)
Bibliography (2) [4] Higham, N. J. (1996): Accuracy and stability of numerical algorithms, SIAM, Philadelphia, ISBN O-8987 l-355-2 (pbk.) [5] MathWorks, Inc., The (2013): MATLAB R2013a [6] Posamentier A. (2013): 9 Strategies for Motivating Students in Mathematics, EDUTOPIA, The George Lucas Educational Foundation, http://www.edutopia.org/blog/ 9-strategies-motivating-students-mathematics-alfred-posamentier