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.
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.
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.
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
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.
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 ...
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/
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.