STARPAC
Statistical Data Analysis Library
STARPAC
is a FORTRAN90 library which
contains a number of routines for statistical data analysis.
STARPAC uses a COMMON block and EQUIVALENCE statements
in order to make workspace storage available to its routines.
This scheme assumes that an integer is stored in one word.
When compiling this program with G95, it may be necessary
to include the i4 switch, to guarantee that integers
are stored in 4 bytes = one word. Otherwise, routines that
rely on the workspace storage system will fail.
Languages:
STARPAC is available in
a FORTRAN90 version.
Related Data and Programs:
BLAS1,
a FORTRAN90 library which
implements the
Basic Linear Algebra Subprograms, Level 1, and which are
called by STARPAC.
MACHINE,
a FORTRAN90 library which
tabulates the values
of certain machinespecific arithmetic quantities, and which are
called by STARPAC.
NL2SOL,
a FORTRAN90 library which
minimizes the
sum of squares of a set of nonlinear functions, and which is
called by STARPAC.
PROB,
a FORTRAN90 library which
computes the PDF, CDF, inverse CDF, and sampling various statistical
distributions.
UNIFORM,
a FORTRAN90 library which
carries out uniform sampling of real, complex or integer data.
XERROR,
a FORTRAN90 library which
carries out error handling.
Reference:

Milton Abramowitz, Irene Stegun,
Handbook of Mathematical Functions,
National Bureau of Standards, 1964,
LC: QA47.A34,
ISBN: 0486612724.

Peter Bloomfield,
Fourier Analysis of Time Series  An Introduction,
Wiley, 2000,
ISBN: 0471889482,
LC: QA280.B59.

Nancy Bosten, Thomas Aird,
Remark on Algorithm 179,
Communications of the ACM,
Volume 17, page 153, 1974.

George Box, Gwilym Jenkins,
Time Series Analysis: Forecasting and Control,
Prentice Hall, 1991,
ISBN: 0139051007,
LC: QA280.B67.

Kenneth Brown,
A Quadratically Convergent Newtonlike Method Based upon
Gaussian Elimination,
SIAM Journal on Numerical Analysis,
Volume 6, pages 560569, 1969.

Peter Businger, Gene Golub,
Linear Least Squares Solutions by Householder Transformations,
Numerische Mathematik,
Volume 7, pages 269276, 1965.

Alan Cline, Cleve Moler, Pete Stewart, James Wilkinson,
An Estimate of the Condition Number of a Matrix,
Technical Report TM310,
Applied Math Division,
Argonne National Laboratory, 1977.

John Dennis, David Gay, Roy Welsch,
Algorithm 573:
An Adaptive Nonlinear LeastSquares Algorithm,
ACM Transactions on Mathematical Software,
Volume 7, Number 3, 1981, pages 367383.

Janet Donaldson, Peter Tryon,
User's Guide to STARPAC,
The Standards Time Series and Regression Package,
NIST, Boulder, Colorado, 1987.

Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 9780898711721,
LC: QA214.L56.

Norman Draper, Harry Smith,
Applied Regression Analysis,
Wiley, 1998,
ISBN: 9780471170822,
LC: QA278.2.D7.

Merran Evans, Nicholas Hastings, Brian Peacock,
Statistical Distributions,
Wiley, 2000,
ISBN: 0471371246,
LC: QA273.6E92.

Enrico Federghi,
Extended Tables of the Percentage Points of Student's
TDistribution,
Journal of the American Statistical Association,
Volume 54, Number 287, 1959, pages 683688.

Phyllis Fox, Andrew Hall, Norman Schryer,
Algorithm 528,
A Framework for a Portable Library,
ACM Transactions on Mathematical Software,
Volume 4, Number 2, June 1978, pages 177188.

Walter Gautschi,
Algorithm 542:
Incomplete Gamma Functions,
ACM Transactions on Mathematical Software,
Volume 5, Number 4, December 1979, pages 382489.

David Gay,
Computing Optimal Locally Constrained Steps,
SIAM Journal on Scientific and Statistical Computing,
Volume 2, Number 2, pages 186197, 1981.

Philip Gill, Walter Murray,
Algorithms for the Solution of the
Nonlinear Leastsquares Problem,
SIAM Journal on Numerical Analysis,
Volume 15, Number 5, pages 977991, 1978.

Steven Goldfeld, Richard Quandt, Hale Trotter,
Maximization by Quadratic Hillclimbing,
Econometrica,
Volume 34, pages 541551, 1966.

MD Hebden,
An Algorithm for Minimization using Exact Second Derivatives,
Report TP515,
Theoretical Physics Division,
AERE, Harwell, Oxon., England, 1973.

DC Hoaglin,
Theoretical Properties of Congruential RandomNumber Generators,
An Empirical View,
Memorandum NS340,
Department of Statistics,
Harvard University, 1976.

