1         Numerical Analysis

Numerical analysis is the area of mathematics and computer science that creates, analyzes, and implements algorithms for solving numerically the problems of continuous mathematics. Such problems originate generally from real-world applications of algebra, geometry and calculus, and they involve variables which vary continuously; these problems occur throughout the natural sciences, social sciences, engineering, medicine, and business. Du

Babylonian clay tablet YBC 7289 with annotations.

Image via Wikipedia

ring the past half-century, the growth in power and availability of digital computers has led to an incr

easing use of realistic mathematical models in science and engineering, and numerical analysis of increasing sophistication has been needed to solve these more detailed mathematical models of the world. The formal academic area o

f numerical analysis varies from quite theoretical mathematical studies to computer science issues.

One of the earliest mathematical writings is the Babylonian tablet

YBC 7289, which gives a sexagesimal numerical approximation of , the length of the diagonal in a unit square. Being able to compute the sides of a triangle (and hence, being able to compute square roots) is extremely important, for instance, in carpentry and construction.

Figure 1: Babylonian clay tablet YBC 7289 (c. 1800–1600 BCE) with annotations. The approximation of the square root of 2 is four sexagesimal figures, which is about six decimal figures. 1 + 24/60 + 51/602 + 10/603 = 1.41421296…

Numerical analysis continues this long tradition of practical mathematical calculations. Much like the Babylonian approximation of , modern numerical analysis does not seek exact answers, because exact answers are often impossible to obtain in practice. Instead, much of numerical analysis is concerned with obtaining approximate solutions while maintaining reasonable bounds on errors.

Numerical analysis naturally finds applications in all fields of engineering and the physical sciences, but in the 21st century, the life sciences and even the arts have adopted elements of scientific computations. Ordinary differential equations appear in the movement of heavenly bodies (planets, stars and galaxies); optimization occurs in portfolio management; numerical linear algebra is important for data analysis; stochastic differential equations and Markov chains are essential in simulating living cells for medicine and biology.

Before the advent of modern computers numerical methods often depended on hand interpolation in large printed tables. Since the mid 20th century, computers calculate the required functions instead. The interpolation algorithms nevertheless may be used as part of the software for solving differential equations.

1.1       History

The field of numerical analysis predates the invention of modern computers by many centuries. Linear interpolation was already in use more than 2000 years ago. Many great mathematicians of the past were preoccupied by numerical analysis, as is obvious from the names of important algorithms like Newton’s method, Lagrange interpolation polynomial, Gaussian elimination, or Euler’s method.

To facilitate computations by hand, large books were produced with formulas and tables of data such as interpolation points and function coefficients. Using these tables, often calculated out to 16 decimal places or more for some functions, one could look up values to plug into the formulas given and achieve very good numerical estimates of some functions. The canonical work in the field is the NIST publication edited by Abramowitz and Stegun, a 1000-plus page book of a very large number of commonly used formulas and functions and their values at many points. The function values are no longer very useful when a computer is available, but the large listing of formulas can still be very handy.

The mechanical calculator was also developed as a tool for hand computation. These calculators evolved into electronic computers in the 1940s, and it was then found that these computers were also useful for administrative purposes. But the invention of the computer also influenced the field of numerical analysis, since now longer and more complicated calculations could be done.

1.2       Direct and iterative methods

Direct methods compute the solution to a problem in a finite number of steps. These methods would give the precise answer if they were performed in infinite precision arithmetic. Examples include Gaussian elimination, the QR factorization method for solving systems of linear equations, and the simplex method of linear programming. In practice, finite precision is used and the result is an approximation of the true solution (assuming stability).

In contrast to direct methods, iterative methods are not expected to terminate in a number of steps. Starting from an initial guess, iterative methods form successive approximations that converge to the exact solution only in the limit. A convergence test is specified in order to decide when a sufficiently accurate solution has (hopefully) been found. Even using infinite precision arithmetic these methods would not reach the solution within a finite number of steps (in general). Examples include Newton’s method, the bisection method, and Jacobi iteration. In computational matrix algebra, iterative methods are generally needed for large problems.

