Top Banner
1 Introduction to computing Dr. Asaf Varol [email protected]
41

1 Introduction to computing Dr. Asaf Varol [email protected].

Jan 17, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

1

Introduction to computing

Dr. Asaf Varol

[email protected]

Page 2: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

2

Basic operation performed by a computer

• Arithmetic Operations: Addition, subtraction, multiplication and division

• Logical operations: the sign or the comparative magnitude of two numbers

• Data transfer: Moving data from one location to another in the memory.

• Input-output operations: Controlling the reading/writing of information into or out of the computer

Page 3: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

3

On Digital Computers

Digital computers store numbers in an entity (or unit) called a word which consists of a string of binary digits, or bits. Various number systems are used to represent mathematical numbers. Some commonly used number systems are: hexadecimal (base 16), decimal (base 10), octal (base 8), and binary (base 2). For example, in a decimal system the number 8,410 is represented in powers of ten as:

8103 + 4102 +1101 + 0100 = 8000 + 400 + 10 + 0 = 8,410

Page 4: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

4

On Digital Computers (Cont’d)

A method known as the doubling procedure is as follows. Given a decimal number N, it can be decomposed as:

N = 2Q1 + R1 (Q1 = N/2 - remainder) Q1 = 2Q2 + R2 (Q2 = Q1/2 - remainder)

. .

. .. .

Qk = 0 + Rk+1 etc.

The corresponding binary number is obtained by writing the remainders Rk+1, Rk, ... , R1 in the reverse order as:

B = Rk+1RkRk-1 ... R1

Page 5: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

5

Example

Convert the decimal number N = 8,410, to a binary number.

Solution:Perform sequential division by 2 as follows:8,410 = (24,205) + 0 65 = (232) + 14,205 = (22,102) + 1 32 = (216) + 02,102 = (21,051) + 0 16 = (28) + 01,051 = (2525) + 1 8 = (24) + 0 525 = (2262) + 1 4 = (22) + 0 262 = (2131) + 0 2 = (21) + 0 131 = (265) + 1 1 = (20) + 1

The binary equivalent of 8,410 is then given by collecting the remainder digits from the last to the first:

10000011011010 = 11213 + 0212 + 0211 + 0210 + 029 + 028 + 127 + 126 + 025 + 124 + 123 + 022 + 121 + 020

Page 6: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

6

Representations of Numbers

Numbers are usually represented using the normal form notation. That is,

x = m.10E for 10-1 < m < 1

where for x 0, m is called the mantissa and E is the exponent. By convention, the number zero has the normal notation, 0.100.

Page 7: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

7

Significant Digits

If a number is written in standard decimal, floating-point form, or in normal form such that:

x = 0.d1 d2 d3 ... dk10n

with d1 0 and dk 0, we say that this number has k significant digits (or significant figures) which indicates those digits that can be used with a confidence relative to the true value of the

number.

Page 8: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

8

Significant Digits (Cont’d)

Note that the zeros which are used only to shift the decimal point are not counted as significant figures. The leading zeros may or may not be significant. For example,

x = 0.0002815 has 4 significant figures!x = 1,200 may have 4, 3, or 2 significant figures!

Some examples are:

46.45072800 = 0.46450728102 (with 8, 9, or 10 significant digits) -335.12 = -0.33512103 (with 5 significant digits) 0.00517 = 0.51710-3 (with 3 significant digits)

0.74 = 0.74100 (with 2 significant digits)

Page 9: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

9

Computer Representation of Numbers

The decimal equivalent of the binary number represented in Figure 1.4.1 is given by:

-(026 + 025 + 024 + 123 + 022 + 121 + 120)= -(0 + 0 + 0 + 8 + 0 + 2 + 1)= -11

{sign} Value

1 0 0 0 1 0 1 1

Figure 1.4.1 Binary representation of an integer using an

8 bit word (or Byte)

Page 10: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

10

Example

Determine the largest integer that can be represented by an 8 bit machine.

Solution:

Imax = +(126 + 125 + 124 + 123 + 122 + 121 + 120) = +( 64 + 32 + 16 + 8 + 4 + 2 + 1 ) = +(127) = +(27 - 1)In general:

Imax = +[2(n -1) - 1]; Imin = -[2(n -1) - 1]