Gwilym Jenkins, Donald Watts,
Spectral Analysis and its Applications,
HoldenDay, 1968,
ISBN: 1892803038,
LC: QA280.J45.

Norman Johnson, Samuel Kotz, Narayanaswamy Balakrishnan,
Continuous Univariate Distributions,
Second edition,
Wiley, 1994,
ISBN: 0471584940,
LC: QA273.6.J6

Donald Knuth,
The Art of Computer Programming,
Volume 2, Seminumerical Algorithms,
Third Edition,
Addison Wesley, 1997,
ISBN: 0201896842,
LC: QA76.6.K64.

Charles Lawson, Richard Hanson,
Solving Least Squares Problems,
SIAM, 1995,
ISBN: 0898713560,
LC: QA275.L38.

Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
Algorithm 539:
Basic Linear Algebra Subprograms for Fortran Usage,
ACM Transactions on Mathematical Software,
Volume 5, Number 3, September 1979, pages 308323.

George Marsaglia, Wai Wan Tsang,
A fast, easily implemented method for sampling from decreasing or
symmetric unimodal density functions,
SIAM Journal of Scientific and Statistical Computing,
Volume 5, 1983, pages 349359.

Jorge More,
The LevenbergMarquardt Algorithm, Implementation and Theory,
in Springer Lecture Notes in Mathematics, Number 630,
edited by G A Watson,
Springer, 1978.

Donald Owen,
Handbook of Statistical Tables,
AddisonWesley, 1962.

Egon Pearson, Herman Hartley,
Biometrika Tables for Statisticians,
Cambridge, 1970,
ISBN: 9780852647004.

Michael Powell,
A Fortran Subroutine for Solving Systems of Nonlinear
Algebraic Equations,
in Numerical Methods for Nonlinear Algebraic Equations,
edited by Philip Rabinowitz,
Gordon and Breach, 1970,
ISBN13: 9780677142302,
LC: QA218.N85.

CS Smith,
Multiplicative PseudoRandom Number Generators with Prime Modulus,
Journal of the Association for Computing Machinery,
Volume 19, pages 586593, 1971.

Richard Varga,
Minimal Gerschgorin Sets,
Pacific Journal of Mathematics,
Volume 15, pages 719729, 1965.

Max Waldmeier,
The SunspotActivity in the Years 16101960,
Shulthess, 1961,
LC: QB525.W34.

Martin Wilk, Ram Gnanadesikan, Marilyn Huyett,
Probability Plots for the Gamma Distribution,
Technometrics,
Volume 4, Number 1, 1962, pages 115,
Source Code:
Examples and Tests:
List of Routines:

ABSCOM counts the entries of  V(1:N)  W(1:N)  greater than ABSTOL.

ACCDIG returns the number of accurate digits in an approximation to X.

ACFD computes autocorrelations and partial autocorrelations.

ACFDTL prints titles for ACORRD.

ACFER does error checking for the ACF routines.

ACF is the simple interface to the autocorrelations routines.

ACFF computes autocorrelations of a time series using an FFT.

ACFFS uses an FFT with ACVF estimates for autocorrelations of a time series.

ACFLST lists the autocorrelations and other information.

ACFM computes autocorrelations of a time series with missing data.

ACFMN computes autocorrelations of a time series.

ACFMNF computes autocorrelations of a time series.

ACFMNM computes autocorrelations of a time series with missing data.

ACFMS is the user interface for autocorrelations of a time series with missing data.

ACFOUT prints autocorrelations.

ACFSD computes the standard error of autocorrelations.

ACFSDM computes the standard error of autocorrelations with missing data.

ACFS computes autocorrelations with computed ACVF estimates.

ACVF computes the autocovariance function of a series.

ACVFF computes the ACVF of a series using two FFT passes.

ACVFM computes autocovariance when missing data is involved.

ADJLMT corrects the plot limits when all observations are equal.

AIMEC is the user interface for ARIMA estimation.

AIME is the user interface for ARIMA estimation, control call.

AIMES is the user interface for ARIMA estimation, long call.

AIMF is the user interface for ARIMA estimation, short call.

AIMFS is the user interface for ARIMA estimation, control call.

AIMX1 sets the starting parameter values for AIMX.

ALBETA computes the logarithm of the Beta function.

ALGAMS evaluates the log of the absolute value of the Gamma function.

ALNGAM computes the logarithm of the absolute value of the Gamma function.

ALNREL evaluates log ( 1 + X ) with relative error control.

AMDRV estimates the jacobian matrix.

AMEAN computes the arithmetic mean of a series.

AMEANM computes the arithmetic mean of a series with missing data.

AMECNT is the control routine for nonlinear least squares regression.

AMEDRV is the control routine for nonlinear least squares regression.

AMEER checks errors for the nonlinear least squares estimation.