Iterative methods are more common than direct methods in numerical analysis. Some methods are direct in principle but are usually used as though they were not, e.g. GMRES and the conjugate gradient method. For these methods the number of steps needed to obtain the exact solution is so large that an approximation is accepted in the same manner as for an iterative method.

1.3       Discretization

Furthermore, continuous problems must sometimes be replaced by a discrete problem whose solution is known to approximate that of the continuous problem; this process is called discretization. For example, the solution of a differential equation is a function. This function must be represented by a finite amount of data, for instance by its value at a finite number of points at its domain, even though this domain is a continuum.

1.4       The generation and propagation of errors

The study of errors forms an important part of numerical analysis. There are several ways in which error can be introduced in the solution of the problem.

1.4.1       Round-off

Round-off errors arise because it is impossible to represent all real numbers exactly on a machine with finite memory (which is what all practical digital computers are).

1.4.2       Truncation and discretization error

Truncation errors are committed when an iterative method is terminated or a mathematical procedure is approximated, and the approximate solution differs from the exact solution. Similarly, discretization induces a discretization error because the solution of the discrete problem does not coincide with the solution of the continuous problem. For instance, in the iteration in the sidebar to compute the solution of 3x3 + 4 = 28, after 10 or so iterations, we conclude that the root is roughly 1.99 (for example). We therefore have a truncation error of 0.01.

Once an error is generated, it will generally propagate through the calculation. For instance, we have already noted that the operation + on a calculator (or a computer) is inexact. It follows that a calculation of the type a+b+c+d+e is even more inexact.

What does it mean when we say that the truncation error is created when we approximate a mathematical procedure. We know that to integrate a function exactly requires one to find the sum of infinite trapezoids. But numerically one can find the sum of only finite trapezoids, and hence the approximation of the mathematical procedure. Similarly, to differentiate a function, the differential element approaches to zero but numerically we can only choose a finite value of the differential element.

1.4.3       Numerical stability and well-posed problems

Numerical stability is an important notion in numerical analysis. An algorithm is called numerically stable if an error, whatever its cause, does not grow to be much larger during the calculation. This happens if the problem is well-conditioned, meaning that the solution changes by only a small amount if the problem data are changed by a small amount. To the contrary, if a problem is ill-conditioned, then any small error in the data will grow to be a large error.

Both the original problem and the algorithm used to solve that problem can be well-conditioned and/or ill-conditioned, and any combination is possible.

So an algorithm that solves a well-conditioned problem may be either numerically stable or numerically unstable. An art of numerical analysis is to find a stable algorithm for solving a well-posed mathematical problem. For instance, computing the square root of 2 (which is roughly 1.41421) is a well-posed problem. Many algorithms solve this problem by starting with an initial approximation x1 to √2, for instance x1=1.4, and then computing improved guesses x2, x3, etc… One such method is the famous Babylonian method, which is given by xk+1 = xk/2 + 1/xk. Another iteration, which we will call Method X, is given by xk + 1 = (xk2−2)2 + xk.  Few iterations of each scheme are calculated in table form below, with initial guesses x1 = 1.4 and x1 = 1.42.

Table 1

Babylonian Babylonian Method X Method X
x1 = 1.4 x1 = 1.42 x1 = 1.4 x1 = 1.42
x2 = 1.4142857… x2 = 1.41422535… x2 = 1.4016 x2 = 1.42026896
x3 = 1.414213564… x3 = 1.41421356242… x3 = 1.4028614… x3 = 1.42056…
x1000000 = 1.41421… x28 = 7280.2284…

Observe that the Babylonian method converges fast regardless of the initial guess, whereas Method X converges extremely slowly with initial guess 1.4 and diverges for initial guess 1.42. Hence, the Babylonian method is numerically stable, while Method X is numerically unstable.

1.5       Areas of study

The field of numerical analysis is divided into different disciplines according to the problem that is to be solved.

1.5.1       Computing Values of Functions

One of the simplest problems is the evaluation of a function at a given point. The most straightforward approach, of just plugging in the number in the formula is sometimes not very efficient. For polynomials, a better approach is using the Horner scheme, since it reduces the necessary number of multiplications and additions. Generally, it is important to estimate and control round-off errors arising from the use of floating point arithmetic.

1.5.2       Interpolation, extrapolation, and regression

