NMS is a collection of Software from the book "Numerical Methods and Software" by D. Kahaner, C. Moler, and S. Nash, Prentice Hall, Englewood Cliffs, NJ, 1989. All are portable Fortran subroutines. A brief description of the user-callable routines follows. BESI0 Computes the hyperbolic Bessel function of the first kind of order zero. Double precision version is DBESI0. BESJ Computes an N member sequence of J Bessel functions J/SUB(ALPHA+K-1)/(X), K=1,..,N for non-negative ALPHA and X. Double precision version is DBESJ. CFFT2D Two dimensional complex fast Fourier transform. Double precision version is DCFT2D. CFFTB Unnormalized inverse of CFFTF. Double precision version is DCFFTB. CFFTF Forward transform of a complex, periodic sequence. Double precision version is DCFFTF. ERF Computes the error function. Double precision version is DERF. ERFC Computes the complementary error function. Double precision version is DERFC. EZFFTB A simplified real, periodic, backward transform. Double precision version is DEZFTB. EZFFTF A simplified real, periodic, forward transform. Double precision version is DEZFTF. FMIN Returns an approximation to the point where F attains a minimum on the interval (AX,BX). Double precision version is DFMIN. FZERO Searches for a zero of a function F(X) in a given interval (B,C). It is designed primarily for problems where F(B) and F(C) have opposite signs. Double precision version is DFZERO. GAMMA Computes the Gamma function. Double precision version is DGAMMA. PCHEV Evaluates the function and first derivative of a piecewise cubic Hermite or spline function at an array of points XVAL, easy to use. Double precision version is DPCHEV. PCHEZ Easy to use spline or cubic Hermite interpolation. Double precision version is DPCHEZ. PCHQA Evaluates the definite integral of a piecewise cubic Hermite or spline function over an arbitrary interval, easy to use. Double precision version is DPCHQA. Q1DA Approximates one dimensional integrals of user defined functions, easy to use. Double precision version is DQ1DA. QAGI Calculates an approximation result to a given INTEGRAL I = Integral of F over (BOUND,+INFINITY) or I = Integral of F over (-INFINITY,BOUND) or I = Integral of F over (-INFINITY,+INFINITY) Hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). Double precision version is DQAGI. QK15 To compute I = Integral of F over (A,B), with error estimate and J = integral of ABS(F) over (A,B). Double precision version is DQK15. RNOR Generates normal random numbers, with mean zero and unit standard deviation, often denoted N(0,1). SDRIV2 Solves N ordinary differential equations of the form dY(I)/dT = F(Y(I),T), given the initial conditions Y(I) = YI. The program has options to allow the solution of both stiff and non-stiff differential equations. Double precision version is DDRIV2. SGEFS Solves a GENERAL real NXN system of linear equations. Double precision version is DGEFS. SNSQE The easy-to-use version of SNSQ which finds a zero of a system of N nonlinear functions in N variables by a modification of Powell hybrid method. This code is the combination of the MINPACK codes(Argonne) HYBRD1 and HYBRJ1. Double precision version is DNSQE. SQRLS Solves an overdetermined, underdetermined or singular system of linear equations in least square sense. The solution is obtained using a QR factorization of the M by N coefficient matrix A. Double precision version is DQRLS. SSVDC Perform the singular value decomposition of a real NXP matrix. Double precision version is DSVDC. UNCMIN Minimizes a smooth nonlinear function of n variables. A subroutine that computes the function value at any point must be supplied. Derivative values are not required. Double precision version is UNCMND. UNI Generates real uniform random numbers on [0,1).