Index of Code Files by Book Section

Note: Book section links are active for subscribers to Numerical Recipes Electronic, or as manual references to the hardcopy book. Webnote links are active for anyone. You must be connected to the Internet for these links to work. Links to files (ending in .h) are local to Numerical Recipes Code and do not require an Internet connection.

1.0 Introduction
    calendar.h calendar routines

1.4 Vector and Matrix Objects
    nr3.h defines Numerical Recipes classes used by all routines

2.1 Gauss-Jordan Elimination
    gaussj.h Gauss-Jordan decomposition

2.3 LU Decomposition and Its Applications
    ludcmp.h LU decomposition and related

2.4 Tridiagonal and Band-Diagonal Systems of Equations
    tridag.h solve tridiagonal linear systems
    banded.h routines for banded matrices

2.5 Iterative Improvement of a Solution to Linear Equations
    ludcmp.h LU decomposition and related

2.6 Singular Value Decomposition
    svd.h singular value decomposition

2.7 Sparse Linear Systems
    tridag.h solve tridiagonal linear systems
    sparse.h sparse matrix routines
    linbcg.h solution of sparse linear system by biconjugate gradient method
    asolve.h biconjugate gradient sparse linear solver (example)

2.8 Vandermonde Matrices and Toeplitz Matrices
    vander.h solve Vandermonde linear systems
    toeplz.h solve Toepltz linear systems

2.9 Cholesky Decomposition
    cholesky.h Cholesky decomposition

2.10 QR Decomposition
    qrdcmp.h QR decomposition and related

3.1 Preliminaries: Searching an Ordered Table
    interp_1d.h interpolation routines for one dimension
    interp_linear.h linear interpolation

3.2 Polynomial Interpolation and Extrapolation
    interp_1d.h interpolation routines for one dimension

3.3 Cubic Spline Interpolation
    interp_1d.h interpolation routines for one dimension

3.4 Rational Function Interpolation and Extrapolation
    interp_1d.h interpolation routines for one dimension

3.5 Coefficients of the Interpolating Polynomial
    polcoef.h polynomial coefficients from polynomial values

3.6 Interpolation on a Grid in Multidimensions
    interp_2d.h interpolation routines for two dimensions

3.7 Interpolation on Scattered Data in Multidimensions
    interp_rbf.h interpolation by radial basis functions
    krig.h fitting or interpolation by kriging
    interp_curve.h interpolate along a curve

3.8 Laplace Interpolation
    interp_laplace.h Laplace interpolation on a grid

4.2 Elementary Algorithms
    quadrature.h quadrature routines

4.3 Romberg Integration
    romberg.h Romberg quadrature

4.4 Improper Integrals
    quadrature.h quadrature routines
    romberg.h Romberg quadrature

4.5 Quadrature by Variable Transformation
    derule.h DE rule for quadrature

4.6 Gaussian Quadratures and Orthogonal Polynomials
    qgaus.h 10-point Gaussian quadrature
    gauss_wgts.h weights for Gaussian and related quadratures
    gauss_wgts2.h Radau and Lobatto quadrature

4.8 Multidimensional Integrals
    quad3d.h three-dimensional quadrature

5.1 Polynomials and Rational Functions
    poly.h operations on polynomials

5.3 Series and Their Convergence
    series.h routines for summing a series
    levex.h sample program for Levin transformation

5.7 Numerical Derivatives
    dfridr.h numerical derivative by Ridders' method

5.8 Chebyshev Approximation
    chebyshev.h Chebyshev approximation and related

5.9 Derivatives or Integrals of a Chebyshev-Approximated Function
    chebyshev.h Chebyshev approximation and related

5.10 Polynomial Approximation from Chebyshev Coefficients
    chebyshev.h Chebyshev approximation and related
    pcshft.h shift a polynomial

5.11 Economization of Power Series
    pcshft.h shift a polynomial
    chebyshev.h Chebyshev approximation and related

5.12 Pade Approximants
    pade.h Pade approximants

5.13 Rational Chebyshev Approximation
    ratlsq.h rational function fitting

6.1 Gamma, Beta, and Related Functions
    gamma.h gamma function and related

6.2 Incomplete Gamma Function
    incgammabeta.h incomplete gamma and beta functions
    erf.h error function and related distributions

6.3 Exponential Integrals
    expint.h exponential integral