AMEFIN analyzes nonlinear least squares estimates after they are computed.

AMEHDR prints headings for nonlinear least squares estimation.

AMEISM prints an initial summary for nonlinear least squares routines.

AMEMN is the control routine for using the NL2 software package.

AMEOUT prints the final summary output from ARIMA estimation.

AMEPT1 prints data summary for nonlinear least squares routines.

AMEPT2 prints four standardized residual plots.

AMESTP controls the step size selection.

AMFCNT is the control routine for ARIMA forecasting.

AMFER checks errors for nonlinear least squares estimation.

AMFHDR prints headers for nonlinear least squares estimation.

AMFMN computes and prints ARIMA forecasts.

AMFOUT produces ARIMA forecasting output.

AMLST1 prints parameters for the ARIMA routine.

AMLST prints parameter summaries from ARIMA forecasting.

AOS computes autoregressive model order selection statistics.

AOSLST lists the autoregressive model order selection statistics.

AOV1ER does preliminary checks on input to the oneway family.

AOV1 is a user interface to AOV1MN, oneway analysis of variance.

AOV1HD prints headers for the oneway ANOVA family.

AOV1MN computes results for analysis of a oneway classification.

AOV1S is a user interface for AOV1MN, oneway analysis of variance.

AOV1XP prints storage for oneway family exerciser.

ARCOEF uses Durbin's method for autoregression coefficients with order lag.

ARFLT performs autoregressive filtering.

ASSESS assesses a candidate step.

AXPBY: SZ(1:N) = SA * SX(1:N) + SB * SY(1:N).

BACKOP computes the number of back order terms for an ARIMA model.

BETAI computes the incomplete Beta ratio.

BFSDRV is the driver for time series Fourier spectrum analysis.

BFSER checks errors for time series Fourier univariate spectrum analysis.

BFS: short interface for time series Fourier bivariate spectrum analysis.

BFSF: short interface for time series Fourier bivariate spectrum analysis.

BFSFS: long interface for time series Fourier bivariate spectrum analysis.

BFSLAG: lag window truncation points for Fourier bivariate spectral analysis.

BFSM: short interface for time series bivariate Fourier spectrum analysis.

BFSMN computes square coherency and phase components of a bivariate spectrum.

BFSMS: long interface for BFS analysis with missing observations.

BFSMV: short interface for BFS analysis, missing observations, covariances.

BFSMVS: long interface for BFS analysis, missing observations, covariances.

BFSS: long call for time series bivariate Fourier spectrum analysis.

BFSV: short call for BFS analysis, with covariance input rather than series.

BFSVS: long call for BFS analsys with covariances input rather than series.

CCFER does error checking for CCF routines.

CCF computes the crosscorrelation of two time series.

CCFF computes the crosscorrelation of two time series by Singleton's FFT.

CCFFS computes multivariate crosscorrelations and covariances by FFT.

CCFLST lists crosscorrelations, standard errors, and summary information.

CCFM computes crosscorrelation of two series with missing data.

CCFMN is the main routine for crosscorrelations.

CCFMNF is the main routine for crosscorrelations using an FFT.

CCFMNM is the main routine for crosscorrelations with missing data.

CCFMS is a user routine for multivariate crosscorrelations.

CCFOUT prints crosscorrelations and standard errors.

CCFSD is the main routine for computing standard error of crosscorrelations.

CCFSDM: standard error of crosscorrelations with missing data.

CCFS is the user routine for multivariate crosscorrelations.

CCFXP lists results for the time series crosscorrelation routines.

CCVF computes the cross covariance function between two series.

CCVFF computes the cross covariance function between two series.

CCVFM computes the cross covariance function of two series with missing data.

CDFCHI computes the CDF for the Chi Square distribution.

CDFF computes the CDF for the F distribution.

CDFNML computes the CDF for the standard normal distribution.

CDFT computes the CDF for Student's T distribution.

CENTER centers an observed series.

CHIRHO computes the Chi Square statistic and its probability.

CMPFD computes a finite difference derivative.

CNTR centers the input seriers about its mean.

CORRER checks for errors in the input parameters.

CORR: short call to correlation family of routines.

CORRHD prints headers for the correlation family.

CORRMN is the main routine in the correlation family.

CORRS is the user routine for the correlation, with a long call interface.

CORRXP prints stored output returned from CORRS.

COVCLC computes the covariance matrix for NL2ITR.

CPYASF copies a symmetric matrix stored rowwise into rectangular storage.

CPYMSS copies an N by M matrix.

CPYVII copies an integer vector.

CSEVL evaluates a Chebyshev series.

D1MACH returns double precision machine constants.

DCKCNT controls the derivative checking process.

DCKCRV checks whether high curvature caused poor derivative approximation.

DCKDRV is the driver to the derivative checking routines.

DCKER does error checking for the derivative checking routines.

