How to Access the Numerical Recipes Libraries


The numerical subroutines from the book Numerical Recipes by William Press, et al. are installed on Athena. There are approximately 200 routines, which cover a large range of subjects. The source code for the routines are available, and the book documents and explains the mathematics behind the routines.

Both C and Fortran versions are available in the recipes locker. The source code is in the directory /mit/recipes/src.

To use the libraries from your C program, you'd type:

attach recipes
cc filename /mit/recipes/`machtype`lib/librecipes_c.a
To use the libraries from your Fortran program, you'd type:
attach recipes
f77 filename /mit/recipes/`machtype`lib/librecipes_f.a
The layout of the recipes locker is as follows:

The src directory has 2 subdirectories, one for C one for fortran:

  src/recipes_c-ansi       -----   The Ansi-C version
  src/recipes_c-kr	   -----   The K&R C version
  src/recipes_f            -----   The fortran version
Each of these subdirectories contain the source for Numerical Recipes and the source for the demo/example programs. The NR sources are in src/recipes_{c,f}/recipes and the demo/example sources are in src/recipes_{c,f}/demo/src.

Due to conflict with libm.a, there were 2 changes made in the Numerical Recipes C sources:

  1. erf has been renamed erf_nr
  2. erfc has been renamed erfc_nr
WARNING: Due to differences in the system supplied function rand(), the Numerical Recipes in C function ran0 does not work correctly on the IBM Risc 6000 workstations.