Interpolation solves the following problem: given the value of some unknown function at a number of points, what value does that function have at some other point between the given points?

Extrapolation is very similar to interpolation, except that now we want to find the value of the unknown function at a point which is outside the given points.

Regression is also similar, but it takes into account that the data is imprecise. Given some points, and a measurement of the value of some function at these points (with an error), we want to determine the unknown function. The least squares-method is one popular way to achieve this.

1.5.3       Solving equations and systems of equations

Another fundamental problem is computing the solution of some given equation. Two cases are commonly distinguished, depending on whether the equation is linear or not. For instance, the equation 2x + 5 = 3 is linear while 2x2 + 5 = 3 is not.

Much effort has been put in the development of methods for solving systems of linear equations. Standard direct methods, i.e., methods that use some matrix decomposition are Gaussian elimination, LU decomposition, Cholesky decomposition for symmetric (or hermitian) and positive-definite matrix, and QR decomposition for non-square matrices. Iterative methods such as the Jacobi method, Gauss–Seidel method, successive over-relaxation and conjugate gradient method are usually preferred for large systems.

Root-finding algorithms are used to solve nonlinear equations (they are so named since a root of a function is an argument for which the function yields zero). If the function is differentiable and the derivative is known, then Newton’s method is a popular choice. Linearization is another technique for solving nonlinear equations.

1.5.4       Solving eigenvalue or singular value problems

Several important problems can be phrased in terms of eigenvalue decompositions or singular value decompositions. For instance, the spectral image compression algorithm is based on the singular value decomposition. The corresponding tool in statistics is called principal component analysis.

Optimization problems ask for the point at which a given function is maximized (or minimized). Often, the point also has to satisfy some constraints.

The field of optimization is further split in several subfields, depending on the form of the objective function and the constraint. For instance, linear programming deals with the case that both the objective function and the constraints are linear. A famous method in linear programming is the simplex method.

The method of Lagrange multipliers can be used to reduce optimization problems with constraints to unconstrained optimization problems.

1.5.5       Evaluating integrals

Numerical integration, in some instances also known as numerical quadrature, asks for the value of a definite integral. Popular methods use one of the Newton–Cotes formulas (like the midpoint rule or Simpson’s rule) or Gaussian quadrature. These methods rely on a “divide and conquer” strategy, whereby an integral on a relatively large set is broken down into integrals on smaller sets. In higher dimensions, where these methods become prohibitively expensive in terms of computational effort, one may use Monte Carlo or quasi-Monte Carlo methods (see Monte Carlo integration), or, in modestly large dimensions, the method of sparse grids.

1.5.6       Differential equations

Numerical analysis is also concerned with computing (in an approximate way) the solution of differential equations, both ordinary differential equations and partial differential equations.

Partial differential equations are solved by first discretizing the equation, bringing it into a finite-dimensional subspace. This can be done by a finite element method, a finite difference method, or (particularly in engineering) a finite volume method. The theoretical justification of these methods often involves theorems from functional analysis. This reduces the problem to the solution of an algebraic equation.

2         Numerical differentiation for equidistant x by Newton’s and Stirling’s interpolation formulae

2.1       Theory

Let there are n+1 number of data points (x0 , y0) , (x1 , y1) ….(xn , yn) are given. To find values of   and   at various given points of the table, the methods are given below are followed.

2.2       Points at the beginning of the table

To find out   and for the given points of x at the beginning of the table Numerical Forward Differentiation formulae are used by using Newton’s Forward Difference Table.

2.2.1       Numerical Differentiation Formulae using Newton’s Forward Difference Table

……(1)

] ………………………………(2)

Where h=difference between two successive values of x.

The values of   can be found from the following forward difference table.

Table 2: Forward Difference Table (n=degree of plynomial=6)

X Y
x0 y0
   
x1 y1
x2 y2
x3 y3
x4 y4
x5 y5
x6 y6

Where,

and so on.

2.2.2       Example

From the following table of values of x and y, obtain dy/dx and d2y/dx2 for x=1.2:

Table 3

X 1.0 1.2 1.4 1.6 1.8 2.0 2.2
y 2.7183 3.3201 4.9530 6.0496 6.0496 7.3891 9.0250

Figure 2