DCKFPA checks if arithmetic precision causes poor derivative approximation.

DCKHDR prints page headers for the derivative checking routines.

DCKLS1 sets up a problem for testing the step size selection family.

DCKLSC is the user routine for comparing analytic and numeric derivatives.

DCKLS is the user routine for comparing analytic and numeric derivatives.

DCKMN is the main routine for checking analytic versus numeric derivatives.

DCKOUT prints results from the derivative checking routine.

DCKZRO rechecks derivative errors where the analytic derivative is zero.

DCOEF expands a difference filter.

DEMDRV is the driver routine to demodulate a series.

DEMOD demodulates a series at a given frequency.

DEMODS demodulates a series at a given frequency.

DEMODU demodulates a series at a given frequency.

DEMORD sets up the data for the phase plots.

DEMOUT prints output for the time series demodulation routines.

DFAULT supplies default values to IV and V.

DFBW computes degrees of freedom and bandwidth for a given lag window.

DFBWM computes DOF and BW for a given lag window with missing data.

DIFC expands a difference filter and performs difference filtering.

DIF performs a first difference filtering operation.

DIFMC expands a difference filter and performs the difference filter.

DIFM performs a first difference filter for a series with missing data.

DIFSER performs a differencing operation on a series.

DOTC computes the dot product of two series, centered about their means.

DOTCM computes the dot product of series with missing data.

DOTPRD returns the inner product of two vectors.

DRV1A derivative function for NLS family exerciser subroutine MDL1.

DRV1B is an INCORRECT derivative function for the NLS exerciser MDL1.

DRV2 is a derivative function for the NLS exerciser routine MD12.

DRV3 is the derivative function for NLS family exerciser subroutine MDL3.

DRV4A is a (correct) derivative for testing derivative checking routines.

DRV4B is an (incorrect) derivative for testing derivative checking routines.

DRV is a dummy derivative function for the NLS family.

DUPDAT updates the scale vector for NL2ITR.

E9RINT stores the current error message or prints the old one.

ECVF prints an error message if missing data affects the covariance lags.

EHDR prints the heading for the error checking routines.

EIAGE ensures that "not too many" vectors are below a given lower bound.

EIAGEP prints the error messages for ERAGT and ERAGTM.

EISEQ prints an error message if NVAL is not equal to NEQ.

EISGE prints a warning if NVAL is less than NMIN.

EISII warns if an integer value does not lie within a given range.

EISLE warns if an integer is greater than a given maximum.

EISRNG warns if ISEED is not a suitable random number seed.

EIVEO checks whether all vector entries are even (or odd).

EIVEQ warns if the vector does not have at least NEQMN entries equal to IVAL.

EIVII warns if too many values are outside given limits.

ENFFT checks that NFFT is suitable for the Singleton FFT routine.

EPRINT prints the last error message, if any.

ERAGT warns if too many values are less than a lower bound.

ERAGTM warns if too many values are less than or equal to a lower bound.

ERAGTP prints the error messages for ERAGT and ERAGTM.

ERDF checks the values that specify differencing on a time series.

ERFC evaluates the complementary error function.

ERF evaluates the error function.

ERIODD warns if the value of NVAL is inconsistent.

ERSEI warns if a value is not between given limits.

ERSGE warns if a value is not greater than or equal to a minimum value.

ERSGT warns if the input value is not greater than a specified minumum.

ERSIE warns if a value is not within a specified range.

ERSII warns if the input value is not within the given range.

ERSLF checks the definition of a symmetric linear filter.

ERSLFS checks values specifying a symmetric linear filter for a time series.

ERVGT ensures that "most" values are greater than a specified lower bound.

ERVGTM ensures that "most" values are greater than a specified lower bound.

ERVGTP prints the error messages for ERVGT and ERVGTM.

ERVII checks for vector values outside given limits.

ERVWT checks usersupplied weights.

ETAMDL computes noise and number of good digits in model routine results.

EXTEND returns the Ith term in a series.

FACTOR factors an integer.

FDUMP is a dummy version of the dump routine called by XERRWV.

FFTCT does a cosine transform of n=2*n2 symmetric data points.

FFT is a multivariate complex Fourier transform.

FFTLEN computes the value of NFFT for the Singleton FFT routine.

FFTR is the usercallable routine for the Fourier transform of a series.

FITEXT checks whether the fit is exact to machine precision.

FITPT1 prints the data summary for nonlinear least squares routines.

FITPT2 prints the four standardized residual plots.

FITSXP generates reporst for least squares exerciser returned storage.

FITXSP generates reports for least squares exerciser returned storage.

FIXPRT sets the character array 'FIXED'.

FLTAR filters an input series using an autoregressive filter.

FLTARM filters a series with missing data, using an autoregressive filter.

FLTMA filters a series using a simple moving average filter.

