A. Arithmetic, error analysis A3. Real A3D. Extended range XADD-S To provide single-precision floating-point arithmetic DXADD-D with an extended exponent range. XADJ-S To provide single-precision floating-point arithmetic DXADJ-D with an extended exponent range. XC210-S To provide single-precision floating-point arithmetic DXC210-D with an extended exponent range. XCON-S To provide single-precision floating-point arithmetic DXCON-D with an extended exponent range. XRED-S To provide single-precision floating-point arithmetic DXRED-D with an extended exponent range. XSET-S To provide single-precision floating-point arithmetic DXSET-D with an extended exponent range. A4. Complex A4A. Single precision CARG-C Compute the argument of a complex number. A6. Change of representation A6B. Base conversion R9PAK-S Pack a base 2 exponent into a floating point number. D9PAK-D R9UPAK-S Unpack a floating point number X so that X = Y*2**N. D9UPAK-D C. Elementary and special functions (search also class L5) FUNDOC-A Documentation for FNLIB, a collection of routines for evaluating elementary and special functions. C1. Integer-valued functions (e.g., floor, ceiling, factorial, binomial coefficient) BINOM-S Compute the binomial coefficients. DBINOM-D FAC-S Compute the factorial function. DFAC-D POCH-S Evaluate a generalization of Pochhammer's symbol. DPOCH-D POCH1-S Calculate a generalization of Pochhammer's symbol starting DPOCH1-D from first order. C2. Powers, roots, reciprocals CBRT-S Compute the cube root. DCBRT-D CCBRT-C C3. Polynomials C3A. Orthogonal C3A2. Chebyshev, Legendre CSEVL-S Evaluate a Chebyshev series. DCSEVL-D INITS-S Determine the number of terms needed in an orthogonal INITDS-D polynomial series so that it meets a specified accuracy. QMOMO-S This routine computes modified Chebyshev moments. The K-th DQMOMO-D modified Chebyshev moment is defined as the integral over (-1,1) of W(X)*T(K,X), where T(K,X) is the Chebyshev polynomial of degree K. XLEGF-S Compute normalized Legendre polynomials and associated DXLEGF-D Legendre functions. XNRMP-S Compute normalized Legendre polynomials. DXNRMP-D C4. Elementary transcendental functions C4A. Trigonometric, inverse trigonometric CACOS-C Compute the complex arc cosine. CASIN-C Compute the complex arc sine. CATAN-C Compute the complex arc tangent. CATAN2-C Compute the complex arc tangent in the proper quadrant. COSDG-S Compute the cosine of an argument in degrees. DCOSDG-D COT-S Compute the cotangent. DCOT-D CCOT-C CTAN-C Compute the complex tangent. SINDG-S Compute the sine of an argument in degrees. DSINDG-D C4B. Exponential, logarithmic ALNREL-S Evaluate ln(1+X) accurate in the sense of relative error. DLNREL-D CLNREL-C CLOG10-C Compute the principal value of the complex base 10 logarithm. EXPREL-S Calculate the relative error exponential (EXP(X)-1)/X. DEXPRL-D CEXPRL-C C4C. Hyperbolic, inverse hyperbolic ACOSH-S Compute the arc hyperbolic cosine. DACOSH-D CACOSH-C ASINH-S Compute the arc hyperbolic sine. DASINH-D CASINH-C ATANH-S Compute the arc hyperbolic tangent. DATANH-D CATANH-C CCOSH-C Compute the complex hyperbolic cosine. CSINH-C Compute the complex hyperbolic sine. CTANH-C Compute the complex hyperbolic tangent. C5. Exponential and logarithmic integrals ALI-S Compute the logarithmic integral. DLI-D E1-S Compute the exponential integral E1(X). DE1-D EI-S Compute the exponential integral Ei(X). DEI-D EXINT-S Compute an M member sequence of exponential integrals DEXINT-D E(N+K,X), K=0,1,...,M-1 for N .GE. 1 and X .GE. 0. SPENC-S Compute a form of Spence's integral due to K. Mitchell. DSPENC-D C7. Gamma C7A. Gamma, log gamma, reciprocal gamma ALGAMS-S Compute the logarithm of the absolute value of the Gamma DLGAMS-D function. ALNGAM-S Compute the logarithm of the absolute value of the Gamma DLNGAM-D function. CLNGAM-C C0LGMC-C Evaluate (Z+0.5)*LOG((Z+1.)/Z) - 1.0 with relative accuracy. GAMLIM-S Compute the minimum and maximum bounds for the argument in DGAMLM-D the Gamma function. GAMMA-S Compute the complete Gamma function. DGAMMA-D CGAMMA-C GAMR-S Compute the reciprocal of the Gamma function. DGAMR-D CGAMR-C POCH-S Evaluate a generalization of Pochhammer's symbol. DPOCH-D POCH1-S Calculate a generalization of Pochhammer's symbol starting DPOCH1-D from first order. C7B. Beta, log beta ALBETA-S Compute the natural logarithm of the complete Beta DLBETA-D function. CLBETA-C BETA-S Compute the complete Beta function. DBETA-D CBETA-C C7C. Psi function PSI-S Compute the Psi (or Digamma) function. DPSI-D CPSI-C PSIFN-S Compute derivatives of the Psi function. DPSIFN-D C7E. Incomplete gamma GAMI-S Evaluate the incomplete Gamma function. DGAMI-D GAMIC-S Calculate the complementary incomplete Gamma function. DGAMIC-D GAMIT-S Calculate Tricomi's form of the incomplete Gamma function. DGAMIT-D C7F. Incomplete beta BETAI-S Calculate the incomplete Beta function. DBETAI-D C8. Error functions C8A. Error functions, their inverses, integrals, including the normal distribution function ERF-S Compute the error function. DERF-D ERFC-S Compute the complementary error function. DERFC-D C8C. Dawson's integral DAWS-S Compute Dawson's function. DDAWS-D C9. Legendre functions XLEGF-S Compute normalized Legendre polynomials and associated DXLEGF-D Legendre functions. XNRMP-S Compute normalized Legendre polynomials. DXNRMP-D C10. Bessel functions C10A. J, Y, H-(1), H-(2) C10A1. Real argument, integer order BESJ0-S Compute the Bessel function of the first kind of order DBESJ0-D zero. BESJ1-S Compute the Bessel function of the first kind of order one. DBESJ1-D BESY0-S Compute the Bessel function of the second kind of order DBESY0-D zero. BESY1-S Compute the Bessel function of the second kind of order DBESY1-D one. C10A3. Real argument, real order BESJ-S Compute an N member sequence of J Bessel functions DBESJ-D J/SUB(ALPHA+K-1)/(X), K=1,...,N for non-negative ALPHA and X. BESY-S Implement forward recursion on the three term recursion DBESY-D relation for a sequence of non-negative order Bessel functions Y/SUB(FNU+I-1)/(X), I=1,...,N for real, positive X and non-negative orders FNU. C10A4. Complex argument, real order CBESH-C Compute a sequence of the Hankel functions H(m,a,z) ZBESH-C for superscript m=1 or 2, real nonnegative orders a=b, b+1,... where b>0, and nonzero complex argument z. A scaling option is available to help avoid overflow. CBESJ-C Compute a sequence of the Bessel functions J(a,z) for ZBESJ-C complex argument z and real nonnegative orders a=b,b+1, b+2,... where b>0. A scaling option is available to help avoid overflow. CBESY-C Compute a sequence of the Bessel functions Y(a,z) for ZBESY-C complex argument z and real nonnegative orders a=b,b+1, b+2,... where b>0. A scaling option is available to help avoid overflow. C10B. I, K C10B1. Real argument, integer order BESI0-S Compute the hyperbolic Bessel function of the first kind DBESI0-D of order zero. BESI0E-S Compute the exponentially scaled modified (hyperbolic) DBSI0E-D Bessel function of the first kind of order zero. BESI1-S Compute the modified (hyperbolic) Bessel function of the DBESI1-D first kind of order one. BESI1E-S Compute the exponentially scaled modified (hyperbolic) DBSI1E-D Bessel function of the first kind of order one. BESK0-S Compute the modified (hyperbolic) Bessel function of the DBESK0-D third kind of order zero. BESK0E-S Compute the exponentially scaled modified (hyperbolic) DBSK0E-D Bessel function of the third kind of order zero. BESK1-S Compute the modified (hyperbolic) Bessel function of the DBESK1-D third kind of order one. BESK1E-S Compute the exponentially scaled modified (hyperbolic) DBSK1E-D Bessel function of the third kind of order one. C10B3. Real argument, real order BESI-S Compute an N member sequence of I Bessel functions DBESI-D I/SUB(ALPHA+K-1)/(X), K=1,...,N or scaled Bessel functions EXP(-X)*I/SUB(ALPHA+K-1)/(X), K=1,...,N for non-negative ALPHA and X. BESK-S Implement forward recursion on the three term recursion DBESK-D relation for a sequence of non-negative order Bessel functions K/SUB(FNU+I-1)/(X), or scaled Bessel functions EXP(X)*K/SUB(FNU+I-1)/(X), I=1,...,N for real, positive X and non-negative orders FNU. BESKES-S Compute a sequence of exponentially scaled modified Bessel DBSKES-D functions of the third kind of fractional order. BESKS-S Compute a sequence of modified Bessel functions of the DBESKS-D third kind of fractional order. C10B4. Complex argument, real order CBESI-C Compute a sequence of the Bessel functions I(a,z) for ZBESI-C complex argument z and real nonnegative orders a=b,b+1, b+2,... where b>0. A scaling option is available to help avoid overflow. CBESK-C Compute a sequence of the Bessel functions K(a,z) for ZBESK-C complex argument z and real nonnegative orders a=b,b+1, b+2,... where b>0. A scaling option is available to help avoid overflow. C10D. Airy and Scorer functions AI-S Evaluate the Airy function. DAI-D AIE-S Calculate the Airy function for a negative argument and an DAIE-D exponentially scaled Airy function for a non-negative argument. BI-S Evaluate the Bairy function (the Airy function of the DBI-D second kind). BIE-S Calculate the Bairy function for a negative argument and an DBIE-D exponentially scaled Bairy function for a non-negative argument. CAIRY-C Compute the Airy function Ai(z) or its derivative dAi/dz ZAIRY-C for complex argument z. A scaling option is available to help avoid underflow and overflow. CBIRY-C Compute the Airy function Bi(z) or its derivative dBi/dz ZBIRY-C for complex argument z. A scaling option is available to help avoid overflow. C10F. Integrals of Bessel functions BSKIN-S Compute repeated integrals of the K-zero Bessel function. DBSKIN-D C11. Confluent hypergeometric functions CHU-S Compute the logarithmic confluent hypergeometric function. DCHU-D C14. Elliptic integrals RC-S Calculate an approximation to DRC-D RC(X,Y) = Integral from zero to infinity of -1/2 -1 (1/2)(t+X) (t+Y) dt, where X is nonnegative and Y is positive. RD-S Compute the incomplete or complete elliptic integral of the DRD-D 2nd kind. For X and Y nonnegative, X+Y and Z positive, RD(X,Y,Z) = Integral from zero to infinity of -1/2 -1/2 -3/2 (3/2)(t+X) (t+Y) (t+Z) dt. If X or Y is zero, the integral is complete. RF-S Compute the incomplete or complete elliptic integral of the DRF-D 1st kind. For X, Y, and Z non-negative and at most one of them zero, RF(X,Y,Z) = Integral from zero to infinity of -1/2 -1/2 -1/2 (1/2)(t+X) (t+Y) (t+Z) dt. If X, Y or Z is zero, the integral is complete. RJ-S Compute the incomplete or complete (X or Y or Z is zero) DRJ-D elliptic integral of the 3rd kind. For X, Y, and Z non- negative, at most one of them zero, and P positive, RJ(X,Y,Z,P) = Integral from zero to infinity of -1/2 -1/2 -1/2 -1 (3/2)(t+X) (t+Y) (t+Z) (t+P) dt. C19. Other special functions RC3JJ-S Evaluate the 3j symbol f(L1) = ( L1 L2 L3) DRC3JJ-D (-M2-M3 M2 M3) for all allowed values of L1, the other parameters being held fixed. RC3JM-S Evaluate the 3j symbol g(M2) = (L1 L2 L3 ) DRC3JM-D (M1 M2 -M1-M2) for all allowed values of M2, the other parameters being held fixed. RC6J-S Evaluate the 6j symbol h(L1) = {L1 L2 L3} DRC6J-D {L4 L5 L6} for all allowed values of L1, the other parameters being held fixed. D. Linear Algebra D1. Elementary vector and matrix operations D1A. Elementary vector operations D1A2. Minimum and maximum components ISAMAX-S Find the smallest index of that component of a vector IDAMAX-D having the maximum magnitude. ICAMAX-C D1A3. Norm D1A3A. L-1 (sum of magnitudes) SASUM-S Compute the sum of the magnitudes of the elements of a DASUM-D vector. SCASUM-C D1A3B. L-2 (Euclidean norm) SNRM2-S Compute the Euclidean length (L2 norm) of a vector. DNRM2-D SCNRM2-C D1A4. Dot product (inner product) CDOTC-C Dot product of two complex vectors using the complex conjugate of the first vector. DQDOTA-D Compute the inner product of two vectors with extended precision accumulation and result. DQDOTI-D Compute the inner product of two vectors with extended precision accumulation and result. DSDOT-D Compute the inner product of two vectors with extended DCDOT-C precision accumulation and result. SDOT-S Compute the inner product of two vectors. DDOT-D CDOTU-C SDSDOT-S Compute the inner product of two vectors with extended CDCDOT-C precision accumulation. D1A5. Copy or exchange (swap) ICOPY-S Copy a vector. DCOPY-D CCOPY-C ICOPY-I SCOPY-S Copy a vector. DCOPY-D CCOPY-C ICOPY-I SCOPYM-S Copy the negative of a vector to a vector. DCOPYM-D SSWAP-S Interchange two vectors. DSWAP-D CSWAP-C ISWAP-I D1A6. Multiplication by scalar CSSCAL-C Scale a complex vector. SSCAL-S Multiply a vector by a constant. DSCAL-D CSCAL-C D1A7. Triad (a*x+y for vectors x,y and scalar a) SAXPY-S Compute a constant times a vector plus a vector. DAXPY-D CAXPY-C D1A8. Elementary rotation (Givens transformation) SROT-S Apply a plane Givens rotation. DROT-D CSROT-C SROTM-S Apply a modified Givens transformation. DROTM-D D1B. Elementary matrix operations D1B4. Multiplication by vector CHPR-C Perform the hermitian rank 1 operation. DGER-D Perform the rank 1 operation. DSPR-D Perform the symmetric rank 1 operation. DSYR-D Perform the symmetric rank 1 operation. SGBMV-S Multiply a real vector by a real general band matrix. DGBMV-D CGBMV-C SGEMV-S Multiply a real vector by a real general matrix. DGEMV-D CGEMV-C SGER-S Perform rank 1 update of a real general matrix. CGERC-C Perform conjugated rank 1 update of a complex general SGERC-S matrix. DGERC-D CGERU-C Perform unconjugated rank 1 update of a complex general SGERU-S matrix. DGERU-D CHBMV-C Multiply a complex vector by a complex Hermitian band SHBMV-S matrix. DHBMV-D CHEMV-C Multiply a complex vector by a complex Hermitian matrix. SHEMV-S DHEMV-D CHER-C Perform Hermitian rank 1 update of a complex Hermitian SHER-S matrix. DHER-D CHER2-C Perform Hermitian rank 2 update of a complex Hermitian SHER2-S matrix. DHER2-D CHPMV-C Perform the matrix-vector operation. SHPMV-S DHPMV-D CHPR2-C Perform the hermitian rank 2 operation. SHPR2-S DHPR2-D SSBMV-S Multiply a real vector by a real symmetric band matrix. DSBMV-D CSBMV-C SSDI-S Diagonal Matrix Vector Multiply. DSDI-D Routine to calculate the product X = DIAG*B, where DIAG is a diagonal matrix. SSMTV-S SLAP Column Format Sparse Matrix Transpose Vector Product. DSMTV-D Routine to calculate the sparse matrix vector product: Y = A'*X, where ' denotes transpose. SSMV-S SLAP Column Format Sparse Matrix Vector Product. DSMV-D Routine to calculate the sparse matrix vector product: Y = A*X. SSPMV-S Perform the matrix-vector operation. DSPMV-D CSPMV-C SSPR-S Performs the symmetric rank 1 operation. SSPR2-S Perform the symmetric rank 2 operation. DSPR2-D CSPR2-C SSYMV-S Multiply a real vector by a real symmetric matrix. DSYMV-D CSYMV-C SSYR-S Perform symmetric rank 1 update of a real symmetric matrix. SSYR2-S Perform symmetric rank 2 update of a real symmetric matrix. DSYR2-D CSYR2-C STBMV-S Multiply a real vector by a real triangular band matrix. DTBMV-D CTBMV-C STBSV-S Solve a real triangular banded system of linear equations. DTBSV-D CTBSV-C STPMV-S Perform one of the matrix-vector operations. DTPMV-D CTPMV-C STPSV-S Solve one of the systems of equations. DTPSV-D CTPSV-C STRMV-S Multiply a real vector by a real triangular matrix. DTRMV-D CTRMV-C STRSV-S Solve a real triangular system of linear equations. DTRSV-D CTRSV-C D1B6. Multiplication SGEMM-S Multiply a real general matrix by a real general matrix. DGEMM-D CGEMM-C CHEMM-C Multiply a complex general matrix by a complex Hermitian SHEMM-S matrix. DHEMM-D CHER2K-C Perform Hermitian rank 2k update of a complex. SHER2-S DHER2-D CHER2-C CHERK-C Perform Hermitian rank k update of a complex Hermitian SHERK-S matrix. DHERK-D SSYMM-S Multiply a real general matrix by a real symmetric matrix. DSYMM-D CSYMM-C DSYR2K-D Perform one of the symmetric rank 2k operations. SSYR2-S DSYR2-D CSYR2-C SSYRK-S Perform symmetric rank k update of a real symmetric matrix. DSYRK-D CSYRK-C STRMM-S Multiply a real general matrix by a real triangular matrix. DTRMM-D CTRMM-C STRSM-S Solve a real triangular system of equations with multiple DTRSM-D right-hand sides. CTRSM-C D1B9. Storage mode conversion SS2Y-S SLAP Triad to SLAP Column Format Converter. DS2Y-D Routine to convert from the SLAP Triad to SLAP Column format. D1B10. Elementary rotation (Givens transformation) CSROT-C Apply a plane Givens rotation. SROT-S DROT-D SROTG-S Construct a plane Givens rotation. DROTG-D CROTG-C SROTMG-S Construct a modified Givens transformation. DROTMG-D D2. Solution of systems of linear equations (including inversion, LU and related decompositions) D2A. Real nonsymmetric matrices D2A1. General SGECO-S Factor a matrix using Gaussian elimination and estimate DGECO-D the condition number of the matrix. CGECO-C SGEDI-S Compute the determinant and inverse of a matrix using the DGEDI-D factors computed by SGECO or SGEFA. CGEDI-C SGEFA-S Factor a matrix using Gaussian elimination. DGEFA-D CGEFA-C SGEFS-S Solve a general system of linear equations. DGEFS-D CGEFS-C SGEIR-S Solve a general system of linear equations. Iterative CGEIR-C refinement is used to obtain an error estimate. SGESL-S Solve the real system A*X=B or TRANS(A)*X=B using the DGESL-D factors of SGECO or SGEFA. CGESL-C SQRSL-S Apply the output of SQRDC to compute coordinate transfor- DQRSL-D mations, projections, and least squares solutions. CQRSL-C D2A2. Banded SGBCO-S Factor a band matrix by Gaussian elimination and DGBCO-D estimate the condition number of the matrix. CGBCO-C SGBFA-S Factor a band matrix using Gaussian elimination. DGBFA-D CGBFA-C SGBSL-S Solve the real band system A*X=B or TRANS(A)*X=B using DGBSL-D the factors computed by SGBCO or SGBFA. CGBSL-C SNBCO-S Factor a band matrix using Gaussian elimination and DNBCO-D estimate the condition number. CNBCO-C SNBFA-S Factor a real band matrix by elimination. DNBFA-D CNBFA-C SNBFS-S Solve a general nonsymmetric banded system of linear DNBFS-D equations. CNBFS-C SNBIR-S Solve a general nonsymmetric banded system of linear CNBIR-C equations. Iterative refinement is used to obtain an error estimate. SNBSL-S Solve a real band system using the factors computed by DNBSL-D SNBCO or SNBFA. CNBSL-C D2A2A. Tridiagonal SGTSL-S Solve a tridiagonal linear system. DGTSL-D CGTSL-C D2A3. Triangular SSLI-S SLAP MSOLVE for Lower Triangle Matrix. DSLI-D This routine acts as an interface between the SLAP generic MSOLVE calling convention and the routine that actually -1 computes L B = X. SSLI2-S SLAP Lower Triangle Matrix Backsolve. DSLI2-D Routine to solve a system of the form Lx = b , where L is a lower triangular matrix. STRCO-S Estimate the condition number of a triangular matrix. DTRCO-D CTRCO-C STRDI-S Compute the determinant and inverse of a triangular matrix. DTRDI-D CTRDI-C STRSL-S Solve a system of the form T*X=B or TRANS(T)*X=B, where DTRSL-D T is a triangular matrix. CTRSL-C D2A4. Sparse SBCG-S Preconditioned BiConjugate Gradient Sparse Ax = b Solver. DBCG-D Routine to solve a Non-Symmetric linear system Ax = b using the Preconditioned BiConjugate Gradient method. SCGN-S Preconditioned CG Sparse Ax=b Solver for Normal Equations. DCGN-D Routine to solve a general linear system Ax = b using the Preconditioned Conjugate Gradient method applied to the normal equations AA'y = b, x=A'y. SCGS-S Preconditioned BiConjugate Gradient Squared Ax=b Solver. DCGS-D Routine to solve a Non-Symmetric linear system Ax = b using the Preconditioned BiConjugate Gradient Squared method. SGMRES-S Preconditioned GMRES Iterative Sparse Ax=b Solver. DGMRES-D This routine uses the generalized minimum residual (GMRES) method with preconditioning to solve non-symmetric linear systems of the form: Ax = b. SIR-S Preconditioned Iterative Refinement Sparse Ax = b Solver. DIR-D Routine to solve a general linear system Ax = b using iterative refinement with a matrix splitting. SLPDOC-S Sparse Linear Algebra Package Version 2.0.2 Documentation. DLPDOC-D Routines to solve large sparse symmetric and nonsymmetric positive definite linear systems, Ax = b, using precondi- tioned iterative methods. SOMN-S Preconditioned Orthomin Sparse Iterative Ax=b Solver. DOMN-D Routine to solve a general linear system Ax = b using the Preconditioned Orthomin method. SSDBCG-S Diagonally Scaled BiConjugate Gradient Sparse Ax=b Solver. DSDBCG-D Routine to solve a linear system Ax = b using the BiConjugate Gradient method with diagonal scaling. SSDCGN-S Diagonally Scaled CG Sparse Ax=b Solver for Normal Eqn's. DSDCGN-D Routine to solve a general linear system Ax = b using diagonal scaling with the Conjugate Gradient method applied to the the normal equations, viz., AA'y = b, where x = A'y. SSDCGS-S Diagonally Scaled CGS Sparse Ax=b Solver. DSDCGS-D Routine to solve a linear system Ax = b using the BiConjugate Gradient Squared method with diagonal scaling. SSDGMR-S Diagonally Scaled GMRES Iterative Sparse Ax=b Solver. DSDGMR-D This routine uses the generalized minimum residual (GMRES) method with diagonal scaling to solve possibly non-symmetric linear systems of the form: Ax = b. SSDOMN-S Diagonally Scaled Orthomin Sparse Iterative Ax=b Solver. DSDOMN-D Routine to solve a general linear system Ax = b using the Orthomin method with diagonal scaling. SSGS-S Gauss-Seidel Method Iterative Sparse Ax = b Solver. DSGS-D Routine to solve a general linear system Ax = b using Gauss-Seidel iteration. SSILUR-S Incomplete LU Iterative Refinement Sparse Ax = b Solver. DSILUR-D Routine to solve a general linear system Ax = b using the incomplete LU decomposition with iterative refinement. SSJAC-S Jacobi's Method Iterative Sparse Ax = b Solver. DSJAC-D Routine to solve a general linear system Ax = b using Jacobi iteration. SSLUBC-S Incomplete LU BiConjugate Gradient Sparse Ax=b Solver. DSLUBC-D Routine to solve a linear system Ax = b using the BiConjugate Gradient method with Incomplete LU decomposition preconditioning. SSLUCN-S Incomplete LU CG Sparse Ax=b Solver for Normal Equations. DSLUCN-D Routine to solve a general linear system Ax = b using the incomplete LU decomposition with the Conjugate Gradient method applied to the normal equations, viz., AA'y = b, x = A'y. SSLUCS-S Incomplete LU BiConjugate Gradient Squared Ax=b Solver. DSLUCS-D Routine to solve a linear system Ax = b using the BiConjugate Gradient Squared method with Incomplete LU decomposition preconditioning. SSLUGM-S Incomplete LU GMRES Iterative Sparse Ax=b Solver. DSLUGM-D This routine uses the generalized minimum residual (GMRES) method with incomplete LU factorization for preconditioning to solve possibly non-symmetric linear systems of the form: Ax = b. SSLUOM-S Incomplete LU Orthomin Sparse Iterative Ax=b Solver. DSLUOM-D Routine to solve a general linear system Ax = b using the Orthomin method with Incomplete LU decomposition. D2B. Real symmetric matrices D2B1. General D2B1A. Indefinite SSICO-S Factor a symmetric matrix by elimination with symmetric DSICO-D pivoting and estimate the condition number of the matrix. CHICO-C CSICO-C SSIDI-S Compute the determinant, inertia and inverse of a real DSIDI-D symmetric matrix using the factors from SSIFA. CHIDI-C CSIDI-C SSIFA-S Factor a real symmetric matrix by elimination with DSIFA-D symmetric pivoting. CHIFA-C CSIFA-C SSISL-S Solve a real symmetric system using the factors obtained DSISL-D from SSIFA. CHISL-C CSISL-C SSPCO-S Factor a real symmetric matrix stored in packed form DSPCO-D by elimination with symmetric pivoting and estimate the CHPCO-C condition number of the matrix. CSPCO-C SSPDI-S Compute the determinant, inertia, inverse of a real DSPDI-D symmetric matrix stored in packed form using the factors CHPDI-C from SSPFA. CSPDI-C SSPFA-S Factor a real symmetric matrix stored in packed form by DSPFA-D elimination with symmetric pivoting. CHPFA-C CSPFA-C SSPSL-S Solve a real symmetric system using the factors obtained DSPSL-D from SSPFA. CHPSL-C CSPSL-C D2B1B. Positive definite SCHDC-S Compute the Cholesky decomposition of a positive definite DCHDC-D matrix. A pivoting option allows the user to estimate the CCHDC-C condition number of a positive definite matrix or determine the rank of a positive semidefinite matrix. SPOCO-S Factor a real symmetric positive definite matrix DPOCO-D and estimate the condition number of the matrix. CPOCO-C SPODI-S Compute the determinant and inverse of a certain real DPODI-D symmetric positive definite matrix using the factors CPODI-C computed by SPOCO, SPOFA or SQRDC. SPOFA-S Factor a real symmetric positive definite matrix. DPOFA-D CPOFA-C SPOFS-S Solve a positive definite symmetric system of linear DPOFS-D equations. CPOFS-C SPOIR-S Solve a positive definite symmetric system of linear CPOIR-C equations. Iterative refinement is used to obtain an error estimate. SPOSL-S Solve the real symmetric positive definite linear system DPOSL-D using the factors computed by SPOCO or SPOFA. CPOSL-C SPPCO-S Factor a symmetric positive definite matrix stored in DPPCO-D packed form and estimate the condition number of the CPPCO-C matrix. SPPDI-S Compute the determinant and inverse of a real symmetric DPPDI-D positive definite matrix using factors from SPPCO or SPPFA. CPPDI-C SPPFA-S Factor a real symmetric positive definite matrix stored in DPPFA-D packed form. CPPFA-C SPPSL-S Solve the real symmetric positive definite system using DPPSL-D the factors computed by SPPCO or SPPFA. CPPSL-C D2B2. Positive definite banded SPBCO-S Factor a real symmetric positive definite matrix stored in DPBCO-D band form and estimate the condition number of the matrix. CPBCO-C SPBFA-S Factor a real symmetric positive definite matrix stored in DPBFA-D band form. CPBFA-C SPBSL-S Solve a real symmetric positive definite band system DPBSL-D using the factors computed by SPBCO or SPBFA. CPBSL-C D2B2A. Tridiagonal SPTSL-S Solve a positive definite tridiagonal linear system. DPTSL-D CPTSL-C D2B4. Sparse SBCG-S Preconditioned BiConjugate Gradient Sparse Ax = b Solver. DBCG-D Routine to solve a Non-Symmetric linear system Ax = b using the Preconditioned BiConjugate Gradient method. SCG-S Preconditioned Conjugate Gradient Sparse Ax=b Solver. DCG-D Routine to solve a symmetric positive definite linear system Ax = b using the Preconditioned Conjugate Gradient method. SCGN-S Preconditioned CG Sparse Ax=b Solver for Normal Equations. DCGN-D Routine to solve a general linear system Ax = b using the Preconditioned Conjugate Gradient method applied to the normal equations AA'y = b, x=A'y. SCGS-S Preconditioned BiConjugate Gradient Squared Ax=b Solver. DCGS-D Routine to solve a Non-Symmetric linear system Ax = b using the Preconditioned BiConjugate Gradient Squared method. SGMRES-S Preconditioned GMRES Iterative Sparse Ax=b Solver. DGMRES-D This routine uses the generalized minimum residual (GMRES) method with preconditioning to solve non-symmetric linear systems of the form: Ax = b. SIR-S Preconditioned Iterative Refinement Sparse Ax = b Solver. DIR-D Routine to solve a general linear system Ax = b using iterative refinement with a matrix splitting. SLPDOC-S Sparse Linear Algebra Package Version 2.0.2 Documentation. DLPDOC-D Routines to solve large sparse symmetric and nonsymmetric positive definite linear systems, Ax = b, using precondi- tioned iterative methods. SOMN-S Preconditioned Orthomin Sparse Iterative Ax=b Solver. DOMN-D Routine to solve a general linear system Ax = b using the Preconditioned Orthomin method. SSDBCG-S Diagonally Scaled BiConjugate Gradient Sparse Ax=b Solver. DSDBCG-D Routine to solve a linear system Ax = b using the BiConjugate Gradient method with diagonal scaling. SSDCG-S Diagonally Scaled Conjugate Gradient Sparse Ax=b Solver. DSDCG-D Routine to solve a symmetric positive definite linear system Ax = b using the Preconditioned Conjugate Gradient method. The preconditioner is diagonal scaling. SSDCGN-S Diagonally Scaled CG Sparse Ax=b Solver for Normal Eqn's. DSDCGN-D Routine to solve a general linear system Ax = b using diagonal scaling with the Conjugate Gradient method applied to the the normal equations, viz., AA'y = b, where x = A'y. SSDCGS-S Diagonally Scaled CGS Sparse Ax=b Solver. DSDCGS-D Routine to solve a linear system Ax = b using the BiConjugate Gradient Squared method with diagonal scaling. SSDGMR-S Diagonally Scaled GMRES Iterative Sparse Ax=b Solver. DSDGMR-D This routine uses the generalized minimum residual (GMRES) method with diagonal scaling to solve possibly non-symmetric linear systems of the form: Ax = b. SSDOMN-S Diagonally Scaled Orthomin Sparse Iterative Ax=b Solver. DSDOMN-D Routine to solve a general linear system Ax = b using the Orthomin method with diagonal scaling. SSGS-S Gauss-Seidel Method Iterative Sparse Ax = b Solver. DSGS-D Routine to solve a general linear system Ax = b using Gauss-Seidel iteration. SSICCG-S Incomplete Cholesky Conjugate Gradient Sparse Ax=b Solver. DSICCG-D Routine to solve a symmetric positive definite linear system Ax = b using the incomplete Cholesky Preconditioned Conjugate Gradient method. SSILUR-S Incomplete LU Iterative Refinement Sparse Ax = b Solver. DSILUR-D Routine to solve a general linear system Ax = b using the incomplete LU decomposition with iterative refinement. SSJAC-S Jacobi's Method Iterative Sparse Ax = b Solver. DSJAC-D Routine to solve a general linear system Ax = b using Jacobi iteration. SSLUBC-S Incomplete LU BiConjugate Gradient Sparse Ax=b Solver. DSLUBC-D Routine to solve a linear system Ax = b using the BiConjugate Gradient method with Incomplete LU decomposition preconditioning. SSLUCN-S Incomplete LU CG Sparse Ax=b Solver for Normal Equations. DSLUCN-D Routine to solve a general linear system Ax = b using the incomplete LU decomposition with the Conjugate Gradient method applied to the normal equations, viz., AA'y = b, x = A'y. SSLUCS-S Incomplete LU BiConjugate Gradient Squared Ax=b Solver. DSLUCS-D Routine to solve a linear system Ax = b using the BiConjugate Gradient Squared method with Incomplete LU decomposition preconditioning. SSLUGM-S Incomplete LU GMRES Iterative Sparse Ax=b Solver. DSLUGM-D This routine uses the generalized minimum residual (GMRES) method with incomplete LU factorization for preconditioning to solve possibly non-symmetric linear systems of the form: Ax = b. SSLUOM-S Incomplete LU Orthomin Sparse Iterative Ax=b Solver. DSLUOM-D Routine to solve a general linear system Ax = b using the Orthomin method with Incomplete LU decomposition. D2C. Complex non-Hermitian matrices D2C1. General CGECO-C Factor a matrix using Gaussian elimination and estimate SGECO-S the condition number of the matrix. DGECO-D CGEDI-C Compute the determinant and inverse of a matrix using the SGEDI-S factors computed by CGECO or CGEFA. DGEDI-D CGEFA-C Factor a matrix using Gaussian elimination. SGEFA-S DGEFA-D CGEFS-C Solve a general system of linear equations. SGEFS-S DGEFS-D CGEIR-C Solve a general system of linear equations. Iterative SGEIR-S refinement is used to obtain an error estimate. CGESL-C Solve the complex system A*X=B or CTRANS(A)*X=B using the SGESL-S factors computed by CGECO or CGEFA. DGESL-D CQRSL-C Apply the output of CQRDC to compute coordinate transfor- SQRSL-S mations, projections, and least squares solutions. DQRSL-D CSICO-C Factor a complex symmetric matrix by elimination with SSICO-S symmetric pivoting and estimate the condition number of the DSICO-D matrix. CHICO-C CSIDI-C Compute the determinant and inverse of a complex symmetric SSIDI-S matrix using the factors from CSIFA. DSIDI-D CHIDI-C CSIFA-C Factor a complex symmetric matrix by elimination with SSIFA-S symmetric pivoting. DSIFA-D CHIFA-C CSISL-C Solve a complex symmetric system using the factors obtained SSISL-S from CSIFA. DSISL-D CHISL-C CSPCO-C Factor a complex symmetric matrix stored in packed form SSPCO-S by elimination with symmetric pivoting and estimate the DSPCO-D condition number of the matrix. CHPCO-C CSPDI-C Compute the determinant and inverse of a complex symmetric SSPDI-S matrix stored in packed form using the factors from CSPFA. DSPDI-D CHPDI-C CSPFA-C Factor a complex symmetric matrix stored in packed form by SSPFA-S elimination with symmetric pivoting. DSPFA-D CHPFA-C CSPSL-C Solve a complex symmetric system using the factors obtained SSPSL-S from CSPFA. DSPSL-D CHPSL-C D2C2. Banded CGBCO-C Factor a band matrix by Gaussian elimination and SGBCO-S estimate the condition number of the matrix. DGBCO-D CGBFA-C Factor a band matrix using Gaussian elimination. SGBFA-S DGBFA-D CGBSL-C Solve the complex band system A*X=B or CTRANS(A)*X=B using SGBSL-S the factors computed by CGBCO or CGBFA. DGBSL-D CNBCO-C Factor a band matrix using Gaussian elimination and SNBCO-S estimate the condition number. DNBCO-D CNBFA-C Factor a band matrix by elimination. SNBFA-S DNBFA-D CNBFS-C Solve a general nonsymmetric banded system of linear SNBFS-S equations. DNBFS-D CNBIR-C Solve a general nonsymmetric banded system of linear SNBIR-S equations. Iterative refinement is used to obtain an error estimate. CNBSL-C Solve a complex band system using the factors computed by SNBSL-S CNBCO or CNBFA. DNBSL-D D2C2A. Tridiagonal CGTSL-C Solve a tridiagonal linear system. SGTSL-S DGTSL-D D2C3. Triangular CTRCO-C Estimate the condition number of a triangular matrix. STRCO-S DTRCO-D CTRDI-C Compute the determinant and inverse of a triangular matrix. STRDI-S DTRDI-D CTRSL-C Solve a system of the form T*X=B or CTRANS(T)*X=B, where STRSL-S T is a triangular matrix. Here CTRANS(T) is the conjugate DTRSL-D transpose. D2D. Complex Hermitian matrices D2D1. General D2D1A. Indefinite CHICO-C Factor a complex Hermitian matrix by elimination with sym- SSICO-S metric pivoting and estimate the condition of the matrix. DSICO-D CSICO-C CHIDI-C Compute the determinant, inertia and inverse of a complex SSIDI-S Hermitian matrix using the factors obtained from CHIFA. DSISI-D CSIDI-C CHIFA-C Factor a complex Hermitian matrix by elimination SSIFA-S (symmetric pivoting). DSIFA-D CSIFA-C CHISL-C Solve the complex Hermitian system using factors obtained SSISL-S from CHIFA. DSISL-D CSISL-C CHPCO-C Factor a complex Hermitian matrix stored in packed form by SSPCO-S elimination with symmetric pivoting and estimate the DSPCO-D condition number of the matrix. CSPCO-C CHPDI-C Compute the determinant, inertia and inverse of a complex SSPDI-S Hermitian matrix stored in packed form using the factors DSPDI-D obtained from CHPFA. DSPDI-C CHPFA-C Factor a complex Hermitian matrix stored in packed form by SSPFA-S elimination with symmetric pivoting. DSPFA-D DSPFA-C CHPSL-C Solve a complex Hermitian system using factors obtained SSPSL-S from CHPFA. DSPSL-D CSPSL-C D2D1B. Positive definite CCHDC-C Compute the Cholesky decomposition of a positive definite SCHDC-S matrix. A pivoting option allows the user to estimate the DCHDC-D condition number of a positive definite matrix or determine the rank of a positive semidefinite matrix. CPOCO-C Factor a complex Hermitian positive definite matrix SPOCO-S and estimate the condition number of the matrix. DPOCO-D CPODI-C Compute the determinant and inverse of a certain complex SPODI-S Hermitian positive definite matrix using the factors DPODI-D computed by CPOCO, CPOFA, or CQRDC. CPOFA-C Factor a complex Hermitian positive definite matrix. SPOFA-S DPOFA-D CPOFS-C Solve a positive definite symmetric complex system of SPOFS-S linear equations. DPOFS-D CPOIR-C Solve a positive definite Hermitian system of linear SPOIR-S equations. Iterative refinement is used to obtain an error estimate. CPOSL-C Solve the complex Hermitian positive definite linear system SPOSL-S using the factors computed by CPOCO or CPOFA. DPOSL-D CPPCO-C Factor a complex Hermitian positive definite matrix stored SPPCO-S in packed form and estimate the condition number of the DPPCO-D matrix. CPPDI-C Compute the determinant and inverse of a complex Hermitian SPPDI-S positive definite matrix using factors from CPPCO or CPPFA. DPPDI-D CPPFA-C Factor a complex Hermitian positive definite matrix stored SPPFA-S in packed form. DPPFA-D CPPSL-C Solve the complex Hermitian positive definite system using SPPSL-S the factors computed by CPPCO or CPPFA. DPPSL-D D2D2. Positive definite banded CPBCO-C Factor a complex Hermitian positive definite matrix stored SPBCO-S in band form and estimate the condition number of the DPBCO-D matrix. CPBFA-C Factor a complex Hermitian positive definite matrix stored SPBFA-S in band form. DPBFA-D CPBSL-C Solve the complex Hermitian positive definite band system SPBSL-S using the factors computed by CPBCO or CPBFA. DPBSL-D D2D2A. Tridiagonal CPTSL-C Solve a positive definite tridiagonal linear system. SPTSL-S DPTSL-D D2E. Associated operations (e.g., matrix reorderings) SLLTI2-S SLAP Backsolve routine for LDL' Factorization. DLLTI2-D Routine to solve a system of the form L*D*L' X = B, where L is a unit lower triangular matrix and D is a diagonal matrix and ' means transpose. SS2LT-S Lower Triangle Preconditioner SLAP Set Up. DS2LT-D Routine to store the lower triangle of a matrix stored in the SLAP Column format. SSD2S-S Diagonal Scaling Preconditioner SLAP Normal Eqns Set Up. DSD2S-D Routine to compute the inverse of the diagonal of the matrix A*A', where A is stored in SLAP-Column format. SSDS-S Diagonal Scaling Preconditioner SLAP Set Up. DSDS-D Routine to compute the inverse of the diagonal of a matrix stored in the SLAP Column format. SSDSCL-S Diagonal Scaling of system Ax = b. DSDSCL-D This routine scales (and unscales) the system Ax = b by symmetric diagonal scaling. SSICS-S Incompl. Cholesky Decomposition Preconditioner SLAP Set Up. DSICS-D Routine to generate the Incomplete Cholesky decomposition, L*D*L-trans, of a symmetric positive definite matrix, A, which is stored in SLAP Column format. The unit lower triangular matrix L is stored by rows, and the inverse of the diagonal matrix D is stored. SSILUS-S Incomplete LU Decomposition Preconditioner SLAP Set Up. DSILUS-D Routine to generate the incomplete LDU decomposition of a matrix. The unit lower triangular factor L is stored by rows and the unit upper triangular factor U is stored by columns. The inverse of the diagonal matrix D is stored. No fill in is allowed. SSLLTI-S SLAP MSOLVE for LDL' (IC) Factorization. DSLLTI-D This routine acts as an interface between the SLAP generic MSOLVE calling convention and the routine that actually -1 computes (LDL') B = X. SSLUI-S SLAP MSOLVE for LDU Factorization. DSLUI-D This routine acts as an interface between the SLAP generic MSOLVE calling convention and the routine that actually -1 computes (LDU) B = X. SSLUI2-S SLAP Backsolve for LDU Factorization. DSLUI2-D Routine to solve a system of the form L*D*U X = B, where L is a unit lower triangular matrix, D is a diagonal matrix, and U is a unit upper triangular matrix. SSLUI4-S SLAP Backsolve for LDU Factorization. DSLUI4-D Routine to solve a system of the form (L*D*U)' X = B, where L is a unit lower triangular matrix, D is a diagonal matrix, and U is a unit upper triangular matrix and ' denotes transpose. SSLUTI-S SLAP MTSOLV for LDU Factorization. DSLUTI-D This routine acts as an interface between the SLAP generic MTSOLV calling convention and the routine that actually -T computes (LDU) B = X. SSMMI2-S SLAP Backsolve for LDU Factorization of Normal Equations. DSMMI2-D To solve a system of the form (L*D*U)*(L*D*U)' X = B, where L is a unit lower triangular matrix, D is a diagonal matrix, and U is a unit upper triangular matrix and ' denotes transpose. SSMMTI-S SLAP MSOLVE for LDU Factorization of Normal Equations. DSMMTI-D This routine acts as an interface between the SLAP generic MMTSLV calling convention and the routine that actually -1 computes [(LDU)*(LDU)'] B = X. D3. Determinants D3A. Real nonsymmetric matrices D3A1. General SGEDI-S Compute the determinant and inverse of a matrix using the DGEDI-D factors computed by SGECO or SGEFA. CGEDI-C D3A2. Banded SGBDI-S Compute the determinant of a band matrix using the factors DGBDI-D computed by SGBCO or SGBFA. CGBDI-C SNBDI-S Compute the determinant of a band matrix using the factors DNBDI-D computed by SNBCO or SNBFA. CNBDI-C D3A3. Triangular STRDI-S Compute the determinant and inverse of a triangular matrix. DTRDI-D CTRDI-C D3B. Real symmetric matrices D3B1. General D3B1A. Indefinite SSIDI-S Compute the determinant, inertia and inverse of a real DSIDI-D symmetric matrix using the factors from SSIFA. CHIDI-C CSIDI-C SSPDI-S Compute the determinant, inertia, inverse of a real DSPDI-D symmetric matrix stored in packed form using the factors CHPDI-C from SSPFA. CSPDI-C D3B1B. Positive definite SPODI-S Compute the determinant and inverse of a certain real DPODI-D symmetric positive definite matrix using the factors CPODI-C computed by SPOCO, SPOFA or SQRDC. SPPDI-S Compute the determinant and inverse of a real symmetric DPPDI-D positive definite matrix using factors from SPPCO or SPPFA. CPPDI-C D3B2. Positive definite banded SPBDI-S Compute the determinant of a symmetric positive definite DPBDI-D band matrix using the factors computed by SPBCO or SPBFA. CPBDI-C D3C. Complex non-Hermitian matrices D3C1. General CGEDI-C Compute the determinant and inverse of a matrix using the SGEDI-S factors computed by CGECO or CGEFA. DGEDI-D CSIDI-C Compute the determinant and inverse of a complex symmetric SSIDI-S matrix using the factors from CSIFA. DSIDI-D CHIDI-C CSPDI-C Compute the determinant and inverse of a complex symmetric SSPDI-S matrix stored in packed form using the factors from CSPFA. DSPDI-D CHPDI-C D3C2. Banded CGBDI-C Compute the determinant of a complex band matrix using the SGBDI-S factors from CGBCO or CGBFA. DGBDI-D CNBDI-C Compute the determinant of a band matrix using the factors SNBDI-S computed by CNBCO or CNBFA. DNBDI-D D3C3. Triangular CTRDI-C Compute the determinant and inverse of a triangular matrix. STRDI-S DTRDI-D D3D. Complex Hermitian matrices D3D1. General D3D1A. Indefinite CHIDI-C Compute the determinant, inertia and inverse of a complex SSIDI-S Hermitian matrix using the factors obtained from CHIFA. DSISI-D CSIDI-C CHPDI-C Compute the determinant, inertia and inverse of a complex SSPDI-S Hermitian matrix stored in packed form using the factors DSPDI-D obtained from CHPFA. DSPDI-C D3D1B. Positive definite CPODI-C Compute the determinant and inverse of a certain complex SPODI-S Hermitian positive definite matrix using the factors DPODI-D computed by CPOCO, CPOFA, or CQRDC. CPPDI-C Compute the determinant and inverse of a complex Hermitian SPPDI-S positive definite matrix using factors from CPPCO or CPPFA. DPPDI-D D3D2. Positive definite banded CPBDI-C Compute the determinant of a complex Hermitian positive SPBDI-S definite band matrix using the factors computed by CPBCO or DPBDI-D CPBFA. D4. Eigenvalues, eigenvectors EISDOC-A Documentation for EISPACK, a collection of subprograms for solving matrix eigen-problems. D4A. Ordinary eigenvalue problems (Ax = (lambda) * x) D4A1. Real symmetric RS-S Compute the eigenvalues and, optionally, the eigenvectors CH-C of a real symmetric matrix. RSP-S Compute the eigenvalues and, optionally, the eigenvectors of a real symmetric matrix packed into a one dimensional array. SSIEV-S Compute the eigenvalues and, optionally, the eigenvectors CHIEV-C of a real symmetric matrix. SSPEV-S Compute the eigenvalues and, optionally, the eigenvectors of a real symmetric matrix stored in packed form. D4A2. Real nonsymmetric RG-S Compute the eigenvalues and, optionally, the eigenvectors CG-C of a real general matrix. SGEEV-S Compute the eigenvalues and, optionally, the eigenvectors CGEEV-C of a real general matrix. D4A3. Complex Hermitian CH-C Compute the eigenvalues and, optionally, the eigenvectors RS-S of a complex Hermitian matrix. CHIEV-C Compute the eigenvalues and, optionally, the eigenvectors SSIEV-S of a complex Hermitian matrix. D4A4. Complex non-Hermitian CG-C Compute the eigenvalues and, optionally, the eigenvectors RG-S of a complex general matrix. CGEEV-C Compute the eigenvalues and, optionally, the eigenvectors SGEEV-S of a complex general matrix. D4A5. Tridiagonal BISECT-S Compute the eigenvalues of a symmetric tridiagonal matrix in a given interval using Sturm sequencing. IMTQL1-S Compute the eigenvalues of a symmetric tridiagonal matrix using the implicit QL method. IMTQL2-S Compute the eigenvalues and eigenvectors of a symmetric tridiagonal matrix using the implicit QL method. IMTQLV-S Compute the eigenvalues of a symmetric tridiagonal matrix using the implicit QL method. Eigenvectors may be computed later. RATQR-S Compute the largest or smallest eigenvalues of a symmetric tridiagonal matrix using the rational QR method with Newton correction. RST-S Compute the eigenvalues and, optionally, the eigenvectors of a real symmetric tridiagonal matrix. RT-S Compute the eigenvalues and eigenvectors of a special real tridiagonal matrix. TQL1-S Compute the eigenvalues of symmetric tridiagonal matrix by the QL method. TQL2-S Compute the eigenvalues and eigenvectors of symmetric tridiagonal matrix. TQLRAT-S Compute the eigenvalues of symmetric tridiagonal matrix using a rational variant of the QL method. TRIDIB-S Compute the eigenvalues of a symmetric tridiagonal matrix in a given interval using Sturm sequencing. TSTURM-S Find those eigenvalues of a symmetric tridiagonal matrix in a given interval and their associated eigenvectors by Sturm sequencing. D4A6. Banded BQR-S Compute some of the eigenvalues of a real symmetric matrix using the QR method with shifts of origin. RSB-S Compute the eigenvalues and, optionally, the eigenvectors of a symmetric band matrix. D4B. Generalized eigenvalue problems (e.g., Ax = (lambda)*Bx) D4B1. Real symmetric RSG-S Compute the eigenvalues and, optionally, the eigenvectors of a symmetric generalized eigenproblem. RSGAB-S Compute the eigenvalues and, optionally, the eigenvectors of a symmetric generalized eigenproblem. RSGBA-S Compute the eigenvalues and, optionally, the eigenvectors of a symmetric generalized eigenproblem. D4B2. Real general RGG-S Compute the eigenvalues and eigenvectors for a real generalized eigenproblem. D4C. Associated operations D4C1. Transform problem D4C1A. Balance matrix BALANC-S Balance a real general matrix and isolate eigenvalues CBAL-C whenever possible. D4C1B. Reduce to compact form D4C1B1. Tridiagonal BANDR-S Reduce a real symmetric band matrix to symmetric tridiagonal matrix and, optionally, accumulate orthogonal similarity transformations. HTRID3-S Reduce a complex Hermitian (packed) matrix to a real symmetric tridiagonal matrix by unitary similarity transformations. HTRIDI-S Reduce a complex Hermitian matrix to a real symmetric tridiagonal matrix using unitary similarity transformations. TRED1-S Reduce a real symmetric matrix to symmetric tridiagonal matrix using orthogonal similarity transformations. TRED2-S Reduce a real symmetric matrix to a symmetric tridiagonal matrix using and accumulating orthogonal transformations. TRED3-S Reduce a real symmetric matrix stored in packed form to symmetric tridiagonal matrix using orthogonal transformations. D4C1B2. Hessenberg ELMHES-S Reduce a real general matrix to upper Hessenberg form COMHES-C using stabilized elementary similarity transformations. ORTHES-S Reduce a real general matrix to upper Hessenberg form CORTH-C using orthogonal similarity transformations. D4C1B3. Other QZHES-S The first step of the QZ algorithm for solving generalized matrix eigenproblems. Accepts a pair of real general matrices and reduces one of them to upper Hessenberg and the other to upper triangular form using orthogonal transformations. Usually followed by QZIT, QZVAL, QZVEC. QZIT-S The second step of the QZ algorithm for generalized eigenproblems. Accepts an upper Hessenberg and an upper triangular matrix and reduces the former to quasi-triangular form while preserving the form of the latter. Usually preceded by QZHES and followed by QZVAL and QZVEC. D4C1C. Standardize problem FIGI-S Transforms certain real non-symmetric tridiagonal matrix to symmetric tridiagonal matrix. FIGI2-S Transforms certain real non-symmetric tridiagonal matrix to symmetric tridiagonal matrix. REDUC-S Reduce a generalized symmetric eigenproblem to a standard symmetric eigenproblem using Cholesky factorization. REDUC2-S Reduce a certain generalized symmetric eigenproblem to a standard symmetric eigenproblem using Cholesky factorization. D4C2. Compute eigenvalues of matrix in compact form D4C2A. Tridiagonal BISECT-S Compute the eigenvalues of a symmetric tridiagonal matrix in a given interval using Sturm sequencing. IMTQL1-S Compute the eigenvalues of a symmetric tridiagonal matrix using the implicit QL method. IMTQL2-S Compute the eigenvalues and eigenvectors of a symmetric tridiagonal matrix using the implicit QL method. IMTQLV-S Compute the eigenvalues of a symmetric tridiagonal matrix using the implicit QL method. Eigenvectors may be computed later. RATQR-S Compute the largest or smallest eigenvalues of a symmetric tridiagonal matrix using the rational QR method with Newton correction. TQL1-S Compute the eigenvalues of symmetric tridiagonal matrix by the QL method. TQL2-S Compute the eigenvalues and eigenvectors of symmetric tridiagonal matrix. TQLRAT-S Compute the eigenvalues of symmetric tridiagonal matrix using a rational variant of the QL method. TRIDIB-S Compute the eigenvalues of a symmetric tridiagonal matrix in a given interval using Sturm sequencing. TSTURM-S Find those eigenvalues of a symmetric tridiagonal matrix in a given interval and their associated eigenvectors by Sturm sequencing. D4C2B. Hessenberg COMLR-C Compute the eigenvalues of a complex upper Hessenberg matrix using the modified LR method. COMLR2-C Compute the eigenvalues and eigenvectors of a complex upper Hessenberg matrix using the modified LR method. HQR-S Compute the eigenvalues of a real upper Hessenberg matrix COMQR-C using the QR method. HQR2-S Compute the eigenvalues and eigenvectors of a real upper COMQR2-C Hessenberg matrix using QR method. INVIT-S Compute the eigenvectors of a real upper Hessenberg CINVIT-C matrix associated with specified eigenvalues by inverse iteration. D4C2C. Other QZVAL-S The third step of the QZ algorithm for generalized eigenproblems. Accepts a pair of real matrices, one in quasi-triangular form and the other in upper triangular form and computes the eigenvalues of the associated eigenproblem. Usually preceded by QZHES, QZIT, and followed by QZVEC. D4C3. Form eigenvectors from eigenvalues BANDV-S Form the eigenvectors of a real symmetric band matrix associated with a set of ordered approximate eigenvalues by inverse iteration. QZVEC-S The optional fourth step of the QZ algorithm for generalized eigenproblems. Accepts a matrix in quasi-triangular form and another in upper triangular and computes the eigenvectors of the triangular problem and transforms them back to the original coordinates Usually preceded by QZHES, QZIT, and QZVAL. TINVIT-S Compute the eigenvectors of symmetric tridiagonal matrix corresponding to specified eigenvalues, using inverse iteration. D4C4. Back transform eigenvectors BAKVEC-S Form the eigenvectors of a certain real non-symmetric tridiagonal matrix from a symmetric tridiagonal matrix output from FIGI. BALBAK-S Form the eigenvectors of a real general matrix from the CBABK2-C eigenvectors of matrix output from BALANC. ELMBAK-S Form the eigenvectors of a real general matrix from the COMBAK-C eigenvectors of the upper Hessenberg matrix output from ELMHES. ELTRAN-S Accumulates the stabilized elementary similarity transformations used in the reduction of a real general matrix to upper Hessenberg form by ELMHES. HTRIB3-S Compute the eigenvectors of a complex Hermitian matrix from the eigenvectors of a real symmetric tridiagonal matrix output from HTRID3. HTRIBK-S Form the eigenvectors of a complex Hermitian matrix from the eigenvectors of a real symmetric tridiagonal matrix output from HTRIDI. ORTBAK-S Form the eigenvectors of a general real matrix from the CORTB-C eigenvectors of the upper Hessenberg matrix output from ORTHES. ORTRAN-S Accumulate orthogonal similarity transformations in the reduction of real general matrix by ORTHES. REBAK-S Form the eigenvectors of a generalized symmetric eigensystem from the eigenvectors of derived matrix output from REDUC or REDUC2. REBAKB-S Form the eigenvectors of a generalized symmetric eigensystem from the eigenvectors of derived matrix output from REDUC2. TRBAK1-S Form the eigenvectors of real symmetric matrix from the eigenvectors of a symmetric tridiagonal matrix formed by TRED1. TRBAK3-S Form the eigenvectors of a real symmetric matrix from the eigenvectors of a symmetric tridiagonal matrix formed by TRED3. D5. QR decomposition, Gram-Schmidt orthogonalization LLSIA-S Solve a linear least squares problems by performing a QR DLLSIA-D factorization of the matrix using Householder transformations. Emphasis is put on detecting possible rank deficiency. SGLSS-S Solve a linear least squares problems by performing a QR DGLSS-D factorization of the matrix using Householder transformations. Emphasis is put on detecting possible rank deficiency. SQRDC-S Use Householder transformations to compute the QR DQRDC-D factorization of an N by P matrix. Column pivoting is a CQRDC-C users option. D6. Singular value decomposition SSVDC-S Perform the singular value decomposition of a rectangular DSVDC-D matrix. CSVDC-C D7. Update matrix decompositions D7B. Cholesky SCHDD-S Downdate an augmented Cholesky decomposition or the DCHDD-D triangular factor of an augmented QR decomposition. CCHDD-C SCHEX-S Update the Cholesky factorization A=TRANS(R)*R of A DCHEX-D positive definite matrix A of order P under diagonal CCHEX-C permutations of the form TRANS(E)*A*E, where E is a permutation matrix. SCHUD-S Update an augmented Cholesky decomposition of the DCHUD-D triangular part of an augmented QR decomposition. CCHUD-C D9. Overdetermined or underdetermined systems of equations, singular systems, pseudo-inverses (search also classes D5, D6, K1a, L8a) BNDACC-S Compute the LU factorization of a banded matrices using DBNDAC-D sequential accumulation of rows of the data matrix. Exactly one right-hand side vector is permitted. BNDSOL-S Solve the least squares problem for a banded matrix using DBNDSL-D sequential accumulation of rows of the data matrix. Exactly one right-hand side vector is permitted. HFTI-S Solve a linear least squares problems by performing a QR DHFTI-D factorization of the matrix using Householder transformations. LLSIA-S Solve a linear least squares problems by performing a QR DLLSIA-D factorization of the matrix using Householder transformations. Emphasis is put on detecting possible rank deficiency. LSEI-S Solve a linearly constrained least squares problem with DLSEI-D equality and inequality constraints, and optionally compute a covariance matrix. MINFIT-S Compute the singular value decomposition of a rectangular matrix and solve the related linear least squares problem. SGLSS-S Solve a linear least squares problems by performing a QR DGLSS-D factorization of the matrix using Householder transformations. Emphasis is put on detecting possible rank deficiency. SQRSL-S Apply the output of SQRDC to compute coordinate transfor- DQRSL-D mations, projections, and least squares solutions. CQRSL-C ULSIA-S Solve an underdetermined linear system of equations by DULSIA-D performing an LQ factorization of the matrix using Householder transformations. Emphasis is put on detecting possible rank deficiency. E. Interpolation BSPDOC-A Documentation for BSPLINE, a package of subprograms for working with piecewise polynomial functions in B-representation. E1. Univariate data (curve fitting) E1A. Polynomial splines (piecewise polynomials) BINT4-S Compute the B-representation of a cubic spline DBINT4-D which interpolates given data. BINTK-S Compute the B-representation of a spline which interpolates DBINTK-D given data. BSPDOC-A Documentation for BSPLINE, a package of subprograms for working with piecewise polynomial functions in B-representation. PCHDOC-A Documentation for PCHIP, a Fortran package for piecewise cubic Hermite interpolation of data. PCHIC-S Set derivatives needed to determine a piecewise monotone DPCHIC-D piecewise cubic Hermite interpolant to given data. User control is available over boundary conditions and/or treatment of points where monotonicity switches direction. PCHIM-S Set derivatives needed to determine a monotone piecewise DPCHIM-D cubic Hermite interpolant to given data. Boundary values are provided which are compatible with monotonicity. The interpolant will have an extremum at each point where mono- tonicity switches direction. (See PCHIC if user control is desired over boundary or switch conditions.) PCHSP-S Set derivatives needed to determine the Hermite represen- DPCHSP-D tation of the cubic spline interpolant to given data, with specified boundary conditions. E1B. Polynomials POLCOF-S Compute the coefficients of the polynomial fit (including DPOLCF-D Hermite polynomial fits) produced by a previous call to POLINT. POLINT-S Produce the polynomial which interpolates a set of discrete DPLINT-D data points. E3. Service routines (e.g., grid generation, evaluation of fitted functions) (search also class N5) BFQAD-S Compute the integral of a product of a function and a DBFQAD-D derivative of a B-spline. BSPDR-S Use the B-representation to construct a divided difference DBSPDR-D table preparatory to a (right) derivative calculation. BSPEV-S Calculate the value of the spline and its derivatives from DBSPEV-D the B-representation. BSPPP-S Convert the B-representation of a B-spline to the piecewise DBSPPP-D polynomial (PP) form. BSPVD-S Calculate the value and all derivatives of order less than DBSPVD-D NDERIV of all basis functions which do not vanish at X. BSPVN-S Calculate the value of all (possibly) nonzero basis DBSPVN-D functions at X. BSQAD-S Compute the integral of a K-th order B-spline using the DBSQAD-D B-representation. BVALU-S Evaluate the B-representation of a B-spline at X for the DBVALU-D function value or any of its derivatives. CHFDV-S Evaluate a cubic polynomial given in Hermite form and its DCHFDV-D first derivative at an array of points. While designed for use by PCHFD, it may be useful directly as an evaluator for a piecewise cubic Hermite function in applications, such as graphing, where the interval is known in advance. If only function values are required, use CHFEV instead. CHFEV-S Evaluate a cubic polynomial given in Hermite form at an DCHFEV-D array of points. While designed for use by PCHFE, it may be useful directly as an evaluator for a piecewise cubic Hermite function in applications, such as graphing, where the interval is known in advance. INTRV-S Compute the largest integer ILEFT in 1 .LE. ILEFT .LE. LXT DINTRV-D such that XT(ILEFT) .LE. X where XT(*) is a subdivision of the X interval. PCHBS-S Piecewise Cubic Hermite to B-Spline converter. DPCHBS-D PCHCM-S Check a cubic Hermite function for monotonicity. DPCHCM-D PCHFD-S Evaluate a piecewise cubic Hermite function and its first DPCHFD-D derivative at an array of points. May be used by itself for Hermite interpolation, or as an evaluator for PCHIM or PCHIC. If only function values are required, use PCHFE instead. PCHFE-S Evaluate a piecewise cubic Hermite function at an array of DPCHFE-D points. May be used by itself for Hermite interpolation, or as an evaluator for PCHIM or PCHIC. PCHIA-S Evaluate the definite integral of a piecewise cubic DPCHIA-D Hermite function over an arbitrary interval. PCHID-S Evaluate the definite integral of a piecewise cubic DPCHID-D Hermite function over an interval whose endpoints are data points. PFQAD-S Compute the integral on (X1,X2) of a product of a function DPFQAD-D F and the ID-th derivative of a B-spline, (PP-representation). POLYVL-S Calculate the value of a polynomial and its first NDER DPOLVL-D derivatives where the polynomial was produced by a previous call to POLINT. PPQAD-S Compute the integral on (X1,X2) of a K-th order B-spline DPPQAD-D using the piecewise polynomial (PP) representation. PPVAL-S Calculate the value of the IDERIV-th derivative of the DPPVAL-D B-spline from the PP-representation. F. Solution of nonlinear equations F1. Single equation F1A. Smooth F1A1. Polynomial F1A1A. Real coefficients RPQR79-S Find the zeros of a polynomial with real coefficients. CPQR79-C RPZERO-S Find the zeros of a polynomial with real coefficients. CPZERO-C F1A1B. Complex coefficients CPQR79-C Find the zeros of a polynomial with complex coefficients. RPQR79-S CPZERO-C Find the zeros of a polynomial with complex coefficients. RPZERO-S F1B. General (no smoothness assumed) FZERO-S Search for a zero of a function F(X) in a given interval DFZERO-D (B,C). It is designed primarily for problems where F(B) and F(C) have opposite signs. F2. System of equations F2A. Smooth SNSQ-S Find a zero of a system of a N nonlinear functions in N DNSQ-D variables by a modification of the Powell hybrid method. SNSQE-S An easy-to-use code to find a zero of a system of N DNSQE-D nonlinear functions in N variables by a modification of the Powell hybrid method. SOS-S Solve a square system of nonlinear equations. DSOS-D F3. Service routines (e.g., check user-supplied derivatives) CHKDER-S Check the gradients of M nonlinear functions in N DCKDER-D variables, evaluated at a point X, for consistency with the functions themselves. G. Optimization (search also classes K, L8) G2. Constrained G2A. Linear programming G2A2. Sparse matrix of constraints SPLP-S Solve linear programming problems involving at DSPLP-D most a few thousand constraints and variables. Takes advantage of sparsity in the constraint matrix. G2E. Quadratic programming SBOCLS-S Solve the bounded and constrained least squares DBOCLS-D problem consisting of solving the equation E*X = F (in the least squares sense) subject to the linear constraints C*X = Y. SBOLS-S Solve the problem DBOLS-D E*X = F (in the least squares sense) with bounds on selected X values. G2H. General nonlinear programming G2H1. Simple bounds SBOCLS-S Solve the bounded and constrained least squares DBOCLS-D problem consisting of solving the equation E*X = F (in the least squares sense) subject to the linear constraints C*X = Y. SBOLS-S Solve the problem DBOLS-D E*X = F (in the least squares sense) with bounds on selected X values. G2H2. Linear equality or inequality constraints SBOCLS-S Solve the bounded and constrained least squares DBOCLS-D problem consisting of solving the equation E*X = F (in the least squares sense) subject to the linear constraints C*X = Y. SBOLS-S Solve the problem DBOLS-D E*X = F (in the least squares sense) with bounds on selected X values. G4. Service routines G4C. Check user-supplied derivatives CHKDER-S Check the gradients of M nonlinear functions in N DCKDER-D variables, evaluated at a point X, for consistency with the functions themselves. H. Differentiation, integration H1. Numerical differentiation CHFDV-S Evaluate a cubic polynomial given in Hermite form and its DCHFDV-D first derivative at an array of points. While designed for use by PCHFD, it may be useful directly as an evaluator for a piecewise cubic Hermite function in applications, such as graphing, where the interval is known in advance. If only function values are required, use CHFEV instead. PCHFD-S Evaluate a piecewise cubic Hermite function and its first DPCHFD-D derivative at an array of points. May be used by itself for Hermite interpolation, or as an evaluator for PCHIM or PCHIC. If only function values are required, use PCHFE instead. H2. Quadrature (numerical evaluation of definite integrals) QPDOC-A Documentation for QUADPACK, a package of subprograms for automatic evaluation of one-dimensional definite integrals. H2A. One-dimensional integrals H2A1. Finite interval (general integrand) H2A1A. Integrand available via user-defined procedure H2A1A1. Automatic (user need only specify required accuracy) GAUS8-S Integrate a real function of one variable over a finite DGAUS8-D interval using an adaptive 8-point Legendre-Gauss algorithm. Intended primarily for high accuracy integration or integration of smooth functions. QAG-S The routine calculates an approximation result to a given DQAG-D definite integral I = integral of F over (A,B), hopefully satisfying following claim for accuracy ABS(I-RESULT)LE.MAX(EPSABS,EPSREL*ABS(I)). QAGE-S The routine calculates an approximation result to a given DQAGE-D definite integral I = Integral of F over (A,B), hopefully satisfying following claim for accuracy ABS(I-RESLT).LE.MAX(EPSABS,EPSREL*ABS(I)). QAGS-S The routine calculates an approximation result to a given DQAGS-D Definite integral I = Integral of F over (A,B), Hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). QAGSE-S The routine calculates an approximation result to a given DQAGSE-D definite integral I = Integral of F over (A,B), hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). QNC79-S Integrate a function using a 7-point adaptive Newton-Cotes DQNC79-D quadrature rule. QNG-S The routine calculates an approximation result to a DQNG-D given definite integral I = integral of F over (A,B), hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). H2A1A2. Nonautomatic QK15-S To compute I = Integral of F over (A,B), with error DQK15-D estimate J = integral of ABS(F) over (A,B) QK21-S To compute I = Integral of F over (A,B), with error DQK21-D estimate J = Integral of ABS(F) over (A,B) QK31-S To compute I = Integral of F over (A,B) with error DQK31-D estimate J = Integral of ABS(F) over (A,B) QK41-S To compute I = Integral of F over (A,B), with error DQK41-D estimate J = Integral of ABS(F) over (A,B) QK51-S To compute I = Integral of F over (A,B) with error DQK51-D estimate J = Integral of ABS(F) over (A,B) QK61-S To compute I = Integral of F over (A,B) with error DQK61-D estimate J = Integral of ABS(F) over (A,B) H2A1B. Integrand available only on grid H2A1B2. Nonautomatic AVINT-S Integrate a function tabulated at arbitrarily spaced DAVINT-D abscissas using overlapping parabolas. PCHIA-S Evaluate the definite integral of a piecewise cubic DPCHIA-D Hermite function over an arbitrary interval. PCHID-S Evaluate the definite integral of a piecewise cubic DPCHID-D Hermite function over an interval whose endpoints are data points. H2A2. Finite interval (specific or special type integrand including weight functions, oscillating and singular integrands, principal value integrals, splines, etc.) H2A2A. Integrand available via user-defined procedure H2A2A1. Automatic (user need only specify required accuracy) BFQAD-S Compute the integral of a product of a function and a DBFQAD-D derivative of a B-spline. BSQAD-S Compute the integral of a K-th order B-spline using the DBSQAD-D B-representation. PFQAD-S Compute the integral on (X1,X2) of a product of a function DPFQAD-D F and the ID-th derivative of a B-spline, (PP-representation). PPQAD-S Compute the integral on (X1,X2) of a K-th order B-spline DPPQAD-D using the piecewise polynomial (PP) representation. QAGP-S The routine calculates an approximation result to a given DQAGP-D definite integral I = Integral of F over (A,B), hopefully satisfying following claim for accuracy break points of the integration interval, where local difficulties of the integrand may occur(e.g. SINGULARITIES, DISCONTINUITIES), are provided by the user. QAGPE-S Approximate a given definite integral I = Integral of F DQAGPE-D over (A,B), hopefully satisfying the accuracy claim: ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). Break points of the integration interval, where local difficulties of the integrand may occur (e.g. singularities or discontinuities) are provided by the user. QAWC-S The routine calculates an approximation result to a DQAWC-D Cauchy principal value I = INTEGRAL of F*W over (A,B) (W(X) = 1/((X-C), C.NE.A, C.NE.B), hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABE,EPSREL*ABS(I)). QAWCE-S The routine calculates an approximation result to a DQAWCE-D CAUCHY PRINCIPAL VALUE I = Integral of F*W over (A,B) (W(X) = 1/(X-C), (C.NE.A, C.NE.B), hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)) QAWO-S Calculate an approximation to a given definite integral DQAWO-D I = Integral of F(X)*W(X) over (A,B), where W(X) = COS(OMEGA*X) or W(X) = SIN(OMEGA*X), hopefully satisfying the following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). QAWOE-S Calculate an approximation to a given definite integral DQAWOE-D I = Integral of F(X)*W(X) over (A,B), where W(X) = COS(OMEGA*X) or W(X) = SIN(OMEGA*X), hopefully satisfying the following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). QAWS-S The routine calculates an approximation result to a given DQAWS-D definite integral I = Integral of F*W over (A,B), (where W shows a singular behaviour at the end points see parameter INTEGR). Hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). QAWSE-S The routine calculates an approximation result to a given DQAWSE-D definite integral I = Integral of F*W over (A,B), (where W shows a singular behaviour at the end points, see parameter INTEGR). Hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). QMOMO-S This routine computes modified Chebyshev moments. The K-th DQMOMO-D modified Chebyshev moment is defined as the integral over (-1,1) of W(X)*T(K,X), where T(K,X) is the Chebyshev polynomial of degree K. H2A2A2. Nonautomatic QC25C-S To compute I = Integral of F*W over (A,B) with DQC25C-D error estimate, where W(X) = 1/(X-C) QC25F-S To compute the integral I=Integral of F(X) over (A,B) DQC25F-D Where W(X) = COS(OMEGA*X) Or (WX)=SIN(OMEGA*X) and to compute J=Integral of ABS(F) over (A,B). For small value of OMEGA or small intervals (A,B) 15-point GAUSS- KRONROD Rule used. Otherwise generalized CLENSHAW-CURTIS us QC25S-S To compute I = Integral of F*W over (BL,BR), with error DQC25S-D estimate, where the weight function W has a singular behaviour of ALGEBRAICO-LOGARITHMIC type at the points A and/or B. (BL,BR) is a part of (A,B). QK15W-S To compute I = Integral of F*W over (A,B), with error DQK15W-D estimate J = Integral of ABS(F*W) over (A,B) H2A3. Semi-infinite interval (including e**(-x) weight function) H2A3A. Integrand available via user-defined procedure H2A3A1. Automatic (user need only specify required accuracy) QAGI-S The routine calculates an approximation result to a given DQAGI-D 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)). QAGIE-S The routine calculates an approximation result to a given DQAGIE-D 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)) QAWF-S The routine calculates an approximation result to a given DQAWF-D Fourier integral I = Integral of F(X)*W(X) over (A,INFINITY) where W(X) = COS(OMEGA*X) or W(X) = SIN(OMEGA*X). Hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.EPSABS. QAWFE-S The routine calculates an approximation result to a DQAWFE-D given Fourier integral I = Integral of F(X)*W(X) over (A,INFINITY) where W(X) = COS(OMEGA*X) or W(X) = SIN(OMEGA*X), hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.EPSABS. H2A3A2. Nonautomatic QK15I-S The original (infinite integration range is mapped DQK15I-D onto the interval (0,1) and (A,B) is a part of (0,1). it is the purpose to compute I = Integral of transformed integrand over (A,B), J = Integral of ABS(Transformed Integrand) over (A,B). H2A4. Infinite interval (including e**(-x**2)) weight function) H2A4A. Integrand available via user-defined procedure H2A4A1. Automatic (user need only specify required accuracy) QAGI-S The routine calculates an approximation result to a given DQAGI-D 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)). QAGIE-S The routine calculates an approximation result to a given DQAGIE-D 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)) H2A4A2. Nonautomatic QK15I-S The original (infinite integration range is mapped DQK15I-D onto the interval (0,1) and (A,B) is a part of (0,1). it is the purpose to compute I = Integral of transformed integrand over (A,B), J = Integral of ABS(Transformed Integrand) over (A,B). I. Differential and integral equations I1. Ordinary differential equations I1A. Initial value problems I1A1. General, nonstiff or mildly stiff I1A1A. One-step methods (e.g., Runge-Kutta) DERKF-S Solve an initial value problem in ordinary differential DDERKF-D equations using a Runge-Kutta-Fehlberg scheme. I1A1B. Multistep methods (e.g., Adams' predictor-corrector) DEABM-S Solve an initial value problem in ordinary differential DDEABM-D equations using an Adams-Bashforth method. SDRIV1-S The function of SDRIV1 is to solve N (200 or fewer) DDRIV1-D ordinary differential equations of the form CDRIV1-C dY(I)/dT = F(Y(I),T), given the initial conditions Y(I) = YI. SDRIV1 uses single precision arithmetic. SDRIV2-S The function of SDRIV2 is to solve N ordinary differential DDRIV2-D equations of the form dY(I)/dT = F(Y(I),T), given the CDRIV2-C initial conditions Y(I) = YI. The program has options to allow the solution of both stiff and non-stiff differential equations. SDRIV2 uses single precision arithmetic. SDRIV3-S The function of SDRIV3 is to solve N ordinary differential DDRIV3-D equations of the form dY(I)/dT = F(Y(I),T), given the CDRIV3-C initial conditions Y(I) = YI. The program has options to allow the solution of both stiff and non-stiff differential equations. Other important options are available. SDRIV3 uses single precision arithmetic. SINTRP-S Approximate the solution at XOUT by evaluating the DINTP-D polynomial computed in STEPS at XOUT. Must be used in conjunction with STEPS. STEPS-S Integrate a system of first order ordinary differential DSTEPS-D equations one step. I1A2. Stiff and mixed algebraic-differential equations DEBDF-S Solve an initial value problem in ordinary differential DDEBDF-D equations using backward differentiation formulas. It is intended primarily for stiff problems. SDASSL-S This code solves a system of differential/algebraic DDASSL-D equations of the form G(T,Y,YPRIME) = 0. SDRIV1-S The function of SDRIV1 is to solve N (200 or fewer) DDRIV1-D ordinary differential equations of the form CDRIV1-C dY(I)/dT = F(Y(I),T), given the initial conditions Y(I) = YI. SDRIV1 uses single precision arithmetic. SDRIV2-S The function of SDRIV2 is to solve N ordinary differential DDRIV2-D equations of the form dY(I)/dT = F(Y(I),T), given the CDRIV2-C initial conditions Y(I) = YI. The program has options to allow the solution of both stiff and non-stiff differential equations. SDRIV2 uses single precision arithmetic. SDRIV3-S The function of SDRIV3 is to solve N ordinary differential DDRIV3-D equations of the form dY(I)/dT = F(Y(I),T), given the CDRIV3-C initial conditions Y(I) = YI. The program has options to allow the solution of both stiff and non-stiff differential equations. Other important options are available. SDRIV3 uses single precision arithmetic. I1B. Multipoint boundary value problems I1B1. Linear BVSUP-S Solve a linear two-point boundary value problem using DBVSUP-D superposition coupled with an orthonormalization procedure and a variable-step integration scheme. I2. Partial differential equations I2B. Elliptic boundary value problems I2B1. Linear I2B1A. Second order I2B1A1. Poisson (Laplace) or Helmholz equation I2B1A1A. Rectangular domain (or topologically rectangular in the coordinate system) HSTCRT-S Solve the standard five-point finite difference approximation on a staggered grid to the Helmholtz equation in Cartesian coordinates. HSTCSP-S Solve the standard five-point finite difference approximation on a staggered grid to the modified Helmholtz equation in spherical coordinates assuming axisymmetry (no dependence on longitude). HSTCYL-S Solve the standard five-point finite difference approximation on a staggered grid to the modified Helmholtz equation in cylindrical coordinates. HSTPLR-S Solve the standard five-point finite difference approximation on a staggered grid to the Helmholtz equation in polar coordinates. HSTSSP-S Solve the standard five-point finite difference approximation on a staggered grid to the Helmholtz equation in spherical coordinates and on the surface of the unit sphere (radius of 1). HW3CRT-S Solve the standard seven-point finite difference approximation to the Helmholtz equation in Cartesian coordinates. HWSCRT-S Solves the standard five-point finite difference approximation to the Helmholtz equation in Cartesian coordinates. HWSCSP-S Solve a finite difference approximation to the modified Helmholtz equation in spherical coordinates assuming axisymmetry (no dependence on longitude). HWSCYL-S Solve a standard finite difference approximation to the Helmholtz equation in cylindrical coordinates. HWSPLR-S Solve a finite difference approximation to the Helmholtz equation in polar coordinates. HWSSSP-S Solve a finite difference approximation to the Helmholtz equation in spherical coordinates and on the surface of the unit sphere (radius of 1). I2B1A2. Other separable problems SEPELI-S Discretize and solve a second and, optionally, a fourth order finite difference approximation on a uniform grid to the general separable elliptic partial differential equation on a rectangle with any combination of periodic or mixed boundary conditions. SEPX4-S Solve for either the second or fourth order finite difference approximation to the solution of a separable elliptic partial differential equation on a rectangle. Any combination of periodic or mixed boundary conditions is allowed. I2B4. Service routines I2B4B. Solution of discretized elliptic equations BLKTRI-S Solve a block tridiagonal system of linear equations CBLKTR-C (usually resulting from the discretization of separable two-dimensional elliptic equations). GENBUN-S Solve by a cyclic reduction algorithm the linear system CMGNBN-C of equations that results from a finite difference approximation to certain 2-d elliptic PDE's on a centered grid . POIS3D-S Solve a three-dimensional block tridiagonal linear system which arises from a finite difference approximation to a three-dimensional Poisson equation using the Fourier transform package FFTPAK written by Paul Swarztrauber. POISTG-S Solve a block tridiagonal system of linear equations that results from a staggered grid finite difference approximation to 2-D elliptic PDE's. J. Integral transforms J1. Fast Fourier transforms (search class L10 for time series analysis) FFTDOC-A Documentation for FFTPACK, a collection of Fast Fourier Transform routines. J1A. One-dimensional J1A1. Real EZFFTB-S A simplified real, periodic, backward fast Fourier transform. EZFFTF-S Compute a simplified real, periodic, fast Fourier forward transform. EZFFTI-S Initialize a work array for EZFFTF and EZFFTB. RFFTB1-S Compute the backward fast Fourier transform of a real CFFTB1-C coefficient array. RFFTF1-S Compute the forward transform of a real, periodic sequence. CFFTF1-C RFFTI1-S Initialize a real and an integer work array for RFFTF1 and CFFTI1-C RFFTB1. J1A2. Complex CFFTB1-C Compute the unnormalized inverse of CFFTF1. RFFTB1-S CFFTF1-C Compute the forward transform of a complex, periodic RFFTF1-S sequence. CFFTI1-C Initialize a real and an integer work array for CFFTF1 and RFFTI1-S CFFTB1. J1A3. Trigonometric (sine, cosine) COSQB-S Compute the unnormalized inverse cosine transform. COSQF-S Compute the forward cosine transform with odd wave numbers. COSQI-S Initialize a work array for COSQF and COSQB. COST-S Compute the cosine transform of a real, even sequence. COSTI-S Initialize a work array for COST. SINQB-S Compute the unnormalized inverse of SINQF. SINQF-S Compute the forward sine transform with odd wave numbers. SINQI-S Initialize a work array for SINQF and SINQB. SINT-S Compute the sine transform of a real, odd sequence. SINTI-S Initialize a work array for SINT. J4. Hilbert transforms QAWC-S The routine calculates an approximation result to a DQAWC-D Cauchy principal value I = INTEGRAL of F*W over (A,B) (W(X) = 1/((X-C), C.NE.A, C.NE.B), hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABE,EPSREL*ABS(I)). QAWCE-S The routine calculates an approximation result to a DQAWCE-D CAUCHY PRINCIPAL VALUE I = Integral of F*W over (A,B) (W(X) = 1/(X-C), (C.NE.A, C.NE.B), hopefully satisfying following claim for accuracy ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)) QC25C-S To compute I = Integral of F*W over (A,B) with DQC25C-D error estimate, where W(X) = 1/(X-C) K. Approximation (search also class L8) BSPDOC-A Documentation for BSPLINE, a package of subprograms for working with piecewise polynomial functions in B-representation. K1. Least squares (L-2) approximation K1A. Linear least squares (search also classes D5, D6, D9) K1A1. Unconstrained K1A1A. Univariate data (curve fitting) K1A1A1. Polynomial splines (piecewise polynomials) EFC-S Fit a piecewise polynomial curve to discrete data. DEFC-D The piecewise polynomials are represented as B-splines. The fitting is done in a weighted least squares sense. FC-S Fit a piecewise polynomial curve to discrete data. DFC-D The piecewise polynomials are represented as B-splines. The fitting is done in a weighted least squares sense. Equality and inequality constraints can be imposed on the fitted curve. K1A1A2. Polynomials PCOEF-S Convert the POLFIT coefficients to Taylor series form. DPCOEF-D POLFIT-S Fit discrete data in a least squares sense by polynomials DPOLFT-D in one variable. K1A2. Constrained K1A2A. Linear constraints EFC-S Fit a piecewise polynomial curve to discrete data. DEFC-D The piecewise polynomials are represented as B-splines. The fitting is done in a weighted least squares sense. FC-S Fit a piecewise polynomial curve to discrete data. DFC-D The piecewise polynomials are represented as B-splines. The fitting is done in a weighted least squares sense. Equality and inequality constraints can be imposed on the fitted curve. LSEI-S Solve a linearly constrained least squares problem with DLSEI-D equality and inequality constraints, and optionally compute a covariance matrix. SBOCLS-S Solve the bounded and constrained least squares DBOCLS-D problem consisting of solving the equation E*X = F (in the least squares sense) subject to the linear constraints C*X = Y. SBOLS-S Solve the problem DBOLS-D E*X = F (in the least squares sense) with bounds on selected X values. WNNLS-S Solve a linearly constrained least squares problem with DWNNLS-D equality constraints and nonnegativity constraints on selected variables. K1B. Nonlinear least squares K1B1. Unconstrained SCOV-S Calculate the covariance matrix for a nonlinear data DCOV-D fitting problem. It is intended to be used after a successful return from either SNLS1 or SNLS1E. K1B1A. Smooth functions K1B1A1. User provides no derivatives SNLS1-S Minimize the sum of the squares of M nonlinear functions DNLS1-D in N variables by a modification of the Levenberg-Marquardt algorithm. SNLS1E-S An easy-to-use code which minimizes the sum of the squares DNLS1E-D of M nonlinear functions in N variables by a modification of the Levenberg-Marquardt algorithm. K1B1A2. User provides first derivatives SNLS1-S Minimize the sum of the squares of M nonlinear functions DNLS1-D in N variables by a modification of the Levenberg-Marquardt algorithm. SNLS1E-S An easy-to-use code which minimizes the sum of the squares DNLS1E-D of M nonlinear functions in N variables by a modification of the Levenberg-Marquardt algorithm. K6. Service routines (e.g., mesh generation, evaluation of fitted functions) (search also class N5) BFQAD-S Compute the integral of a product of a function and a DBFQAD-D derivative of a B-spline. DBSPDR-D Use the B-representation to construct a divided difference BSPDR-S table preparatory to a (right) derivative calculation. BSPEV-S Calculate the value of the spline and its derivatives from DBSPEV-D the B-representation. BSPPP-S Convert the B-representation of a B-spline to the piecewise DBSPPP-D polynomial (PP) form. BSPVD-S Calculate the value and all derivatives of order less than DBSPVD-D NDERIV of all basis functions which do not vanish at X. BSPVN-S Calculate the value of all (possibly) nonzero basis DBSPVN-D functions at X. BSQAD-S Compute the integral of a K-th order B-spline using the DBSQAD-D B-representation. BVALU-S Evaluate the B-representation of a B-spline at X for the DBVALU-D function value or any of its derivatives. INTRV-S Compute the largest integer ILEFT in 1 .LE. ILEFT .LE. LXT DINTRV-D such that XT(ILEFT) .LE. X where XT(*) is a subdivision of the X interval. PFQAD-S Compute the integral on (X1,X2) of a product of a function DPFQAD-D F and the ID-th derivative of a B-spline, (PP-representation). PPQAD-S Compute the integral on (X1,X2) of a K-th order B-spline DPPQAD-D using the piecewise polynomial (PP) representation. PPVAL-S Calculate the value of the IDERIV-th derivative of the DPPVAL-D B-spline from the PP-representation. PVALUE-S Use the coefficients generated by POLFIT to evaluate the DP1VLU-D polynomial fit of degree L, along with the first NDER of its derivatives, at a specified point. L. Statistics, probability L5. Function evaluation (search also class C) L5A. Univariate L5A1. Cumulative distribution functions, probability density functions L5A1E. Error function, exponential, extreme value ERF-S Compute the error function. DERF-D ERFC-S Compute the complementary error function. DERFC-D L6. Pseudo-random number generation L6A. Univariate L6A14. Negative binomial, normal RGAUSS-S Generate a normally distributed (Gaussian) random number. L6A21. Uniform RAND-S Generate a uniformly distributed random number. RUNIF-S Generate a uniformly distributed random number. L7. Experimental design, including analysis of variance L7A. Univariate L7A3. Analysis of covariance CV-S Evaluate the variance function of the curve obtained DCV-D by the constrained B-spline fitting subprogram FC. L8. Regression (search also classes G, K) L8A. Linear least squares (L-2) (search also classes D5, D6, D9) L8A3. Piecewise polynomial (i.e. multiphase or spline) EFC-S Fit a piecewise polynomial curve to discrete data. DEFC-D The piecewise polynomials are represented as B-splines. The fitting is done in a weighted least squares sense. FC-S Fit a piecewise polynomial curve to discrete data. DFC-D The piecewise polynomials are represented as B-splines. The fitting is done in a weighted least squares sense. Equality and inequality constraints can be imposed on the fitted curve. N. Data handling (search also class L2) N1. Input, output SBHIN-S Read a Sparse Linear System in the Boeing/Harwell Format. DBHIN-D The matrix is read in and if the right hand side is also present in the input file then it too is read in. The matrix is then modified to be in the SLAP Column format. SCPPLT-S Printer Plot of SLAP Column Format Matrix. DCPPLT-D Routine to print out a SLAP Column format matrix in a "printer plot" graphical representation. STIN-S Read in SLAP Triad Format Linear System. DTIN-D Routine to read in a SLAP Triad format matrix and right hand side and solution to the system, if known. STOUT-S Write out SLAP Triad Format Linear System. DTOUT-D Routine to write out a SLAP Triad format matrix and right hand side and solution to the system, if known. N6. Sorting N6A. Internal N6A1. Passive (i.e. construct pointer array, rank) N6A1A. Integer IPSORT-I Return the permutation vector generated by sorting a given SPSORT-S array and, optionally, rearrange the elements of the array. DPSORT-D The array may be sorted in increasing or decreasing order. HPSORT-H A slightly modified quicksort algorithm is used. N6A1B. Real SPSORT-S Return the permutation vector generated by sorting a given DPSORT-D array and, optionally, rearrange the elements of the array. IPSORT-I The array may be sorted in increasing or decreasing order. HPSORT-H A slightly modified quicksort algorithm is used. N6A1C. Character HPSORT-H Return the permutation vector generated by sorting a SPSORT-S substring within a character array and, optionally, DPSORT-D rearrange the elements of the array. The array may be IPSORT-I sorted in forward or reverse lexicographical order. A slightly modified quicksort algorithm is used. N6A2. Active N6A2A. Integer IPSORT-I Return the permutation vector generated by sorting a given SPSORT-S array and, optionally, rearrange the elements of the array. DPSORT-D The array may be sorted in increasing or decreasing order. HPSORT-H A slightly modified quicksort algorithm is used. ISORT-I Sort an array and optionally make the same interchanges in SSORT-S an auxiliary array. The array may be sorted in increasing DSORT-D or decreasing order. A slightly modified QUICKSORT algorithm is used. N6A2B. Real SPSORT-S Return the permutation vector generated by sorting a given DPSORT-D array and, optionally, rearrange the elements of the array. IPSORT-I The array may be sorted in increasing or decreasing order. HPSORT-H A slightly modified quicksort algorithm is used. SSORT-S Sort an array and optionally make the same interchanges in DSORT-D an auxiliary array. The array may be sorted in increasing ISORT-I or decreasing order. A slightly modified QUICKSORT algorithm is used. N6A2C. Character HPSORT-H Return the permutation vector generated by sorting a SPSORT-S substring within a character array and, optionally, DPSORT-D rearrange the elements of the array. The array may be IPSORT-I sorted in forward or reverse lexicographical order. A slightly modified quicksort algorithm is used. N8. Permuting SPPERM-S Rearrange a given array according to a prescribed DPPERM-D permutation vector. IPPERM-I HPPERM-H R. Service routines R1. Machine-dependent constants I1MACH-I Return integer machine dependent constants. R1MACH-S Return floating point machine dependent constants. D1MACH-D R2. Error checking (e.g., check monotonicity) GAMLIM-S Compute the minimum and maximum bounds for the argument in DGAMLM-D the Gamma function. R3. Error handling FDUMP-A Symbolic dump (should be locally written). R3A. Set criteria for fatal errors XSETF-A Set the error control flag. R3B. Set unit number for error messages XSETUA-A Set logical unit numbers (up to 5) to which error messages are to be sent. XSETUN-A Set output file to which error messages are to be sent. R3C. Other utility programs NUMXER-I Return the most recent error number. XERCLR-A Reset current error number to zero. XERDMP-A Print the error tables and then clear them. XERMAX-A Set maximum number of times any error message is to be printed. XERMSG-A Process error messages for SLATEC and other libraries. XGETF-A Return the current value of the error control flag. XGETUA-A Return unit number(s) to which error messages are being sent. XGETUN-A Return the (first) output file to which error messages are being sent. Z. Other AAAAAA-A SLATEC Common Mathematical Library disclaimer and version. BSPDOC-A Documentation for BSPLINE, a package of subprograms for working with piecewise polynomial functions in B-representation. EISDOC-A Documentation for EISPACK, a collection of subprograms for solving matrix eigen-problems. FFTDOC-A Documentation for FFTPACK, a collection of Fast Fourier Transform routines. FUNDOC-A Documentation for FNLIB, a collection of routines for evaluating elementary and special functions. PCHDOC-A Documentation for PCHIP, a Fortran package for piecewise cubic Hermite interpolation of data. QPDOC-A Documentation for QUADPACK, a package of subprograms for automatic evaluation of one-dimensional definite integrals. SLPDOC-S Sparse Linear Algebra Package Version 2.0.2 Documentation. DLPDOC-D Routines to solve large sparse symmetric and nonsymmetric positive definite linear systems, Ax = b, using precondi- tioned iterative methods.