The difference table is:

Table 4: Forward Difference Table

X Y
1.0 2.7183
   

0.6018

1.2 3.3201

0.1333

0.7351

0.0294

1.4 4.0552

0.1627

0.0067

0.8978

0.0361

0.0013

1.6 4.9530

0.1988

0.008

0.0001

1.0966

0.0441

0.0014

1.8 6.0496

0.2429

0.0094

1.3395

0.0535

2.0 7.3891

0.2964

1.6359

2.2 9.0250

Here, x0 = 1.2, y0 = 3.3201 and h=0.2 . Hence equation (1) gives

=3.3205.

Now using equation (2) we get:

2.3       Points at the end of table

For point x at the end of the table Newton’s Backward Difference Table will be used.

2.3.1       Numerical Differentiation Formulae using Newton’s Backward Difference Table

……………(3)

………………………………………………(4)

Where h=difference between two successive values of x.

Values of  ∇y0 , ∇2y0 , ∇3y0 …………..∇nyn  can be found from the following backward difference table

Table 5: Backward Difference Table (n=degree of plynomial=5)

X Y
x0 y0
   
x1 y1
x2 y2
x3 y3
x4 y4
x5 y5

Where,

and so on.

2.3.2       Example

From the following table of values of x and y, obtain dy/dx and d2y/dx2 at the point  x=2.2:

Table 6

X 1.0 1.2 1.4 1.6 1.8 2.0 2.2
y 2.7183 3.3201 4.9530 6.0496 6.0496 7.3891 9.0250

We use the table of differences of table 5. Here xn=2.2, yn=9.0250 and h=0.2.

Table 7: Backward Difference Table

X Y
1 2.7183
    0.6018
1.2 3.3201 0.1333
0.7351 0.0294
1.4 4.0552 0.1627 0.0067
0.8978 0.0361 0.0013
1.6 4.953 0.1988 0.008 0.0001
1.0966 0.0441 0.0014
1.8 6.0496 0.2429 0.0094
1.3395 0.0535
2 7.3891 0.2964
1.6359
2.2 9.025

Now using equation 3, we get

= 9.0228

Using equation (4), gives

2.4       Points at the middle of table

For points at the middle of the table, use Stirling Formulae.

2.4.1       Numerical Differentiation Formulae using Stirling Formulae(applicable only when length of data point is odd):

Here we shall use table 2. Now

………………………………………….(5)

……………………………………………………..(6)

2.5       Errors in Numerical Differentiation

Numerical computation of derivatives involves two types of errors, viz. truncation errors and rounding errors. These are discussed below.

2.5.1       Truncation error

The truncation error is caused by replacing the tabulated function by means of an interpolating polynomial. This error can usually be estimated by following formula:

This formula is of theoretical interest only, since, in practical computations, we usually do not have any information about the derivative y(n+1)(ξ). However, the truncation error in any numerical differentiation formula can easily be estimated in the following manner. Suppose that he tabulated function is such that its differences of a certain order are small and that the tabulated function is well approximated by the polynomial. From table 8, it is clear that 2ε is the total absolute error in the values of ∆yi , 4ε in the values of ∆2yi , etc.., where ε is the absolute error in the values of yi. For example Stirling’s formula

Can be written in the form

………………………………(7)

Where T1 is the truncation error, is given by

…………………………………………………………….(8)

Similarly,

Can be written as

………………………………………………………(9)

…………………………………………………………………….(10)

Table 8: Detection of Errors using Difference Table

Y

0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

0

1

-5

0

1

-4

1

-3

10

1

-2

6

-1

3

-10

0

1

-4

0

-1

5

0

0

1

0

0

-1

0

0

0

0

0

0

0

0

0

2.5.2       Rounding error

The rounding error on the other hand, is inversely proportional to h in the case of first derivatives, inversely proportional to h2 in the case of second derivatives, and so on. Thus rounding error increases as h decreases. Considering, again Stirling’s formula in the form of equation (7), the rounding error does not exceed 2ε/2h=ε/h, where ε is the maximum error in the value of yi. On the other hand, the formula

Has the maximum rounding error

Finally, the formula

Has the maximum rounding error 4ε/h2. It is clear that in the case of higher derivatives, the rounding error increases rather rapidly.

