The Fortran code of the IBM 360 Scientific Subroutine Package, I think from 1968, can be downloaded from http://www.ecalculations.com/ . IBM has not open-sourced it AFAIK, so I would not try to use it in production. I can compile 356 out of 360 source files with gfortran -c -std=legacy
, after I replace constants such as 1.E75
with huge(1.0)
. Pretty good for a library that is almost 60 years old. Documentation is at System/360 Scientific Subroutine Package. The algorithms listed should be considered for stdlib if they are not already present. The topics are
Statistics
Probit analysis
Analysis of variance (factorial design)
Correlation analysis
Multiple linear regression
Stepwise regression
Polynomial regression
Canonical correlation
Factor analysis (principal components, varimax)
Discriminant analysis (many groups)
Time series analysis
Data screening and analysis
Nonparametric tests
Random number generation (uniform, normal)
Distribution functions
Mathematics
Inversion
Eigenvalues and eigenvectors
Simultaneous linear algebraic equations
Transpositions
Matrix arithmetic (addition, product, etc.)
Matrix partitioning
Matrix tabulation and sorting of rows or columns
Elementary operations on rows or columns of matrices
Matrix factorization
Integration and differentiation of given or tabulated functions
Solution of systems of first-order differential equations
Fourier analysis of given or tabulated functions
Bessel and modified Bessel function evaluation
Gamma function evaluation
Jacobian elliptic functions
Elliptic, exponential, sine cosine, Fresnel integrals
Finding real roots of a given function
Finding real and complex roots of a real polynomial
Polynomial arithmetic (addition, division, etc.)
Polynomial evaluation, integration, differentiation
Chebyshev, Hermite, Laguerre, Legendre polynomials
Minimum of a function
Approximation, interpolation, and table construction