6.4 Incomplete Beta Function
    incgammabeta.h incomplete gamma and beta functions

6.5 Bessel Functions of Integer Order
    bessel.h Bessel functions of integer order

6.6 Bessel Functions of Fractional Order
    besselfrac.h Bessel functions of fractional order

6.7 Spherical Harmonics
    plegendre.h Legendre functions and spherical harmonics

6.8 Fresnel Integrals, Cosine and Sine Integrals
    frenel.h Fresnel integrals
    cisi.h cosine and sine integrals

6.9 Dawson's Integral
    dawson.h Dawson's integral

6.10 Generalized Fermi-Dirac Integrals
    fermi.h Fermi-Dirac integrals

6.11 Inverse of the Function x log(x)
    ksdist.h Kolmogorov-Smirnov distribution functions

6.12 Elliptic Integrals and Jacobian Elliptic Functions
    elliptint.h elliptic integrals

6.13 Hypergeometric Functions
    hypgeo.h hypergeometric function

6.14 Statistical Functions
    erf.h error function and related distributions
    distributions.h probability distributions and related
    incgammabeta.h incomplete gamma and beta functions
    ksdist.h Kolmogorov-Smirnov distribution functions

7.1 Uniform Deviates
    ran.h random number generators

7.2 Completely Hashing a Large Array
    hashall.h hash a large array

7.3 Deviates from Other Distributions
    deviates.h random deviates from various distributions

7.4 Multivariate Normal Deviates
    multinormaldev.h multivariate normal deviates

7.5 Linear Feedback Shift Registers
    primpolytest.h test whether a polynomial is primitive

7.6 Hash Tables and Hash Memories
    hash.h routines for hash tables and hash memory

7.7 Simple Monte Carlo Integration
    mcintegrate.h Monte Carlo integration

7.8 Quasi- (that is, Sub-) Random Sequences
    sobseq.h Sobol quasi-random sequence

8.1 Straight Insertion and Shell's Method
    sort.h sorting and related routines

8.2 Quicksort
    sort.h sorting and related routines

8.3 Heapsort
    sort.h sorting and related routines

8.4 Indexing and Ranking
    sort.h sorting and related routines

8.5 Selecting the Mth Largest
    sort.h sorting and related routines
    iqagent.h estimate distribution function from a sample

8.6 Determination of Equivalence Classes
    eclass.h find equivalence classes

9.0 Introduction
    scrsho.h plot a function interactively

9.1 Bracketing and Bisection
    roots.h routines for root finding in one dimension

9.2 Secant Method, False Position Method, and Ridders' Method
    roots.h routines for root finding in one dimension

9.3 Van Wijngaarden-Dekker-Brent Method
    roots.h routines for root finding in one dimension

9.4 Newton-Raphson Method Using Derivative
    roots.h routines for root finding in one dimension

9.5 Roots of Polynomials
    roots_poly.h roots of a polynomial
    zrhqr.h polynomial roots by eigenvalue method
    qroot.h Bairstow's method for complex root

9.6 Newton-Raphson Method for Nonlinear Systems of Equations
    mnewt.h multidimensional Newton root finding

9.7 Globally Convergent Methods for Nonlinear Systems of Equations
    roots_multidim.h routines for root finding in multidimensions

10.1 Initially Bracketing a Minimum
    mins.h minimization routines

10.2 Golden Section Search in One Dimension
    mins.h minimization routines

10.3 Parabolic Interpolation and Brent's Method
    mins.h minimization routines

10.4 One-Dimensional Search with First Derivatives
    mins.h minimization routines

10.5 Downhill Simplex Method in Multidimensions
    amoeba.h downhill simplex minimization

10.6 Line Methods in Multidimensions
    mins_ndim.h minimization routines in multidimensions

