Slide 1

Slide 1 text

Introduction to numerical methods Ronojoy Adhikari The Institute of Mathematical Sciences Chennai

Slide 2

Slide 2 text

Introduction • The why and how of numerical work. • Building blocks of numerical analysis. • Numerical analysis and computer programming. • Numerical analysis on the computer for physical problems: computational physics. • Open resources : programs, environments, libraries, books, websites. • Experience with an introductory undergraduate course on numerical methods.

Slide 3

Slide 3 text

The why and how of numerical work The purpose of computing is insight, not numbers.

Slide 4

Slide 4 text

The why and how of numerical work Insight into what ? A problem that has been formulated mathematically. But then why not mathematics ?

Slide 5

Slide 5 text

a 0 cos x = [sin x]a 0 = sin a 2 ⇥ ⇤ a 0 exp x2 2 ⇥ = The why and how of numerical work The error function occurs in statistics but we cannot evaluate it analytically. Statistical tables give the value of the function at chosen points.

Slide 6

Slide 6 text

The why and how of numerical work • Any problem, be that in the natural sciences or in the social sciences, when looked at quantitatively, leads to a mathematical formulation. • The mathematical formulation may or may not have solutions in terms of known analytical function. Compare the two integrals before. • The central purpose of numerical work is to provide a numerical solution to the problem. • Numerical solution : a table of numbers, instead of an analytical function. • This is a recurrent them in all of numerical work, and specially in computational physics.

Slide 7

Slide 7 text

The why and how of numerical work We need to solve F = ma, but no analytical solution is possible.

Slide 8

Slide 8 text

The why and how of numerical work CFD NLD Computational Fluid Dynamics Nonlinear Dynamics Molecular Dynamics MD

Slide 9

Slide 9 text

Building blocks of numerical analysis What do we learn in a mathematical methods course ? Calculus Linear Algebra Orthogonal Functions Differential Equations Partial Differential Equations .....

Slide 10

Slide 10 text

Building blocks of numerical analysis What do we learn in a numerical methods course ? Calculus Linear Algebra Orthogonal Functions Differential Equations Partial Differential Equations .....

Slide 11

Slide 11 text

Mathematical formulation of physics problem Building blocks of numerical analysis One or more appropriate numerical methods + = Computational physics

Slide 12

Slide 12 text

Building blocks of numerical analysis CFD NLD Computational Fluid Dynamics Nonlinear Dynamics Molecular Dynamics MD Navier-Stokes Equation Dynamical Systems Newton’s Equations

Slide 13

Slide 13 text

Numerical analysis and computer programming What does numerical analyis have to do with computers ? Nothing really! If we could do elementary arithmetic operations fast enough, we would not need computers to do numerical analysis. vs

Slide 14

Slide 14 text

Numerical analysis and computer programming • Numerical analyis involves many repetitions of elementary mathematical operations : addition, subtraction, multiplication, division. • The computer merely comes in to relieve the boredom of doing these calculations over and over again. The faster the computer, the sooner the operations can be done. We measure a computer speed in FLOPS : floating point operations per second. • The local supercomputer, Kabru, has approximately 1 Terra FLOPS of computing power. Terra = 1, 000, 000, 000, 000. Recently, the Peta FLOPS barrier has been crossed : 1000 times faster than Kabru. • Number crunching, scientific computation, computational physics : doing numerical analysis on the computer for a scientific problem formulated mathematically.

Slide 15

Slide 15 text

Numerical analysis and computer programming What does numerical analysis have to do with C, C++ ..? Nothing really! Numerical analysis can be done in almost any computer language. Historically, Fortran was the language of choice. Modern codes are written in C, C++, Java, Python, Ruby ...

Slide 16

Slide 16 text

Open resources Wikipedia is an excellent starting point for topics.

Slide 17

Slide 17 text

Open resource : programs http://www.netlib.org/

Slide 18

Slide 18 text

http://www.gnu.org/ software/gsl/ Open resource : libraries http://www.nr.com/

Slide 19

Slide 19 text

Open resource : environments http://www.scilab.org/ http://www.gnu.org/software/octave/

Slide 20

Slide 20 text

Open resource : books and websites http://www.mathworks.com/moler/index_ncm.html

Slide 21

Slide 21 text

Undergraduate course in numerical methods Undergraduate course given to the students of the Chennai Mathematical Institute. Mix of physics, mathematics and computer science students, spread across different years. Standard topics were covered. Choice was given to code in C/C++ or Matlab/ Octave, but teaching was language agnostic. GSL was recommended to C/C++ users. Format was 1.5 hours of classroom lecture per week and 1.5 hours of lab. Students knew at least one computer language. Weekly assignments and a final project were used for evaluation. http://numericalmethods.wikidot.com/

Slide 22

Slide 22 text

Summary • Numerical analysis, scientific computation, computational physics ... a vast area. Also an exciting area with lots of applications. • Needs to be taught at an early level in colleges and universities, since it is increasingly become an indispensable tool in scientific research. • Syllabus can be designed along many lines. An emphasis on the fundamentals is very important. The course has to be designed keeping in mind available teaching expertise, hardware, and software. • GNU/Linux platforms are inherently more suited for numerical work. It is perfectly possible to run a full-fledged course using only open source material. • We are here to help : please do ask us if you have specific queries.

Slide 23

Slide 23 text

Thank you for your attention.