For a binary computer utilizing 32 bit words, Imax = 2,147,483,647

Page 11: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

11

Floating-Point Representation

A floating-point number is written as:

x = (sign)m.b(sign)E

where m is the mantissa, b is the base (b = 2 for a binary system), and E is the exponent.

Sign of Mantissa Digits of Mantissa Sign of Exponent Digits of Exponent

d1 d2 d3 d4 d5 d6 d7 d8

Page 12: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

12

Example

Determine the smallest, positive, nonzero, floating point number that can be represented by an eight bit machine using binary system with one bit spared for the sign of the mantissa, one bit for the sign of the exponent, and two bits for the digits of the exponent:

Sign of Mantissa Digits of Mantissa Sign of Exponent Digits of Exponent

0 0 0 0 1 1 1 1

Solution:m = +(023 + 022 + 021 + 120)m = +( 0 + 0 + 0 + 1 ) = 1E = -[(121) + (120)] = -(2+1) = - 3Number = 12-3 (which is equal to 0.1250 in decimal system)

Page 13: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

13

Errors

the approximation of numbers, accuracy, and precision. Neither physical measurements nor arithmetic calculations can be carried out exactly. The engineer's motto should be:

“There is nothing which is absolutely correct or exact in science”

Accuracy is the measure of how close an estimated value or answer is to its true (or exact) value. Since in many situations this exact value is not known, the accuracy of an answer is usually measured with respect to the best-estimated value.

Precision implies how closely the repeatedly measured (or calculated) values of a certain quantity agree with each other. Thus it represents the number of significant figures in representing that quantity as a single average number with a spread (variation) around its mean.

Page 14: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

14

Errors

True absolute error

Et =(true value) - (approximate value)

Approximate absolute errorEa =(best estimate) - (approximate value)

True relative error

et =(true value) - (approximate value)/true value Approximate relative error

ea =(best estimate) - (approximate value)/best estimate

Page 15: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

15

Errors (Cont’d)

For series, sequences, and iterations, approximate error can be defined as:Approximate absolute error (for iterative calculations):

Ea =(current value) - (previous value)

Approximate relative error (for iterative calculation): ea = ((current value) - (previous value))/current value

When the exact value of a quantity is not given (or known), it is not possible to calculate a true error. However, the approximate error can be used to calculate error bounds for an approximate answer. To this end, a theorem called Scarborough criteria can be very useful.

Scarborough CriteriaIf the approximate relative error, ea < 0.510-m, then the result (or the answer) is correct to at least m significant digits.

Page 16: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

16

Example E1.5.1

Calculate the number of terms that is necessary to estimate the value of to two significant digits from the Taylor series expansion for Arctan(x) about the base point x = 0. The number = 3.141592653589793 (to 16 significant digits) is related to this function by:

= 4.0Arctan(1.0)

Solution:The infinite series (convergent in the range –1.0 to 1.0) is given by:

...

12

1...

119753tan

121119753

n

xxxxxxxxArc

nn

where n = 1, 2, 3, ...Check your answer by actually calculating from the above series. Plot the true relative error and the approximate relative error as a function of the number of terms.

Page 17: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

17

Errors (Cont’d)

Note that for such series, the definition of ea reduces to:

ea =(current value) - (previous value)/current valueea =last term used/current sum

If we assume that the current sum is accurate to two significant digits ( = 3.1), then:

ea 4 (-1)(n+1) x2n-1/(2n-1)/(3.1) at x = 1

Using Scarborough criteria,ea (4/3.1)/(2n-1) < 0.510-2

Solving this equation for n (by trial and error) gives: n 130

Page 18: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

18

MatLab solution

Page 19: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

19

Comparison of the true and approximate relative error

Page 20: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

20

Computer errors: Round off or Chop off errors

Most computers chop off (or simply ignore) the digits beyond their capacity of representing them. That is, when the number of significant digits does not fit into the space allocated for the mantissa, some computers round the number.

For example, a computer with a three digit mantissa will represent 68.501 as 0.068E03 when chopping off is used, or as 0.069E03 when rounding is used.

Page 21: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

21

Computer errors: Round off or Chop off errors

Subtractive cancellationThis error occurs when subtracting two nearly equal numbers. Let us further explain this with an example.