10.7 Direction Set (Powell's) Methods in Multidimensions
    mins_ndim.h minimization routines in multidimensions

10.8 Conjugate Gradient Methods in Multidimensions
    mins_ndim.h minimization routines in multidimensions

10.9 Quasi-Newton or Variable Metric Methods in Multidimensions
    quasinewton.h quasi-Newton or DFP multidimensional minimization

10.11 Linear Programming: Interior-Point Methods
    interior.h linear programming by interior point method

10.13 Dynamic Programming
    dynpro.h dynamic programming
    stringalign.h Needleman-Wunsch string alignment

11.1 Jacobi Transformations of a Symmetric Matrix
    eigen_sym.h routines for eigenproblems on symmetric matrices

11.2 Real Symmetric Matrices
    eigen_sym.h routines for eigenproblems on symmetric matrices

11.3 Reduction of a Symmetric Matrix to Tridiagonal Form
    eigen_sym.h routines for eigenproblems on symmetric matrices

11.4 Eigenvalues and Eigenvectors of a Tridiagonal Matrix
    eigen_sym.h routines for eigenproblems on symmetric matrices

11.6 Real Nonsymmetric Matrices
    eigen_unsym.h routines for eigenproblems on nonsymmetric matrices

12.2 Fast Fourier Transform (FFT)
    fourier.h FFT routines in one dimension

12.3 FFT of Real Functions
    fourier.h FFT routines in one dimension

12.4 Fast Sine and Cosine Transforms
    fourier.h FFT routines in one dimension

12.5 FFT in Two or More Dimensions
    fourier_ndim.h FFT routines in multidimensions

12.6 Fourier Transforms of Real Data in Two and Three Dimensions
    fourier_ndim.h FFT routines in multidimensions
    rlft3_sharpen.h example using FFT to sharpen an image

13.1 Convolution and Deconvolution Using the FFT
    convlv.h data convolution

13.2 Correlation and Autocorrelation Using the FFT
    correl.h data correlation

13.4 Power Spectrum Estimation Using the FFT
    spectrum.h spectral estimation using FFTs

13.6 Linear Prediction and Linear Predictive Coding
    linpredict.h linear prediction

13.7 Maximum Entropy (All-Poles) Method
    linpredict.h linear prediction

13.8 Spectral Analysis of Unevenly Sampled Data
    period.h Lomb periodogram for spectral analysis
    fasper.h fast evaluation of Lomb periodogram

13.9 Computing Fourier Integrals Using the FFT
    dftintegrate.h Fourier integrals using FFT

13.10 Wavelet Transforms
    wavelet.h wavelet routines

14.1 Moments of a Distribution: Mean, Variance, Skewness
    moment.h calculate moments of samples

14.2 Do Two Distributions Have the Same Means or Variances?
    stattests.h various statistical tests
    moment.h calculate moments of samples

14.3 Are Two Distributions Different?
    stattests.h various statistical tests
    kstests.h Kolmogorov-Smirnov tests in one dimension

14.4 Contingency Table Analysis of Two Distributions
    stattests.h various statistical tests

14.5 Linear Correlation
    stattests.h various statistical tests

14.6 Nonparametric or Rank Correlation
    stattests.h various statistical tests

14.8 Do Two-Dimensional Distributions Differ?
    kstests_2d.h Kolmogorov-Smirnov tests in two dimensions
    quadvl.h used in two-dimensional K-S test

14.9 Savitzky-Golay Smoothing Filters
    savgol.h Savitzky-Golay filters

15.2 Fitting Data to a Straight Line
    fitab.h fit a straight line

15.4 General Linear Least Squares
    fitlin.h general linear fit
    fitsvd.h general linear fit using SVD
    fit_examples.h examples for fitting

15.5 Nonlinear Models
    fitmrq.h Levenberg-Marquardt nonlinear fitting
    fit_examples.h examples for fitting

15.7 Robust Estimation
    fitmed.h fit a line minimizing absolute deviation

15.8 Markov Chain Monte Carlo
    mcmc.h Markov chain Monte Carlo routines

16.1 Gaussian Mixture Models and k-Means Clustering
    gaumixmod.h Gaussian mixture models
    kmeans.h k-means classification

16.3 Markov Models and Hidden Markov Modeling
    markovgen.h Markov model generator
    hmm.h hidden Markov models

16.4 Hierarchical Clustering by Phylogenetic Trees
    phylo.h phylogenetic tree algorithms

16.5 Support Vector Machines
    svm.h support vector machines

17.0 Introduction
    odeint.h ordinary differential equations
    stepper.h base class for ODE steppers

17.1 Runge-Kutta Method
    rk4.h Runge-Kutta integration (pedagogical example)

17.2 Adaptive Stepsize Control for Runge-Kutta
    stepperdopr5.h Dormand-Prince fifth-order stepper

17.3 Richardson Extrapolation and the Bulirsch-Stoer Method
    stepperbs.h Bulirsch-Stoer stepper base class

17.4 Second-Order Conservative Equations
    stepperstoerm.h Bulirsch-Stoer stepper, second-order equations

17.5 Stiff Sets of Equations
    stepperross.h fourth-order stiffly stable Rosenbrock stepper

17.7 Stochastic Simulation of Chemical Reaction Networks
    stochsim.h stochastic simulation of ODEs

18.1 The Shooting Method
    shoot.h two point boundary problem by shooting

18.2 Shooting to a Fitting Point
    shootf.h two point boundary problem by shooting to a fitting point

18.4 A Worked Example: Spheroidal Harmonics
    sfroid.h spheroidal harmonics example using relaxation method
    difeq.h example solving two point boundary problem by relaxation
    sphoot.h spheroidal harmonics example using shooting
    sphfpt.h spheroidal harmonics example using shooting to a fitting point

19.1 Fredholm Equations of the Second Kind
    fred2.h linear Fredholm equations of the second kind

19.2 Volterra Equations
    voltra.h Volterra integral equations

19.3 Integral Equations with Singular Kernels
    fred_singular.h singular Fredholm equations

20.5 Relaxation Methods for Boundary Value Problems
    sor.h successive over-relaxation

20.6 Multigrid Methods for Boundary Value Problems
    mglin.h full multigrid method (FMG) for linear equation
    mgfas.h multigrid method full approximation storage

20.7 Spectral Methods
    weights.h differentiation matrix for spectral methods

21.1 Points and Boxes
    pointbox.h geometric point and box
    kdtree.h KD-tree routines

21.2 KD Trees and Nearest-Neighbor Finding
    kdtree.h KD-tree routines

21.3 Triangles in Two and Three Dimensions
    circumcircle.h circumcircle of three points

21.4 Lines, Line Segments, and Polygons
    polygon.h geometric polygon

21.6 Triangulation and Delaunay Triangulation
    delaunay.h Delaunay triangulation

21.7 Applications of Delaunay Triangulation
    delaunay.h Delaunay triangulation
    voronoi.h construct Voronoi diagram

21.8 Quadtrees and Octrees: Storing Geometrical Objects
    sphcirc.h geometrical circle or sphere
    qotree.h QO-tree routines

22.1 Plotting Simple Graphs
    psplotexample.h generate a PostScript plot (example)

22.3 Gray Codes
    igray.h Gray code

22.4 Cyclic Redundancy and Other Checksums
    icrc.h cyclic redundancy checksum
    decchk.h decimal digit error check

22.5 Huffman Coding and Compression of Data
    huffcode.h Huffman compression

22.6 Arithmetic Coding
    arithcode.h compression by arithmetic coding

22.7 Arithmetic at Arbitrary Precision
    mparith.h multiprecision arithmetic

Webnote.3 Implementation of Stiel
    stiel.h Stieltjes procedure for quadrature weights

Webnote.4 Implementation of Adapt
    adapt.h adaptive quadrature

Webnote.9 Complete VEGAS Code
    vegas.h adaptive/recursive Monte Carlo
    rebin.h used by vegas.h

Webnote.10 Complete miser Code
    miser.h adaptive/recursive Monte Carlo integration
    ranpt.h used by miser.h

Webnote.11 Code Listing for selip
    selip.h select Mth largest in place

Webnote.12 Routine Implementing the Simplex Method
    simplex.h linear programming by simplex method

Webnote.14 Code Implementation for the Traveling Salesman Problem
    anneal.h simulated annealing

Webnote.15 Code for Minimization with Simulated Annealing
    amebsa.h downhill simplex minimization with simulated annealing

Webnote.18 Code for External or Memory-Local Fourier Transform
    fourfs.h FFT on external storage

Webnote.19 Code Listing fitexy
    fitexy.h fit a line with errors in both x and y

Webnote.20 Routine Implementing Eighth-order Runge-Kutta
    stepperdopr853.h Dormand-Prince eighth-order stepper

Webnote.24 StepperSie Implementation
    steppersie.h semi-implicit extrapolation stepper

Webnote.25 Solvde Implementation
    solvde.h relaxation solution of ODEs

Webnote.26 Code for PSpage and PSplot
    psplot.h generate a PostScript plot

Webnote.27 Code for machar
    machar.h probe machine characteristics