FLTMD applies a modified Daniel filter to a symmetric series.

FTLSL filters an input series.

GAMI evaluates the incomplete Gamma function.

GAMIT evaluates Tricomi's incomplete Gamma function.

GAMLIM calculates the legal range of input arguments for the Gamma function.

GAMMA evaluates the Gamma function.

GAMR computes the reciprocal of the Gamma function.

GENI assigns an arithmetic sequence of values into an integer vector.

GENR puts an arithmetic sequence of values into a real vector.

GETPI returns the value of PI.

GFAEST computes the gain of an autoregressive linear filter.

GFARF: short call to compute gain function of autoregressive filter.

GFARFS: short call to compute gain function of autoregressive filter.

GFORD produces ordinants for the gain function plots.

GFOUT produces the gain function plots.

GFSEST: gain function of symmetric linear filter with given frequencies.

GFSLF: short call for gain function of symmetric linear filter.

GFSLFS: short call for gain function of symmetric linear filter.

GMEAN computes the geometric mean of a series.

GQTSTP computes the GoldfeldQuandtTrotter step by MoreHebden technique.

HIPASS carries out a highpass filtering of a series.

HISTC: long call for producing a histogram.

HIST: short call for producing a histogram.

HPCOEF computes hipass filter given Kterm low pass filter coefficients.

HPFLT compute high pass filter coefficients corresponding to a low pass filter.

HSTER does error checking for the HIST family of histogram routines.

HSTMN is the main routine for producing histograms.

I1MACH returns integer machine constants.

I8SAVE returns the current error number or recovery switch.

ICNTI counts the number of occurences of a value in an integer vector.

ICOPY copies an integer vector.

IMDCON returns integer machinedependent constants.

INITS initializes an orthogonal series.

INPERL computes the number of elements that can be printed on one line.

IPGDV produces coordinates for the spectral plots.

IPGM: short call to compute the integrated periodogram of a series.

IPGMN computes the integrated periodogram.

IPGMP is the user routine for integrated periodograms of a series (short call).

IPGMPS is the user routine for the integrated periodogram of a series (long call).

IPGMS is the user routine fo the integrated periodogram of a series (long call).

IPGORD produces coordinates for the spectral plots.

IPGOUT produces the integrated periodogram plots.

IPRINT sets the logical unit for printed output.

ISAMAX indexes the real array element of maximum absolute value.

ITSMRY prints an iteration summary.

J4SAVE saves and recalls data needed by the XERROR error library.

LDSCMP computes storage needed for arrays.

LINVRT computes the inverse of a lower triangular matrix.

LITVMU solves L' * X = Y, where L is a lower triangular matrix.

LIVMUL solves L * X = Y, where L is a lower triangular matrix.

LLCNT is the controlling subroutine for linear least squares.

LLCNTG is the controlling subroutine for general linear least squares.

LLCNTP is the controlling subroutine for polynomial linear least squares.

LLER is the error checking routine for the linear least squares routines.

LLHDRG: page headings for the unrestricted linear least squares routines.

LLHDRP: page headings for polynomial linear least squares routines.

LLS is the general linear model least squares fit routine.

LLSMN: main program for the linear least squares fitting.

LLSP does an unweighted polynomial model least squares fit.

LLSPS does an unweighted polynomial model least squares fit.

LLSPW does a weighted polynomial model least squares fit.

LLSPWS computes a weighted polynomial model least squares fit.

LLSS computes an unweighted linear model least squares fit.

LLSW computes a weighted linear model least squares fit.

LLSWS performs a general linear model weighted least squares fit.

LMSTEP computes a LevenbergMarquardt step by MoreHebden techniques.

LOGLMT adjusts plot limits for log plots, and computes log axis labels.

LOPASS carries out a lowpass filtering of a series.

LPCOEF computes a least squares approximation to an ideal low pass filter.

LPFLT computes the lowpass filter coefficients.

LSAME returns TRUE if CA is the same letter as CB regardless of case.

LSQRT computes the Cholesky factor of a lower triangular matrix.

LSTLAG finds the last computable lag value.

LSTVCF prints N elements of a masked array.

LSTVEC prints indices and values of a real vector.

LSVMIN estimates the smallest singular value of a lower triangular matrix.

LTSQAR sets A to the lower triangle of L' * L.

MADJ is a sample jacobian routine.

MADR is a sample residual routine.

MAFLT performs a moving average filtering operation.

MATPRF prints a square matrix stored in symmetric form.

MATPRT is a matrix printing routine.

MDFLT is a user routine for a modified Daniels filter of symmetric series.

MDL1 is the model function for an NLS exerciser.

MDL2 is a model function for an NLS exerciser.

MDL3 is a model function for an NLS exerciser.

MDL4 is a model routine for step size and derivative checking routines.

