Numerical Recipes Routines
(Second Edition: C++, C or Fortran)
(Numbers in brackets indicate section numbers in the book.)
- addint
- interpolate and add, used by mglin [19.6]
- airy
- Airy functions [6.7]
- amebsa
- simulated annealing in continuous spaces [10.9]
- amoeba
- minimize in N-dimensions by downhill simplex method [10.4]
- amotry
- evaluate a trial point, used by amoeba [10.4]
- amotsa
- evaluate a trial point, used by amebsa [10.9]
- anneal
- traveling salesman problem by simulated annealing [10.9]
- anorm2
- utility used by mgfas [19.6]
- arcmak
- construct an arithmetic code [20.5]
- arcode
- encode or decode a character using arithmetic coding [20.5]
- arcsum
- add integer to byte string, used by arcode [20.5]
- asolve
- used by linbcg for preconditioner [2.7]
- atimes
- used by linbcg for sparse multiplication [2.7]
- avevar
- calculate mean and variance of a data set [14.2]
- badluk
- Friday the 13th when the moon is full [1.1]
- balanc
- balance a nonsymmetric matrix [11.5]
- banbks
- band diagonal systems, backsubstitution [2.4]
- bandec
- band diagonal systems, decomposition [2.4]
- banmul
- multiply vector by band diagonal matrix [2.4]
- bcucof
- construct two-dimensional bicubic [3.6]
- bcuint
- two-dimensional bicubic interpolation [3.6]
- beschb
- Chebyshev expansion used by bessjy [6.7]
- bessi0
- modified Bessel function I_0 [6.6]
- bessi1
- modified Bessel function I_1 [6.6]
- bessi
- modified Bessel function I of integer order [6.6]
- bessik
- modified Bessel functions of fractional order [6.7]
- bessj0
- Bessel function J_0 [6.5]
- bessj1
- Bessel function J_1 [6.5]
- bessj
- Bessel function J of general integer order [6.5]
- bessjy
- Bessel functions of fractional order [6.7]
- bessk0
- modified Bessel function K_0 [6.6]
- bessk1
- modified Bessel function K_1 [6.6]
- bessk
- modified Bessel function K of integer order [6.6]
- bessy0
- Bessel function Y_0 [6.5]
- bessy1
- Bessel function Y_1 [6.5]
- bessy
- Bessel function Y of general integer order [6.5]
- beta
- beta function [6.1]
- betacf
- continued fraction used by betai [6.4]
- betai
- incomplete beta function [6.4]
- bico
- binomial coefficients function [6.1]
- bksub
- backsubstitution, used by SOLVDE [17.3]
- bnldev
- binomial distributed random deviates [7.3]
- brent
- find minimum of a function by Brent's method [10.2]
- broydn
- secant method for systems of equations [9.7]
- bsstep
- integrate ODEs, Bulirsch-Stoer step [16.4]
- caldat
- calendar date from Julian day number [1.1]
- chder
- derivative of a function already Chebyshev fitted [5.9]
- chebev
- Chebyshev polynomial evaluation [5.8]
- chebft
- fit a Chebyshev polynomial to a function [5.8]
- chebpc
- polynomial coefficients from a Chebyshev fit [5.10]
- chint
- integrate a function already Chebyshev fitted [5.9]
- chixy
- used by fitexy to calculate a \chi^2 [15.3]
- choldc
- Cholesky decomposition [2.9]
- cholsl
- Cholesky backsubstitution [2.9]
- chsone
- chi-square test for difference between data and model [14.3]
- chstwo
- chi-square test for difference between two data sets [14.3]
- cisi
- cosine and sine integrals Ci and Si [6.9]
- cntab1
- contingency table analysis using chi-square [14.4]
- cntab2
- contingency table analysis using entropy measure [14.4]
- convlv
- convolution or deconvolution of data using FFT [13.1]
- copy
- utility used by mglin, mgfas [19.6]
- correl
- correlation or autocorrelation of data using FFT [13.2]
- cosft1
- fast cosine transform with endpoints [12.3]
- cosft2
- ``staggered'' fast cosine transform [12.3]
- covsrt
- rearrange covariance matrix, used by lfit [15.4]
- crank
- replaces array elements by their rank [14.6]
- cyclic
- solution of cyclic tridiagonal systems [2.7]
- daub4
- Daubechies 4-coefficient wavelet filter [13.10]
- dawson
- Dawson's integral [6.10]
- dbrent
- find minimum of a function using derivative information [10.3]
- ddpoly
- evaluate a polynomial and its derivatives [5.3]
- decchk
- decimal check digit calculation or verification [20.3]
- derivs
- sample derivatives routine for stiff [16.6]
- df1dim
- alternative function used by linmin [10.6]
- dfpmin
- minimize in N-dimensions by variable metric method [10.7]
- dfridr
- numerical derivative by Ridders' method [5.7]
- dftcor
- compute endpoint corrections for Fourier integrals [13.9]
- dftint
- high-accuracy Fourier integrals [13.9]
- difeq
- spheroidal matrix coefficients, used by SFROID [17.4]
- eclass
- determine equivalence classes from list [8.6]
- eclazz
- determine equivalence classes from procedure [8.6]
- ei
- exponential integral Ei [6.3]
- eigsrt
- eigenvectors, sorts into order by eigenvalue [11.1]
- elle
- Legendre elliptic integral of the second kind [6.11]
- ellf
- Legendre elliptic integral of the first kind [6.11]
- ellpi
- Legendre elliptic integral of the third kind [6.11]
- elmhes
- reduce a general matrix to Hessenberg form [11.5]
- erf
- error function [6.2]
- erfc
- complementary error function [6.2]
- erfcc
- complementary error function, concise routine [6.2]
- eulsum
- sum a series by Euler--van Wijngaarden algorithm [5.1]
- evlmem
- power spectral estimation from MEM coefficients [13.7]
- expdev
- exponential random deviates [7.2]
- expint
- exponential integral E_n [6.3]
- f1dim
- function used by linmin [10.5]
- factln
- logarithm of factorial function [6.1]
- factrl
- factorial function [6.1]
- fasper
- power spectrum of unevenly sampled larger data sets [13.8]
- fdjac
- finite-difference Jacobian, used by newt [9.7]
- fgauss
- fit a sum of Gaussians using mrqmin [15.5]
- fill0
- utility used by mglin [19.6]
- fit
- least-squares fit data to a straight line [15.2]
- fitexy
- fit data to a straight line, errors in both x and y [15.3]
- fixrts
- reflect roots of a polynomial into unit circle [13.6]
- fleg
- fit a Legendre polynomial using lfit or svdfit [15.4]
- flmoon
- calculate phases of the moon by date [1.0]
- fmin
- norm of a vector function, used by newt [9.7]
- four1
- fast Fourier transform (FFT) in one dimension [12.2]
- fourew
- rewind and permute files, used by fourfs [12.6]
- fourfs
- FFT for huge data sets on external media [12.6]
- fourn
- fast Fourier transform in multidimensions [12.4]
- fpoly
- fit a polynomial using lfit or svdfit [15.4]
- fred2
- solve linear Fredholm equations of the second kind [18.1]
- fredex
- example of solving a singular Fredholm equation [18.3]
- fredin
- interpolate solutions obtained with fred2 [18.1]
- frenel
- Fresnel integrals S(x) and C(x) [6.9]
- frprmn
- minimize in N-dimensions by conjugate gradient [10.6]
- ftest
- F-test for difference of variances [14.2]
- gamdev
- gamma-law distribution random deviates [7.3]
- gammln
- logarithm of gamma function [6.1]
- gammp
- incomplete gamma function [6.2]
- gammq
- complement of incomplete gamma function [6.2]
- gasdev
- normally distributed random deviates [7.2]
- gaucof
- quadrature weights from orthogonal polynomials [4.5]
- gauher
- Gauss-Hermite weights and abscissas [4.5]
- gaujac
- Gauss-Jacobi weights and abscissas [4.5]
- gaulag
- Gauss-Laguerre weights and abscissas [4.5]
- gauleg
- Gauss-Legendre weights and abscissas [4.5]
- gaussj
- Gauss-Jordan matrix inversion and linear equation solution [2.1]
- gcf
- continued fraction used by gammp and gammq [6.2]
- golden
- find minimum of a function by golden section search [10.1]
- gser
- series used by gammp and gammq [6.2]
- hpsel
- find M largest values, without altering an array [8.5]
- hpsort
- sort an array by heapsort method [8.3]
- hqr
- eigenvalues of a Hessenberg matrix [11.6]
- hufapp
- append bits to a Huffman code, used by hufmak [20.4]
- hufdec
- use Huffman code to decode and decompress a character [20.4]
- hufenc
- use Huffman code to encode and compress a character [20.4]
- hufmak
- construct a Huffman code [20.4]
- hunt
- search a table when calls are correlated [3.4]
- hypdrv
- complex hypergeometric function, derivative of [6.12]
- hypgeo
- complex hypergeometric function [6.12]
- hypser
- complex hypergeometric function, series evaluation [6.12]
- icrc1
- cyclic redundancy checksum, used by icrc [20.3]
- icrc
- cyclic redundancy checksum [20.3]
- igray
- Gray code and its inverse [20.2]
- indexx
- construct an index for an array [8.4]
- interp
- bilinear prolongation, used by mglin, mgfas [19.6]
- irbit1
- random bit sequence [7.4]
- irbit2
- random bit sequence [7.4]
- jacobi
- eigenvalues and eigenvectors of a symmetric matrix [11.1]
- jacobn
- sample Jacobian routine for stiff [16.6]
- julday
- Julian Day number from calendar date [1.1]
- kendl1
- correlation between two data sets, Kendall's tau [14.6]
- kendl2
- contingency table analysis using Kendall's tau [14.6]
- kermom
- sample routine for moments of a singular kernel [18.3]
- ks2d1s
- K--S test in two dimensions, data vs.\ model [14.7]
- ks2d2s
- K--S test in two dimensions, data vs.\ data [14.7]
- ksone
- Kolmogorov-Smirnov test of data against model [14.3]
- kstwo
- Kolmogorov-Smirnov test between two data sets [14.3]
- laguer
- find a root of a polynomial by Laguerre's method [9.5]
- lfit
- general linear least-squares fit by normal equations [15.4]
- linbcg
- biconjugate gradient solution of sparse systems [2.7]
- linmin
- minimum of a function along a ray in N-dimensions [10.5]
- lnsrch
- search along a line, used by newt [9.7]
- locate
- search an ordered table by bisection [3.4]
- lop
- applies nonlinear operator, used by mgfas [19.6]
- lubksb
- linear equation solution, backsubstitution [2.3]
- ludcmp
- linear equation solution, LU decomposition [2.3]
- machar
- diagnose computer's floating arithmetic [20.1]
- maloc
- memory allocation utility used by mglin, mgfas [19.6]
- matadd
- utility used by mgfas [19.6]
- matsub
- utility used by mgfas [19.6]
- medfit
- fit data to a straight line robustly, least absolute deviation [15.7]
- memcof
- evaluate maximum entropy (MEM) coefficients [13.6]
- metrop
- Metropolis algorithm, used by anneal [10.9]
- mgfas
- nonlinear elliptic PDE solved by multigrid method [19.6]
- mglin
- linear elliptic PDE solved by multigrid method [19.6]
- midexp
- integrate a function that decreases exponentially [4.4]
- midinf
- integrate a function on a semi-infinite interval [4.4]
- midpnt
- extended midpoint rule [4.4]
- midsql
- integrate a function with lower square-root singularity [4.4]
- midsqu
- integrate a function with upper square-root singularity [4.4]
- miser
- recursive multidimensional Monte Carlo integration [7.8]
- mmid
- integrate ODEs by modified midpoint method [16.3]
- mnbrak
- bracket the minimum of a function [10.1]
- mnewt
- Newton's method for systems of equations [9.6]
- moment
- calculate moments of a data set [14.1]
- mp2dfr
- multiple precision conversion to decimal base [20.6]
- mpdiv
- multiple precision divide and remainder [20.6]
- mpinv
- multiple precision reciprocal [20.6]
- mpmul
- multiple precision multiply, using FFT methods [20.6]
- mpops
- multiple precision arithmetic, simpler operations [20.6]
- mppi
- multiple precision example, compute many digits of \pi [20.6]
- mprove
- linear equation solution, iterative improvement [2.5]
- mpsqrt
- multiple precision square root [20.6]
- mrqcof
- used by mrqmin to evaluate coefficients [15.5]
- mrqmin
- nonlinear least-squares fit, Marquardt's method [15.5]
- newt
- globally convergent multi-dimensional Newton's method [9.7]
- odeint
- integrate ODEs with accuracy monitoring [16.2]
- orthog
- construct nonclassical orthogonal polynomials [4.5]
- pade
- Pad\'e approximant from power series coefficients [5.12]
- pccheb
- inverse of chebpc; use to economize power series [5.11]
- pcshft
- polynomial coefficients of a shifted polynomial [5.10]
- pearsn
- Pearson's correlation between two data sets [14.5]
- period
- power spectrum of unevenly sampled data [13.8]
- piksr2
- sort two arrays by straight insertion [8.1]
- piksrt
- sort an array by straight insertion [8.1]
- pinvs
- diagonalize a sub-block, used by SOLVDE [17.3]
- plgndr
- Legendre polynomials, associated (spherical harmonics) [6.8]
- poidev
- Poisson distributed random deviates [7.3]
- polcoe
- polynomial coefficients from table of values [3.5]
- polcof
- polynomial coefficients from table of values [3.5]
- poldiv
- divide one polynomial by another [5.3]
- polin2
- two-dimensional polynomial interpolation [3.6]
- polint
- polynomial interpolation [3.1]
- powell
- minimize in N-dimensions by Powell's method [10.5]
- predic
- linear prediction using MEM coefficients [13.6]
- probks
- Kolmogorov-Smirnov probability function [14.3]
- psdes
- ``pseudo-DES'' hashing of 64 bits [7.5]
- pwt
- partial wavelet transform [13.10]
- pwtset
- initialize coefficients for pwt [13.10]
- pythag
- calculate (a^2+b^2)^{1/2} without overflow [2.6]
- pzextr
- polynomial extrapolation, used by bsstep [16.4]
- qgaus
- integrate a function by Gaussian quadratures [4.5]
- qrdcmp
- QR decomposition [2.10]
- qromb
- integrate using Romberg adaptive method [4.3]
- qromo
- integrate using open Romberg adaptive method [4.4]
- qroot
- complex or double root of a polynomial, Bairstow [9.5]
- qrsolv
- QR backsubstitution [2.10]
- qrupdt
- update a QR decomposition [2.10]
- qsimp
- integrate using Simpson's rule [4.2]
- qtrap
- integrate using trapezoidal rule [4.2]
- quad3d
- integrate a function over a three-dimensional space [4.6]
- quadct
- count points by quadrants, used by ks2d1s [14.7]
- quadmx
- sample routine for a quadrature matrix [18.3]
- quadvl
- quadrant probabilities, used by ks2d1s [14.7]
- ran0
- random deviate by Park and Miller minimal standard [7.1]
- ran1
- random deviate, minimal standard plus shuffle [7.1]
- ran2
- random deviate by L'Ecuyer long period plus shuffle [7.1]
- ran3
- random deviate by Knuth subtractive method [7.1]
- ran4
- random deviates from DES-like hashing [7.5]
- rank
- construct a rank table for an array [8.4]
- ranpt
- get random point, used by miser [7.8]
- ratint
- rational function interpolation [3.2]
- ratlsq
- rational fit by least-squares method [5.13]
- ratval
- evaluate a rational function [5.3]
- rc
- Carlson's degenerate elliptic integral [6.11]
- rd
- Carlson's elliptic integral of the second kind [6.11]
- realft
- fast Fourier transform of a single real function [12.3]
- rebin
- sample rebinning used by vegas [7.8]
- red
- reduce columns of a matrix, used by SOLVDE [17.3]
- relax2
- Gauss-Seidel relaxation, used by mgfas [19.6]
- relax
- Gauss-Seidel relaxation, used by mglin [19.6]
- resid
- calculate residual, used by mglin [19.6]
- revcst
- cost of a reversal, used by anneal [10.9]
- revers
- do a reversal, used by anneal [10.9]
- rf
- Carlson's elliptic integral of the first kind [6.11]
- rj
- Carlson's elliptic integral of the third kind [6.11]
- rk4
- integrate one step of ODEs, fourth-order Runge-Kutta [16.1]
- rkck
- Cash-Karp-Runge-Kutta step used by rkqs [16.2]
- rkdumb
- integrate ODEs by fourth-order Runge-Kutta [16.1]
- rkqs
- integrate one step of ODEs with accuracy monitoring [16.2]
- rlft3
- FFT of real data in two or three dimensions [12.5]
- rotate
- Jacobi rotation used by qrupdt [2.10]
- rsolv
- right triangular backsubstitution [2.10]
- rstrct
- half-weighting restriction, used by mglin, mgfas [19.6]
- rtbis
- find root of a function by bisection [9.1]
- rtflsp
- find root of a function by false-position [9.2]
- rtnewt
- find root of a function by Newton-Raphson [9.4]
- rtsafe
- find root of a function by Newton-Raphson and bisection [9.4]
- rtsec
- find root of a function by secant method [9.2]
- rzextr
- rational function extrapolation, used by bsstep [16.4]
- savgol
- Savitzky-Golay smoothing coefficients [14.8]
- scrsho
- graph a function to search for roots [9.0]
- select
- find the Nth largest in an array [8.5]
- selip
- find the Nth largest, without altering an array [8.5]
- sfroid
- spheroidal functions by method of SOLVDE [17.4]
- shell
- sort an array by Shell's method [8.1]
- shoot
- solve two point boundary value problem by shooting [17.1]
- shootf
- ditto, by shooting to a fitting point [17.2]
- simp1
- linear programming, used by simplx [10.8]
- simp2
- linear programming, used by simplx [10.8]
- simp3
- linear programming, used by simplx [10.8]
- simplx
- linear programming maximization of a linear function [10.8]
- simpr
- integrate stiff ODEs by semi-implicit midpoint rule [16.6]
- sinft
- fast sine transform [12.3]
- slvsm2
- solve on coarsest grid, used by mgfas [19.6]
- slvsml
- solve on coarsest grid, used by mglin [19.6]
- sncndn
- Jacobian elliptic functions [6.11]
- snrm
- used by linbcg for vector norm [2.7]
- sobseq
- Sobol's quasi-random sequence [7.7]
- solvde
- two point boundary value problem, solve by relaxation [17.3]
- sor
- elliptic PDE solved by successive overrelaxation method [19.5]
- sort2
- sort two arrays by quicksort method [8.2]
- sort3
- sort, use an index to sort 3 or more arrays [8.4]
- sort
- sort an array by quicksort method [8.2]
- spctrm
- power spectrum estimation using FFT [13.4]
- spear
- Spearman's rank correlation between two data sets [14.6]
- sphbes
- spherical Bessel functions j_n and y_n [6.7]
- sphfpt
- spheroidal functions by method of shootf [17.4]
- sphoot
- spheroidal functions by method of shoot [17.4]
- splie2
- construct two-dimensional spline [3.6]
- splin2
- two-dimensional spline interpolation [3.6]
- spline
- construct a cubic spline [3.3]
- splint
- cubic spline interpolation [3.3]
- spread
- extirpolate value into array, used by fasper [13.8]
- sprsax
- product of sparse matrix and vector [2.7]
- sprsin
- convert matrix to sparse format [2.7]
- sprspm
- pattern multiply two sparse matrices [2.7]
- sprstm
- threshold multiply two sparse matrices [2.7]
- sprstp
- transpose of sparse matrix [2.7]
- sprstx
- product of transpose sparse matrix and vector [2.7]
- stifbs
- integrate stiff ODEs, Bulirsch-Stoer step [16.6]
- stiff
- integrate stiff ODEs by fourth-order Rosenbrock [16.6]
- stoerm
- integrate conservative second-order ODEs [16.5]
- svbksb
- singular value backsubstitution [2.6]
- svdcmp
- singular value decomposition of a matrix [2.6]
- svdfit
- linear least-squares fit by singular value decomposition [15.4]
- svdvar
- variances from singular value decomposition [15.4]
- toeplz
- solve Toeplitz systems [2.8]
- tptest
- Student's t-test for means, case of paired data [14.2]
- tqli
- eigensolution of a symmetric tridiagonal matrix [11.3]
- trapzd
- trapezoidal rule [4.2]
- tred2
- Householder reduction of a real, symmetric matrix [11.2]
- tridag
- solution of tridiagonal systems [2.4]
- trncst
- cost of a transposition, used by anneal [10.9]
- trnspt
- do a transposition, used by anneal [10.9]
- ttest
- Student's t-test for difference of means [14.2]
- tutest
- Student's t-test for means, case of unequal variances [14.2]
- twofft
- fast Fourier transform of two real functions [12.3]
- vander
- solve Vandermonde systems [2.8]
- vegas
- adaptive multidimensional Monte Carlo integration [7.8]
- voltra
- linear Volterra equations of the second kind [18.2]
- wt1
- one-dimensional discrete wavelet transform [13.10]
- wtn
- multidimensional discrete wavelet transform [13.10]
- wwghts
- quadrature weights for an arbitrarily singular kernel [18.3]
- zbrac
- outward search for brackets on roots [9.1]
- zbrak
- inward search for brackets on roots [9.1]
- zbrent
- find root of a function by Brent's method [9.3]
- zrhqr
- roots of a polynomial by eigenvalue methods [9.5]
- zriddr
- find root of a function by Ridders' method [9.2]
- zroots
- roots of a polynomial by Laguerre's method with deflation [9.5]