0% found this document useful (0 votes)
89 views

Notes - Numerical Methods: 1. Basic Concepts in Numerical Analysis

The document discusses numerical methods for solving differential equations, nonlinear equations, and fitting data to models. It focuses on three main numerical methods: 1) solving differential equations using techniques like the Euler method and 4th order Runge-Kutta, 2) solving nonlinear equations, and 3) fitting data to models. It also covers sources of error in numerical calculations like rounding errors and truncation errors.

Uploaded by

sumit_raised
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
89 views

Notes - Numerical Methods: 1. Basic Concepts in Numerical Analysis

The document discusses numerical methods for solving differential equations, nonlinear equations, and fitting data to models. It focuses on three main numerical methods: 1) solving differential equations using techniques like the Euler method and 4th order Runge-Kutta, 2) solving nonlinear equations, and 3) fitting data to models. It also covers sources of error in numerical calculations like rounding errors and truncation errors.

Uploaded by

sumit_raised
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Notes - Numerical Methods

Numerical methods for simulation and data analysis are widely used in both systems and synthetic
biology. In this part of the course you will investigate three different numerical methods:

1 . Solving Differential Equations

2. Solving nonlinear equations

3. Fitting data to models

Methods for solving stochastic models will be dealt with in a separate assignment.

1. Basic Concepts in Numerical Analysis

All numerical methods involve approximations due to either limits in the algorithm or physical limits in
the computer hardware. Errors associated with measurements or calculations can be characterized with
reference to accuracy and precision.

Accuracy refers to how closely a computed or measured value agree with the true value.

Precision refers to how close measured or computed values agree with each other after repeated
sampling.

Nether Precise NOR accurate: Precise, but NOT accurate: Accurate but NOT precise:

Precise AND accurate


Simple Error Definitions

There are a number of ways to describe errors in measurements and calculations. The simplest is the
absolute error, this is the difference between the measured or calculated value and the true value.

A shortcoming of the absolute error is that it doesnt take into account the order of magnitude of the
value under consideration. One way to account for the magnitude is to consider instead the relative
error.

Many numerical methods are interative, that is they involve repeating the same calculation many times.
In terms of error analysis, two types of error emerge, local and global errors. The local error is the error
introduced during one operation of the iterative process. The global error is the accumulative error over
many iterations. Note that the global error is not simply the sum of the local errors due to the nonlinear
nature of many problems although often it is assumed to be so because of the difficulties in measuring
the global error.

Sources of Errors in Numerical Calculations

There are at least two sources of errors in numerical calculations:

1. Rounding Errors
2. Truncation Errors

Rounding errors originate from the fact that computers can only represent numbers using a fixed and
limited number of significant figures. Thus, numbers such as or cannot be represented exactly in
computer memory. The discrepancy introduced by this limitation is call round-off error. Even simple
addition can result in round-off error. Often computers have the capacity to represent numbers in two
different precisions, called single and double precision.

In single precision, 23 bits out of a total of 32 bits are used to represent the significant digits in the
number. Of the remaining bits, 8 are used to store the exponent and one bit is used to store the sign.

Bit Organization in a Single Precision Number:

31 23 0
2
With 23 bits to represent the significant figures, a single precision number can represent data to about
seven decimal places. The 8 bit exponent allows scaling in the range 1038 and 1038. Taken together,
single precision numbers can range from 1.1754943511038 to 3.40282351038. In single precision,
can be represented as 3.141593.

Due to the limited number of significant digits in single precision, most modern computers use double
precision which uses 64 bits with 52 digits used to represent the significant figures. This allows , for
example, to be represented as 3.141592653589793, that is, 16 digits. The full range for number
representation using double precision is 2.225073858507202010308 to 1.797693134862315710308.

The use of double precision reduces the effects of rounding error and should be used whenever possible
in numerical calculations.

Truncation errors in numerical analysis arise when approximations are used to estimate some quantity.
Often a Taylor series is used to approximate a solution which is then truncated. The figure below shows
a function f(xi) being approximated by a Taylor series that has been truncated at different levels. The
more terms that are retained in the Taylor series the better the approximation and the smaller the
truncation error.

Taylor Series:
2. Solving Differential Equations Numerically

Consider the simple differential equation:

Such simple equations can be solved analytically, that is we can obtain an equation that describes how
the variable y evolves in time, t. However, in most cases this is not possible; instead we must resort to
solving the equation numerically.

The simplest method for computing a solution to a differential equation is called the Euler Method. To
use the Euler method we need two things, a starting point for the y variable, and a step size h by
which we increment time.

If is the value of y at time then the next value of y, , is given by:

The accuracy of the solution will depend on how small we make the step size, h. If you look at the figure
below you will see that the Euler method projects the slope forward and uses it to estimate the next
solution point. However, because the exact solution may be nonlinear, the projection will inevitably
yield some error, called the truncation error. In panel B), one can see that the smaller we make h, the
smaller the truncation error. However, a small h means it will take longer to traverse the solution and if
h is too small we can begin to run into round-off errors.

If we have more than one differential equation the pseudo code shown below can be used:
The Euler method, being the simplest, is also the worse method for solving a set of differential
equations. For simple problems the approach is quick to implement and will usually generate reasonable
solutions, even if the step size has to be made very small.

Due to instability problems, the Euler method is however not often used. Instead a variety of other
methods are employed. One of the commonest alternative approaches is the Runge-Kutta 4th order
method (RK4). The RK4 method takes a series of slopes from which it constructs a weighted average.

4th Order Runge-Kutta


The figure below compares the simulation results from three different methods,
Euler, Heun and RK4.

Stiff Problems

One class of problem, terms stiff problems, is characterized by widely separated time scales. For
example one part of a model might be dominated by very fast reactions, while another by slow
reactions. In such situations, a numerical integrator must ensure that the step size is small enough to
capture the fast dynamics. This results in extremely slow integration times and often failure to integrate
the solutions at all. As a result, numerical analysts have developed sophisticated methods to deal with
stiff problems. Computer libraries are available that are specifically designed to solve stiff problems, the
most common libraries include the LSODA series (ODEPACK) and CVODE. Most modern software tools
use one or both of these to solve systems of differential equations.

You might also like