MDLTS1 is the user callable routine for estimating boxjenkins arima models.

MDLTS2 is the model routine for Pack's specification of boxjenkins models.

MDLTS3 is the user callable routine for estimating boxjenkins arima models.

MGS solves a linear system using modified GramSchmidt algorithm.

MODSUM prints the model summary for the ARIMA routines.

MPPC produces a simple page plot with multiple Yaxis values.

MPP produces a simple page plot with multiple Yaxis values.

MPPL produces a simple page plot with multiple Yaxis values, and log option.

MPPMC: produce a page plot with multiply Yaxis values, and missing data.

MPPM: produce a page plot with multiple Yaxis values and missing data.

MPPML: plot multiple Yaxis values with missing data, log option.

MSGX prints the returned and expected values for the error flag IERR.

MULTBP multiplies two difference factors from a BoxJenkins time series model.

MVCHK checks whether the input value equals the flag value for missing data.

MVPC produces a vertical plot with multiple Yaxis values.

MVP produces a vertical plot with multiple Yaxis values.

MVPL produces a vertical plot with multiple yaxis values (log plot option).

MVPMC: vertical plot with missing data and multiple yaxis values (long call).

MVPM: vertical plot with missing data and multiple yaxis values (short call).

MVPML: vertical plot with missing data and multiple yaxis values (log option).

NCHOSE combines difference factors from a BoxJenkins time series model.

NL2ITR carries out iterations for NL2SOL.

NL2SNO is like NL2SOL, but uses a finite difference jacobian.

NL2SOL minimizes a nonlinear sum of squares using an analytic jacobian.

NL2X tests nl2sol and nl2sno on madsen example.

NLCMP computes statistics for the NLS family when weights are involved.

NLCNTA: controlling routine for NLS regression with analytic derivatives.

NLCNT controlling subroutine for nonlinear least squares regression.

NLCNTN controlling routine for NLS regression with approximate derivatives.

NLDRVA computes the analytic derivative matrix from the user DERIV routine.

NLDRVN approximates the derivative matrix.

NLER does error checking routine for nonlinear least squares estimation.

NLERR sets the error flag ierr based on the convergence code returned by NL2.

NLFIN completes the NLS analysis once the estimates have been found.

NLHDRA prints headings for NLS estimation using analytic derivatives.

NLHDRN prints headings for NLS estimation using approximate derivatives.

NLINIT initializes the NLS routines.

NLISM prints an initial summary for the nonlinear least squares routines.

NLITRP prints iteration reports for nonlinear least squares regression.

NLMN: controlling routine for nonlinear least squares regression.

NLOUT prints the final summary report for nonlinear least squares routines.

NLSC: NLS regression, approximate derivatives (control call)

NLSDC: NLS regression, analytic derivatives, user parameters.

NLSD: nonlinear least squares regression, analytic derivatives (short call).

NLSDS: NLS regression, analytic derivatives, user parameters.

NLS: NLS regression with numeric derivatives, short call.

NLSKL prints warning messages for the nonlinear least squares routines.

NLSPK packs the unmasked elements of one vector into another.

NLSS: interface for nonlinear least squares reqression, approximate derivatives.

NLSUPK unpacks a vector into another, using a mask vector.

NLSWC: nonlinear least squares regression with weights and approximate derivatives.

NLSWDC: NLS regression, analytic derivatives, weights, user parameters.

NLSWD: NLS regression, analytic derivatives, weights (short call).

NLSWDS: NLS regression with analytic derivatives, weights, user parameters.

NLSW: NLS regression with approximate derivatives and weights.

NLSWS: NLS regression with approximate derivatives and weights.

NLSX1 sets the starting parameter values for NLSX.

NLSX2 sets a problem for testing the NLS family.

NRANDC generates pseudorandom normally distributed values.

NRAND generates pseudorandom normally distributed values.

OANOVA computes and prints analysis of variance.

OBSSM2 lists the data summary for the arima estimation routines.

OBSSUM lists the data summary for the least squares subroutines.

PARCHK checks the NL2SOL parameters.

PARZEN computes and stores the Parzen lag window.

PGMEST computes the periodogram estimates.

PGM is the user callable routine for the raw periodogram of a series.

PGMMN is the main routine for computing the raw periodogram.

PGMS computes the (raw) periodogram of a series (long call).

PGORD produces coordinates for the periodogram plot.

PGOUT produces the periodogram plots.

PLINE defines one line of a plot string for the vertical plot routines.

PLTCHK checks for errors for the multiple plot routines.

PLTPLX computes the point location in the plot string.

PLTSYM supplies the plot symbol for the plot line.

POLAR converts complex numbers from Cartesian to polar representation.

PPC produces a simple page plot (long call).

PPCNT is the controling routine for user called page plot routines.

PP is the user callable routine which produces a simple page plot (short call).

