Lectures: Disque 919, TuTh 9:30-10:50 am Office: Disque 815 Phone: (215) 895-2709 e-mail: steve (at) physics.drexel.edu

- Course overview

The goal of this course is the integration of classical analytical methods with modern computational techniques. Emphasis will be placed on application of the methods studied to problems drawn from physics and elsewhere. - Course syllabus
- Detailed course outline (2017 lecture schedule)
- Numerical Recipes in C, online version
- Numerical Recipes (Fortran 77/90), online version
- Another handy reference: Abramowitz and Stegun, Handbook of Mathematical Functions, online version
- Reference: some numerical examples
- Here is a template program
solving a simple matrix equation using the Numerical
Recipes Gauss-Jordan routine. You can compile it directly
using the files nrutil.h, nrutil.c, and gaussj.c in the working
directory. Compile with
gcc -o gaussj gaussj_main.c nrutil.c -lm

and experiment! Here's an even simpler, bare-bones version. - If you prefer to use the routines directly from the
Numerical Recipes libraries and not to save your own
copies, you should be able to build the simple program
just mentioned by using the command:
cc -L/usr/local/recipes gaussj_main.c -lnr -lm -o gaussj_main

Alternatively, just install the above Makefile in your working directory and typemake gaussj_main

- The Numerical Recipes C source, should you need to
look at or modify it, can be found in
`/usr/local/recipes`. - Some other C matrix handling programs...
- ...and some simple Python examples to do the same
- Some integration schemes for ODEs
- Solving boundary-value problems
- ...Some Python scripts to solve IV and BV problems.

Here is a simple Makefile to assist in building standalone programs using Numerical Recipes routines. The header files in

`/usr/local/include`should be found automatically, and the library`libnr.a`(found in`/usr/local/recipes`) is appropriate for C programs written using`double`data, as discussed in class. - Here is a template program
solving a simple matrix equation using the Numerical
Recipes Gauss-Jordan routine. You can compile it directly
using the files nrutil.h, nrutil.c, and gaussj.c in the working
directory. Compile with
- Homeworks
- Homework #1 (solutions)
- Homework #2 (here is data file hw2.2.dat) (numerical solutions may be found here; here are additional notes on problems 1 and 3)
- Homework #3 (solutions)
- Homework #4 (solutions)
- Homework #5 (solutions)
- Homework #6
(Here are the data
files pendulum2.dat
and corrupt.dat.)

[Analytic solutions to Problema 6.1 and 6.2a,

numerical solution to Problems 6.2b,c,

numerical solution to Problem 6.3,

numerical solution to Problem 6.4]