3         Solution of the given problem

The given problem is as follows:

3.1       Problem

Find f’(2), f”(2), f(6), f”(6), f(7), f”(7) using Numerical Differentiation Formulae when, 2≤ ζ ≤7

3.2       Solution

Now the forward difference table will be:

Table 9

X

Y

2.0000

-1.0000

16.2963

3.6667

15.2963

44.4444

60.7407

27.7778

5.3333

76.0370

72.2222

132.9630

7.0000

209.0000

Here h=1.6667

3.2.1       When X=2

Since x=2 is at the beginning of the table we shall use the formulae for forward difference table, hence using equation (1) we obtain,

Now using equation (2)

3.2.1.1       Hand calculation

,

,

3.2.2       When X=7

x=7 it is at the end of the table. So we have to use backward difference table. Here is it,

Table 10

X

Y

2.0000

-1.0000

16.2963

3.6667

15.2963

44.4444

60.7407

27.7778

5.3333

76.0370

72.2222

132.9630

7.0000

209.0000

Here h=1.6667, Now using equation (3)

Again using equation (4), we obtain

3.2.2.1       Hand calculation

,

,

 

3.2.3       When X=6

The difference table is

X

Y

2.0000

-1.0000

10.3704

3.3333

9.3704

24.8889

35.2593

14.2222

4.6667

44.6296

39.1111

74.3704

6.0000

119.0000

Here, h=1.3333

3.2.3.1       Hand calculation

,

,

3.3       Solution using MATLAB

The problem can be solved by using MATLAB. The code is given at annex.

Bibliography

  1. Introductory Methods of Numerical Analysis, S.S Sastry
  2. http://en.wikipedia.org/wiki/Numerical_analysis
  3. http://www.math.niu.edu/~rusin/known-math/index/65-XX.html

 

MATLAB m file:

clear all

clc

x=linspace(2,7,4)

P=[1 -3 2 -1];

y=POLYVAL(P,x)

d1y = diff(y);

d2y = diff(d1y);

d3y = diff(d2y);

h=x(2)-x(1);

%x=2

i=1;

if i>(length(x)+1)/2

f1=(1/h)*(d1y(i-1)+1/2*d2y(i-2)+1/3*d3y(i-3))

f2=(1/(h^2))*(d2y(i-2)+d3y(i-3))

end

if i<(length(x)+1)/2

f1=(1/h)*(d1y(i)-1/2*d2y(i)+1/3*d3y(i));

f2=(1/(h^2))*(d2y(i)-d3y(i));

end

fprintf(‘f1(2)=%g, f2(2)=%g\n\n’, f1,f2)

%x=7

i=4;

if i>(length(x)+1)/2

f1=(1/h)*(d1y(i-1)+1/2*d2y(i-2)+1/3*d3y(i-3));

f2=(1/(h^2))*(d2y(i-2)+d3y(i-3));

end

if i<(length(x)+1)/2

f1=(1/h)*(d1y(i)-1/2*d2y(i)+1/3*d3y(i));

f2=(1/(h^2))*(d2y(i)-d3y(i));

end

fprintf(‘f1(7)=%g, f2(7)=%g\n\n’, f1,f2)

x=linspace(2,6,4)

P=[1 -3 2 -1];

y=POLYVAL(P,x)

d1y = diff(y);

d2y = diff(d1y);

d3y = diff(d2y);

h=x(2)-x(1);

%x=6

i=4;

if i>(length(x)+1)/2

f1=(1/h)*(d1y(i-1)+1/2*d2y(i-2)+1/3*d3y(i-3));

f2=(1/(h^2))*(d2y(i-2)+d3y(i-3));

end

if i<(length(x)+1)/2

f1=(1/h)*(d1y(i)-1/2*d2y(i)+1/3*d3y(i));

f2=(1/(h^2))*(d2y(i)-d3y(i));

end

fprintf(‘f1(6)=%g, f2(6)=%g\n\n’, f1,f2)

Command window:

f1(2)=2, f2(2)=6

f1(7)=107, f2(7)=36

f1(6)=74, f2(6)=30

 Article is written by…..  Nur Mohammad Sarwar Bari

Advertisements