PPCHFS computes the percentage points of the Chi Square distribution.

PPFF computes the percentage points for the F distribution.

PPFNML computes the percentage points of the normal distribution.

PPFT computes the percentage points of the Student's T distribution.

PPL produces a simple page plot (log option).

PPLMT sets the plot limits for page plots with missing values.

PPMC produces a simple page plot for data with missing observations (long call).

PPM produces a simple page plot for data with missing observations (short call).

PPML plots data with missing observations (log option).

PPMN is the main routine for page plots.

PRTCNT sets up the print control parameters.

QAPPLY applies orthogonal transformation to the residual R.

QRFACT computes the QR decomposition of a matrix.

R1MACH returns single precision machine constants.

R9GMIT computes Tricomi's incomplete gamma function for small X.

R9LGIC compute the log complementary incomplete gamma function.

R9LGIT computes the log of Tricomi's incomplete Gamma function.

R9LGMC computes the log Gamma correction factor.

RANDN returns normal random numbers.

RANDU returns uniform random numbers.

RANKO puts the rank of N X's in the vector R.

REALTR computes the forward or inverse Fourier transform of real data.

RELCOM computes the difference between V(I) and W(I) relative to RELTOL.

RELDST computes the relative difference between two real values.

REPCK reformats the data in D for the N by NPAR format used by NLCMP.

RMDCON returns machine constants.

RPTMUL multiplies the R factor times a vector X.

S88FMT writes an integer into a string.

SAMPLE creates a new series by sampling every Kth item of the input.

SASUM takes the sum of the absolute values of a real vector.

SAXPY adds a real constant times one vector to another.

SCOPY copies one real vector into another.

SDOT forms the dot product of two real vectors.

SETERR sets the error number and prints the error message.

SETESL computes the smallest suitable value of NFFT for given N and Singleton FFT.

SETFRQ computes the frequencies at which the spectrum is to be estimated.

SETIV sets the entries of an integer vector to a value.

SETLAG sets the number of autocorrelations to be computed.

SETRA sets the entries of a real array to a given value.

SETROW selects the row used by the derivative checking procedure.

SETRV sets the elements of a real vector to a value.

SLFLT applies a symmetric filter to a series.

SLUPDT updates a symmetric matrix A so that A * STEP = Y.

SLVMUL sets Y = S * X, where S is a P by P symmetric matrix.

SMACH computes machine parameters for single precision arithmetic.

SMPLY samples every Kth observation from a series.

SNRM2 computes the Euclidean norm of a real vector.

SPCCK analyzes ordinates for the spectal semilog plots.

SPPC produces a simple page plot with user control of plot symbols (long call).

SPP produces a simple page plot with user control of plot symbols (short call).

SPPL produces a simple page plot with user control of plot symbols (log option).

SPPLTC: confidence interval and bandwidth coordinates for spectrum plots.

SPTLTD sets various y axis limits for decibel spectrum plots.

SPPLTL sets various y axis limits for decibel spectrum plots.

SPPMC: page plot with user plot symbols and missing observations (long call).

SPPM page plot with user plot symbols and missing observations (short call).

SPPML: page plot with user plot symbols and missing observations (log option).

SROT applies a real plane rotation.

SROTG constructs a real Givens plane rotation.

SRTIR sorts an integer array IR on a key array A.

SRTIRR sorts arrays A, IR and RR based on values in A.

SRTRI sorts array A on integer array IR.

SRTRRI sorts the array IR, A and RR, based on values in IR.

SSCAL scales a real vector by a constant.

SSIDI computes the determinant, inertia and inverse of a real symmetric matrix.

SSIFA factors a real symmetric matrix.

SSWAP interchanges two real vectors.

STAT1 computes statistics for a sorted vector.

STAT1W computes statistics for a sorted vector with weights.

STAT2 computes statistics that do not require sorted data.

STAT2W computes statistics on an unsorted, weighted vector.

STATER does error checking for the STAT family of routines.

STAT computes 53 statistics for an unweighted vector.

STATS computes 53 different statistics for an unweighted vector.

STATW computes 53 statistics for a weighted vector.

STATWS computes 53 statistics for a weighted vector.

STKCLR clears the stack for framework area manipulation routines.

STKGET allocates space on an integer stack.

STKREL deallocates the last allocations made in the stack.

STKSET initializes the stack to NITMES of type ITYPE.

STKST returns statistics on the state of the stack.

STOPX is called to stop execution.

STPADJ adjusts the selected step sizes to optimal values.

STPAMO is a dummy routine for the arima estimation routines.

STPCNT controls the stepsize selection process.

STPDRV is the driver for selecting forward difference step sizes.

STPER does error checking for the stepsize selection routines.

STPHDR prints page headings for the stepsize selection routines.

STPLS1 sets a test problem for the step size selection family.

STPLS2 sets a test problem for the step size selection family.