Example If x = 40,000.01 and y = 40,000, what is x minus y using a 3-digit mantissa?Solution:

0.4000001x105

-0.4000000x105

_______________________

0.000 x105 = 0.0Smearing due to round-off errorsSignificant errors can occur when adding a large and a small number. For example, adding two temperatures, 0.4 K to 250 K, using a hypothetical decimal computer with a mantissa of 3 digits, yields:

0.250x103

0.0004x103

_______________________

0.250 x103 = 250 K

Page 22: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

22

Example E1.5.5

Consider the transient heat equation:

dT/dt = -(Ta - T)/h

where t is the time, h is a characteristic thermal relaxation time, and Ta is the ambient temperature (the temperature of the surroundings).Use a finite difference method to find the variation of the temperature T of an object, initially at a temperature T0 = 950 K, after it is immersed in a fluid having an uniform temperature Ta = 1000 K:

Tnew = Told + t(Ta - Told)/h

where t is the time increment between the old and new temperature and h = 1000 sec. We can start at time t = 0. Set Told = T0 = 950 and march in time to calculate T at subsequent times.

The results with t = 0.1 and 0.001 sec are depicted in figure along with the exact solution :

T = Ta + (T0 - Ta)exp(-t/h)

Page 23: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

23

Figure E.1.5.5 Illustration of smearing due to round off

Page 24: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

24

Truncation error

Truncation errors are those which usually arise from neglecting (cutting) a number of terms in a series formulation.

The geometric series is given by:

in the interval -1 < x < 1 for n = 0, 1, 2, 3…

when x = 0.5, the exact value of (x) = 2. If we represent this function by only three terms (n = 2), then:

(0.5) 1 + x + x2 = 1 + 0.5 + (0.5)2 = 1.75

Hence, the truncation error T.E. for n = 2, is given by:T.E. = [(0.5)exact - (0.5)approx] = 2 - 1.75 = 0.25 = Et = true error

or the true relative error,

et = Et/2.0 = 0.125 (12.5%)

This truncation error is the sum of all the terms left out from the infinite series.(x) = 1/(1 - x) 1 + x + x2 + (T.E.)n=2

Page 25: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

25

Taylor series expansion & approximation

Taylor series is used in Analysis to derive:• Integration formulas, functional approximations, finite

difference schemes and error analysis• A convergent series is a series whose sequence of

partial sums converges to a finite sum.• A divergent series is a series that does not converge.• The geometric series converges for -1< x < 1. As an

example let us calculate f(x=0.1):• n=0 S0=1 =1.000• n=1 S1=1 + x2 =1.100• n=2 S2=1 + x + x2 =1.110• n=∞ S∞=1.0/(1-0.1) =1.111111……

Page 26: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

26

Determining of converges

• To determine whether a series is convergent or not, there are two most commonly applied tests:

• The nth term test states that the series:

Sum=q1+q2+q3+…+qn

• Converges if qn approaches zero in the limit of the nth term must go to zero as n approaches ∞.

• According to the ratio test, if a series with the sequence of the summation of its term q1, q2, q3, ….qn has the property that.

• If R<1 or R=0, the series converges absolutely.• If R>1, the series diverges.• If R=1, the series may or may not converge.

Page 27: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

27

Example E.1.6.1

Page 28: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

28

Approximation of Functions: Taylor Series

Taylor's Theorem (Taylor`s Formula)

Let (x) be a function defined and continuously differentiable in the closed interval from a to x, and it has continuous derivatives of all orders in the same interval. One can then express that function in terms of a power series as follows:

(x) = (a) + (1)(a)(x-a) + (2)(a)(x-a)2/2! + (3)(a)(x-a)3/3! + … where (n)(a) denotes the nth order derivative of with respect to the independent variable x, then, evaluated at the point x = a. The point x = a about which the expansion is built is known as the base point.If the Taylor series is truncated after a finite number of terms, then the sum of all the terms truncated is called the remainder Rn(x). That is:

(x) = (a) + (1)(a)(x-a) + (2)(a)(x-a)2/2! + (3)(a)(x-a)3/3! + ... + (n)(a)(x-a)n/n! + Rn(x)

Page 29: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

29

Taylor Series

The remainder Rn(x) can be written (Stein, 1967) in the integral form as:

where t is a dummy variable used for the purpose of integration.

Using the first and second mean value theorems of calculus for integrals,

Eq. 1.6.5 can be written as:

x

a

nn

n n

dttftxxR

!

)()()(

)1(

b

a

bfabdxxf a ; )()()(

b

a

bfdxxgxf a ; g(x) )()()(b

a

xa;)!1(

)()()(

)1(1

nfax

xRnn

n

Page 30: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

30

Taylor Series (Cont’d)

Different forms of the Taylor series

In Taylor`s Theorem, let a = xi (meaning the ith point) and let x = xi+1 = a+h = xi+h denote the next point. Then it takes the form:

(xi+1) = (xi) + (1)(xi)h + (2)(xi)h2/2! + (3)(xi)h3/3! + … + (n)(xi)hn/n!

This form is particularly convenient for developing finite difference formulae. This equation can be further simplified with a change of notation:

i = (xi); i+1 = (xi+1); i(n) = (n)(xi)

Hence, we can write:

i+1 = i + i(1)h + i

(2)h2/2! + i(3)h3/3! + … + i

(n)hn/n! + ...

This form is convenient in deriving formulae for the integration of ordinary differential equations (see Chapter 6).

Some simple formulae for computing the derivative of a function numerically are given here as an introduction to numerical differentiation.

Page 31: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

31

Numerical differentiation

We truncate the Taylor series after the second term and solve for (1) = to obtain:

= (i+1-i)/h

or

; Forward Difference

where h = xi+1-xi = x. This is called a first order, forward difference approximation for the first derivative at the point x = xi = a. Note that the fundamental definition of the derivative of a function is:

Hence, Sf should become more and more accurate as we make the step size h smaller and smaller. However, one must be careful with round off errors

Other formulae can also be derived with the help of Taylor series expansion. (see fig. below)

; Backward difference

; Central difference

h

afhaf

xx

xfxf

dx

dfS

ii

ii

xxf

i

)()()()(

1

1

h

xfhxf

dx

dfh

0lim

1

1)()(

ii

ii

xxb xx

xfxf

dx

dfS

i

11

11 )()(

ii

ii

xxc xx

xfxf

dx

dfS

i

Page 32: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

32

Graphical interpretation of finite difference

1ix ix 1ix

cSbS

fS

)(xfy

y

x

1if

1if

if

h h

Page 33: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

33

Application of Taylor SeriesExample:

Using Taylor series, expand the function (x) = ln(1+x) about the base point a = 0. Also, using Taylor's formula, approximate this function as a first, second, and third degree polynomial. Compute ln(1.5) from the Taylor series with increasing an number of terms and make a table of the true and approximate errors as a function of the number of terms used in the summation. Further, estimate the truncation error.

Solution:

(x) = ln(1+x)

(1)(x) = 1/(1+x)

(2)(x) = -1/(1+x)2

(3)(x) = (2)(1)/(1+x)3

(4)(x) = -(3)(2)(1)/(1+x)4

. .

(n)(x) = (-1)n+1(n-1)!/(1+x)n

a = 0; (0) = 0, (1)(0) = 1, (2)(0) = -1, (3)(0) = 2, (4)(0) = -6

Substituting all of this into Eq. 1.6.4 yields:

(x) = ln(1+x) = 0 + x - x2/2 + x3/3 - x4/4 + ... + (-1)n-1 xn/n + ..

To determine for what values of x this series is convergent, apply the ratio test:

Hence, the series is convergent in the interval -1 < x < 1.

x

n

xn

x

Rn

n

n

1lim

1

Page 34: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

34

Application of Taylor Series (Cont’d)

Polynomial approximation (truncate Taylor series with finite terms)

One term ln(1+x) x (straight line)

Two terms ln(1+x) x - x2/2 (parabola)

Three terms ln(1+x) x - x2/2 + x3/3 (cubic polynomial)

These approximate functions are plotted in the figure below in comparison with the original function, (x) = ln(1+x). It is seen that as we take more and more terms, the approximate function (polynomial) represents the original function better and better in the neighborhood of the base point x = a = 0.

Page 35: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

35

Application of Taylor Series (Cont’d)

Figure: Taylor series approximation to (x) = ln(1+x).

Page 36: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

36

Case Study

Case Study C1.7.1 Numerical Evaluation of Derivatives

Using the approximate forward difference formula for the derivative of a function, calculate numerically the derivatives of the following functions at the specified points. Make a table for each case showing the variation of the exact derivative, the numerical derivative, and the absolute true error with the step size h. Let h vary between 1.0 and 1.E-20 decreasing each time by a factor of 10 times.

(a.) (x) = Cos(-10x2) at x = 0

(b.) (x) = e-ln(1/x) at x = 1.0

(c.) (x) = x/(5+3x-5) at x = 10

Note: (x0) [(x0 +h) -(x0)]/h.

Page 37: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

37

Case Study (Cont’d)

Let us first determine analytical derivatives:

(a) '(x) = 20xSin(-10x); '(0) = 0.

(b) '(x) = [e-ln(1/x)]/x = 1 ; '(1) = 1.0

(c) '(x) = (5 + 18x-5)/(5 + 3x-5)2 ; '(10) = 0.2000048

Numerical results for parts (a.), (b.), and (c.) are tabulated in Tables C1.7.1a-c, and shown in Figures C1.7.1a-c. For case (b.), note that (x) = eln(x) = x. Hence, df/dx = 1.0. We obtain the exact derivative with any value of h that is not very small so that the round off error becomes significant. When h becomes very small, we are adding a small number h to a large number that cannot be handled by the computer. For example, for small h:

[(1 + h) - (1)]/h [(1) - (1)]/h = 0.0 (wrong !)

Page 38: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

38

Case Study (Cont’d)Table: Variation of the True Error with Step Size for Calculating the Derivative of (x) = Cos(-10x2)

Exact Derivative = 0.000000E+00

Numerical Derivative at x = 0.000000E+00

hh df/dxdf/dx True ErrorTrue Error

1.000000E+00 -1.839072E+00 1.839072E+00

1.000000E-01 -4.995835E-02 4.995835E-02

1.000000E-02 -4.999999E-05 4.999999E-05

9.999999E-04 -4.999999E-08 4.999999E-08

9.999999E-05 -5.000016E-11 5.000016E-11

9.999999E-06 -4.878910E-14 4.878910E-14

9.999999E-07 0.000000E+00 0.000000E+00

9.999999E-08 0.000000E+00 0.000000E+00

9.999999E-09 0.000000E+00 0.000000E+00

9.999999E-10 0.000000E+00 0.000000E+00

9.999999E-11 0.000000E+00 0.000000E+00

9.999999E-12 0.000000E+00 0.000000E+00

9.999999E-13 0.000000E+00 0.000000E+00

9.999999E-14 0.000000E+00 0.000000E+00

9.999999E-15 0.000000E+00 0.000000E+00

9.999999E-16 0.000000E+00 0.000000E+00

9.999999E-17 0.000000E+00 0.000000E+00

9.999999E-18 0.000000E+00 0.000000E+00

9.999999E-19 0.000000E+00 0.000000E+00

1.000000E-19 0.000000E+00 0.000000E+00

1.000000E-20 0.000000E+00 0.000000E+00

Page 39: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

39

Case Study (Cont’d)

Figure C1.7.1c Step size h vs. true error for(x) = x/(5+3x-5).

Figure C1.7.1a Step size h vs. true errorfor (x) = Cos(-x2).

Page 40: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

40

End of Chapter 1•

Page 41: 1 Introduction to computing Dr. Asaf Varol avarol@mix.wvu.edu.

41

References• Celik, Ismail, B., “Introductory Numerical Methods for Engineering Applications”,

Ararat Books & Publishing, LCC., Morgantown, 2001 • Fausett, Laurene, V. “Numerical Methods, Algorithms and Applications”, Prentice

Hall, 2003 by Pearson Education, Inc., Upper Saddle River, NJ 07458

• Rao, Singiresu, S., “Applied Numerical Methods for Engineers and Scientists, 2002 Prentice Hall, Upper Saddle River, NJ 07458

• Mathews, John, H.; Fink, Kurtis, D., “Numerical Methods Using MATLAB” Fourth Edition, 2004 Prentice Hall, Upper Saddle River, NJ 07458

• Varol, A., “Sayisal Analiz (Numerical Analysis), in Turkish, Course notes, Firat University, 2001