STPLSC selects step sizes for forward difference estimates of derivatives.

STPLS selects step sizes for estimating derivatives in NLS routines.

STPMN: main routine for numerical derivative step size selection.

STPOUT prints results for the step size selection routines.

STPSEL selects new step sizes until no further improvement can be made.

STRCO estimates the condition of a real triangular matrix.

STRDI computes the determinant and inverse of a real triangular matrix.

SUMBS finds a zero or value closest to zero in a sorted vector.

SUMDS sums unweighted powers of differences from the mean of a sorted vector.

SUMID sums I * ( X(I)  XMEAN ).

SUMIDW: dot product of I and ( X(I)  XMEANW ).

SUMOT reports the computation of 53 selected statistics.

SUMSS calculates the sum of powers and mean for a sorted vector.

SUMTS calculates unweighted trimmed mean for a sorted vector.

SUMWDS calculates sums of powers of differences from the weighted mean.

SUMWSS calculates weighted and unweighted sums of powers and the mean.

SUMWTS calculates weighted and unweighted means for a sorted vector.

SVPC produces a vertical plot with user plot symbols (long call).

SVP: vertical plot with user plot symbols (short call).

SVPL produces a vertical log plot with user control of the plot symbol.

SVPMC: vertical plot with missing data and user plot symbols (long call).

SVPM: vertical plot with missing data and user plot symbols (short call).

SVPML: vertical plot with missing data and user plot symbols (log plot option).

TAPER applies a splitcosinebell taper to a centered observed series.

TIMESTAMP prints the current YMDHMS date as a time stamp.

UAS is the user callable routine for autoregressive spectrum estimation.

UASCFT computes autoregressive coefficients using Durbin's method.

UASDV is the driver for computing the autoregressive and Fourier spectrums.

UASER: error checks for time series Fourier univariate spectrum analysis.

UASET calculates the autoregressive spectrum.

UASF is the user callable routine for autoregressive spectrum estimation.

UASFS: interface for autoregressive spectrum estimation using the FFT (long call).

UASORD produces coordinates for the spectrum plots.

UASOUT produces the spectrum plots for the autoregressive spectrum estimates.

UASS: user interface for autoregressive spectrum estimation (long call).

UASVAR computes the variance for a given series and autoregressive model.

UASV is the user routine for autoregressive spectrum estimation.

UASVS is a user routine for autoregressive spectrum estimation.

UFPARM is a dummy version of the optional user function for NL2SOL.

UFSDRV is the controlling routine for time series Fourier spectrum analysis.

UFSET checks errors for time series Fourier univariate spectrum analysis.

UFSEST computes the spectra and the confidence limits.

UFS: user routine for time series Fourier spectrum analysis (short call).

UFSF: user routine for Fourier spectrum analysis using fft (short call).

UFSFS: user routine for Fourier spectrum analysis using the fft (long call).

UFSLAG computes the lag window truncation points for spectrum analysis.

UFSM: user routine for Fourier spectrum analysis with missing data (short call).

UFSMN computes autocorrelations and partial autocorrelations of a time series.

UFSMS: time series Fourier spectrum analysis with missing data (long call).

UFSMV: Fourier spectrum analysis, missing data, user ACVF values (short call).

UFSMVS: time series Fourier spectrum analysis with missing data (long call).

UFSOUT produces the Fourier bivariate spectrum output.

UFSPCV produces coordinates for the spectrum plots.

UFSS: time series Fourier spectrum analysis (long call).

UFSV: Fourier spectrum analysis, user supplied ACVF values (short call).

UFSVS: Fourier spectrum analysis and user supplied acvf values (long call).

V2NORM computes the L2 norm of a vector.

VCOPY copies a vector.

VCVOTF prints the variancecovariance matrix.

VCVOUT prints the variancecovariance matrix.

VERSP prints the version number.

VP is the user callable routine which produces a vertical plot (short call).

VPC is the user callable routine which produces a vertical plot (long call).

VPCNT is the controlling routine for usercalled vertical plots

VPHEAD prints the heading for the vertical plot output.

VPL is the user callable routine which produces a vertical log plot.

VPLMT sets the plot limits for vertical plots

VPM produces a vertical plot with missing data (short call).

VPMC produces a vertical plot with missing data (long call).

VPML produces a vertical plot with missing data (log plot option).

VPMN produces vertical plots.

XERABT aborts execution of the program.

XERBLA is an error handler for the LAPACK routines.

XERCLR resets the current error number to zero.

XERCTL gives the user control over handling individual errors.

XERPRT prints an error message.

XERROR processes a diagnostic message.

XERRWV processes a diagnostic message.

XERSAV records that an error has occurred.

XGETF returns the current error control flag.

XGETUA determines the units to which error messages are being sent.

XSETF sets the error control flag.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 19 May 2007.