1 SSP Modified IBM Scientific Subroutine Package There is minimal documentation on this package. Full documentation is alleged to be in the book: IBM System/360 Scientific Subroutine Package Programmer's Manual Document # GH20-0205-4 but we don't have a copy, or know where to get one. Further, none of these routines have been tested. 2 Index ABSNT Detection of missing data ARRAY Vector storage double dimensioned storage conversion AUTO Autocovariances AVCAL AND operation AVDAT Data storage allocation BESJ Bessel J function BESK Bessel K function BESY Bessel Y function BOUND Selections of observations within bounds CADD Add column of one matrix to column of another matrix CANOR Canonical correlation CCPY Copy column of matrix into vector CCUT Partition column-wise CEL1 Elliptic integrals of the first kind CEL2 Elliptic integrals of the second kind CHISQ CHI square test for a contingency table CINT Interchange two columns CORRE Means, standard deviations, and correlations CROSS Cross covariances CS Fresnel integrals CSRT Sort matrix columns CSUM Sum the columns of a matrix CTAB Tabulate the columns of a matrix CTIE Adjoin two matrices column-wise DCLA Replace diagonal with scalar DCPY Copy diagonal of matrix into vector DISCR Discriminant functions DMATX Means and dispersion matrix EIGEN Eigenvalues and eigenvectors of a real, symmetric matrix EXPI Exponential integral EXSMO Triple exponential smoothing FORIF Fourier analysis of a given function FORIT Fourier analysis of a tabulated function GAUSS Normal random numbers GDATA Data generation GMADD Add two general matrices GMPRD Product of two general matrices GMSUB Subtract two general matrices GMTRA Transpose of a general matrix GTPRD Transpose product of two general matrices KRANK Kendall rank correlation LEP Legendre polynomial LOAD Factor loading LOC Location in compressed-stored matrix MADD Add two matrices MATA Transpose product of matrix by itself MCPY Matrix copy MEANQ Mean square operation MFUN Matrix transformation by function MOMEN First four moments MPRD Matrix product (row into column) MSTR Storage conversion MSUB Subtract two matrices MTRA Transpose a matrix MULTR Multiple regression and correlation NROOT Eigenvalues and eigenvectors of a special nonsymmetric matrix ORDER Rearrangement of integer correlations PADD Add two polynomials PADDM Multiply polynomial by constant and add to another polynomial PCLA Replace one polynomial by another PDER Derivative of a polynomial PDIV Divide one polynomial by another PGCD Greatest common divisor of two polynomials PILD Evaluate polynomial and its derivative PINT Integral of a polynomial PMPY Multiply two polynomials PNORM Normalise coefficient vector of a polynomial POLRT Real and complex roots of a real polynomial PQSD Quadratic synthetic division of a polynomial PSUB Subtract one polynomial from another PVAL Value of a polynomial PVSUB Substitute variable polynomial by another polynomial QATR Integral of a given function by trapezoidal rule using Romberg's extrapolation method QSF Integral of equidistantly tabulated function by Simpson's rule QTEST Cochran Q-test RADD Add row of one matrix to row of another matrix RANK Rank observations RCPY Copy row of matrix into vector RCUT Partition by row RINT Interchange two rows RK1 Integral of first-order differential equation by Runge-Kutta method RK2 Tabulated integral of first order differential equation by Runge-Kutta method RKGS Solution of a system of first order differential equations with given initial values by the Runge-Kutta method RSRT Sort matrix rows RSUM Sum the rows of a matrix RTAB Tabulate the rows of a matrix RTIE Adjoin two matrices row-wise RTMI Determine root within a range by Mueller's iteration RTNI Refine estimate of root by Newton's iteration RTWI Refine estimate of root by Wegstein's iteration SADD Add scalar to matrix SCLA Matrix clear and add scalar SCMA Scalar multiply column and add to another column SDIV Matrix divided by a scalar SICI Sine/cosine integral SIMQ Solution of simultaneous linear algebraic equations SMO Application of filter coefficients (weights) SMPY Matrix multiplied by scalar SRANK Spearman rank correlation SRMA Multiply a row by a scalar and add to another row SSUB Subtract scalar from matrix SUBMX Build subset matrix SUBST Subset selection from observation matrix TAB1 Tabulation of data (one variable) TAB2 Tabulation of data (two variables) TALLY Totals, means, standard deviations, minima, and maxima TPRD Transpose product TRACE Cumulative percentage of eigenvalues TWOAV Friedman two-way analysis of variance UTEST Mann-Whitney U-test VARMX Varimax rotation WTEST Kendall coefficient of concordance XCPY Copy submatrix from given matrix 2 ABSNT SUBROUTINE ABSNT (A,S,NO,NV) DIMENSION A(1),S(1) Detection of missing data. 2 ARRAY SUBROUTINE ARRAY (MODE,I,J,N,M,S,D) DIMENSION S(1),D(1) Vector storage double dimensioned storage conversion. 2 AUTO SUBROUTINE AUTO (A,N,L,R) DIMENSION A(1),R(1) Autocovariances. 2 AVCAL SUBROUTINE AVCAL (K,LEVEL,X,L,ISTEP,LASTS) DIMENSION LEVEL(1),X(1),ISTEP(1),LASTS(1) AND operation. 2 AVDAT SUBROUTINE AVDAT (K,LEVEL,N,X,L,ISTEP,KOUNT) DIMENSION LEVEL(1),X(1),ISTEP(1),KOUNT(1) Data storage allocation. 2 BESJ SUBROUTINE BESJ (X,N,BJ,D,IER) Bessel J function. 2 BESK SUBROUTINE BESK (X,N,BK,IER) Bessel K function. 2 BESY SUBROUTINE BESY (X,N,BY,IER) Bessel Y function. 2 BOUND SUBROUTINE BOUND (A,S,BLO,BHI,UNDER,BETW,OVER,NO,NV) DIMENSION A(1),S(1),BLO(1),BHI(1),UNDER(1),BETW(1),OVER(1) Selections of observations within bounds. 2 CADD SUBROUTINE CADD (A,ICA,R,ICR,N,M,MS,L) DIMENSION A(1),R(1) Add column of one matrix to column of another matrix. 2 CANOR SUBROUTINE CANOR (N,MP,MQ,RR,ROOTS,WLAM,CANR,CHISQ,NDF,COFR,COFL,R) DIMENSION RR(1),ROOTS(1),WLAM(1),CANR(1),CHISQ(1),NDF(1),COFR(1), COFL(1),R(1) Canonical correlation. 2 CCPY SUBROUTINE CCPY (A,L,R,N,M,MS) DIMENSION A(1),R(1) Copy column of matrix into vector. 2 CCUT SUBROUTINE CCUT (A,L,R,S,N,M,MS) DIMENSION A(1),R(1),S(1) Partition column-wise. 2 CEL1 SUBROUTINE CEL1 (RES,AK,IER) Elliptic integrals of the first kind. 2 CEL2 SUBROUTINE CEL2 (RES,AK,A,B,IER) Elliptic integrals of the second kind. 2 CHISQ SUBROUTINE CHISQ (A,N,M,CS,NDF,IERR,TR,TC) DIMENSION A(1),TR(1),TC(1) CHI square test for a contingency table. 2 CINT SUBROUTINE CINT (A,N,LA,LB) Interchange two columns. 2 CORRE SUBROUTINE CORRE (N,M,IO,X,XBAR,STD,RX,R,B,D,T) DIMENSION X(1),XBAR(1),STD(1),RX(1),R(1),B(1),D(1),T(1) Means, standard deviations, and correlations. 2 CROSS SUBROUTINE CROSS (A,B,N,L,R,S) DIMENSION A(1),B(1),R(1),S(1) Cross covariances. 2 CS SUBROUTINE CS (C,S,X) Fresnel integrals. 2 CSRT SUBROUTINE CSRT (A,B,R,N,M,MS) DIMENSION A(1),B(1),R(1) Sort matrix columns. 2 CSUM SUBROUTINE CSUM (A,R,N,M,MS) DIMENSION A(1),R(1) Sum the columns of a matrix. 2 CTAB SUBROUTINE CTAB (A,B,R,S,N,M,MS,L) DIMENSION A(1),B(1),R(1),S(1) Tabulate the columns of a matrix. 2 CTIE SUBROUTINE CTIE (A,B,R,N,M,MSA,MSB,L) DIMENSION A(1),B(1),R(1) Adjoin two matrices column-wise. 2 DCLA SUBROUTINE DCLA (A,C,N,MS) DIMENSION A(1) Replace diagonal with scalar. 2 DCPY SUBROUTINE DCPY (A,R,N,MS) DIMENSION A(1),R(1) Copy diagonal of matrix into vector. 2 DISCR SUBROUTINE DISCR (K,M,N,X,XBAR,D,CMEAN,V,C,P,LG) DIMENSION N(1),X(1),XBAR(1),D(1),CMEAN(1),C(1),P(1),LG(1) Discriminant functions. 2 DMATX SUBROUTINE DMATX (K,M,N,X,XBAR,D,CMEAN) DIMENSION N(1),X(1),XBAR(1),D(1),CMEAN(1) Means and dispersion matrix. 2 EIGEN SUBROUTINE EIGEN (A,R,N,MV) DIMENSION A(1),R(1) Eigenvalues and eigenvectors of a real, symmetric matrix. 2 EXPI SUBROUTINE EXPI (X,RES,AUX) Exponential integral. 2 EXSMO SUBROUTINE EXSMO (X,NX,AL,A,B,C,S) DIMENSION X(1),S(1) Triple exponential smoothing. 2 FORIF SUBROUTINE FORIF (FUN,N,M,A,B,IER) DIMENSION A(1),B(1) Fourier analysis of a given function. 2 FORIT SUBROUTINE FORIT (FNT,N,M,A,B,IER) DIMENSION A(1),B(1),FNT(1) Fourier analysis of a tabulated function. 2 GAUSS SUBROUTINE GAUSS (IX,S,AM,V) Normal random numbers. 2 GDATA SUBROUTINE GDATA (N,M,X,XBAR,STD,D,SUMSQ) DIMENSION X(1),XBAR(1),STD(1),D(1),SUMSQ(1) Data generation. 2 GMADD SUBROUTINE GMADD (A,B,R,N,M) DIMENSION A(1),B(1),R(1) Add two general matrices. 2 GMPRD SUBROUTINE GMPRD (A,B,R,N,M,L) DIMENSION A(1),B(1),R(1) Product of two general matrices. 2 GMSUB SUBROUTINE GMSUB (A,B,R,N,M) DIMENSION A(1),B(1),R(1) Subtract two general matrices. 2 GMTRA SUBROUTINE GMTRA (A,R,N,M) DIMENSION A(1),R(1) Transpose of a general matrix. 2 GTPRD SUBROUTINE GTPRD (A,B,R,N,M,L) DIMENSION A(1),B(1),R(1) Transpose product of two general matrices. 2 KRANK SUBROUTINE KRANK (A,B,R,N,TAU,SD,Z,NR) DIMENSION A(1),B(1),R(1) Kendall rank correlation. 2 LEP SUBROUTINE LEP (Y,X,N) DIMENSION Y(1) Legendre polynomial. 2 LOAD SUBROUTINE LOAD (M,K,R,V) DIMENSION R(1),V(1) Factor loading. 2 LOC SUBROUTINE LOC (I,J,IR,N,M,MS) Location in compressed-stored matrix. 2 MADD SUBROUTINE MADD (A,B,R,N,M,MSA,MSB) DIMENSION A(1),B(1),R(1) Add two matrices. 2 MATA SUBROUTINE MATA (A,R,N,M,MS) DIMENSION A(1),R(1) Transpose product of matrix by itself. 2 MCPY SUBROUTINE MCPY (A,R,N,M,MS) DIMENSION A(1),R(1) Matrix copy. 2 MEANQ SUBROUTINE MEANQ (K,LEVEL,X,GMEAN,SUMSQ,NDF,SMEAN,MSTEP,KOUNT,LASTS) DIMENSION LEVEL(1),X(1),SUMSQ(1),NDF(1),SMEAN(1),MSTEP(1), KOUNT(1),LASTS(1) Mean square operation. 2 MFUN SUBROUTINE MFUN (A,F,R,N,M,MS) DIMENSION A(1),R(1) Matrix transformation by function. 2 MOMEN SUBROUTINE MOMEN (F,UBO,NOP,ANS) DIMENSION F(1),UBO(1),ANS(1) First four moments. 2 MPRD SUBROUTINE MPRD (A,B,R,N,M,MSA,MSB,L) DIMENSION A(1),B(1),R(1) Matrix product (row into column). 2 MSTR SUBROUTINE MSTR (A,R,N,MSA,MSR) DIMENSION A(1),R(1) Storage conversion. 2 MSUB SUBROUTINE MSUB (A,B,R,N,M,MSA,MSB) DIMENSION A(1),B(1),R(1) Subtract two matrices. 2 MTRA SUBROUTINE MTRA (A,R,N,M,MS) DIMENSION A(1),R(1) Transpose a matrix. 2 MULTR SUBROUTINE MULTR (N,K,XBAR,STD,D,RX,RY,ISAVE,B,SB,T,ANS) DIMENSION XBAR(1),STD(1),D(1),RX(1),RY(1),ISAVE(1),B(1),SB(1), T(1),ANS(1) Multiple regression and correlation. 2 NROOT SUBROUTINE NROOT (M,A,B,XL,X) DIMENSION A(1),B(1),XL(1),X(1) Eigenvalues and eigenvectors of a special nonsymmetric matrix. 2 ORDER SUBROUTINE ORDER (M,R,NDEP,K,ISAVE,RX,RY) DIMENSION R(1),ISAVE(1),RX(1),RY(1) Rearrangement of integer correlations. 2 PADD SUBROUTINE PADD (Z,IDIMZ,X,IDIMX,Y,IDIMY) DIMENSION Z(1),X(1),Y(1) Add two polynomials. 2 PADDM SUBROUTINE PADDM (Z,IDIMZ,X,IDIMX,FACT,Y,IDIMY) DIMENSION Z(1),X(1),Y(1) Multiply polynomial by constant and add to another polynomial. 2 PCLA SUBROUTINE PCLA (Y,IDIMY,X,IDIMX) DIMENSION X(1),Y(1) Replace one polynomial by another. 2 PDER SUBROUTINE PDER (Y,IDIMY,X,IDIMX) DIMENSION X(1),Y(1) Derivative of a polynomial. 2 PDIV SUBROUTINE PDIV (P,IDIMP,X,IDIMX,Y,IDIMY,TOL,IER) DIMENSION P(1),X(1),Y(1) Divide one polynomial by another. 2 PGCD SUBROUTINE PGCD (X,IDIMX,Y,IDIMY,WORK,EPS,IER) DIMENSION X(1),Y(1),WORK(1) Greatest common divisor of two polynomials. 2 PILD SUBROUTINE PILD (POLY,DVAL,ARGUM,X,IDIMX) DIMENSION X(1) Evaluate polynomial and its derivative. 2 PINT SUBROUTINE PINT (Y,IDIMY,X,IDIMX) DIMENSION X(1),Y(1) Integral of a polynomial. 2 PMPY SUBROUTINE PMPY (Z,IDIMZ,X,IDIMX,Y,IDIMY) DIMENSION Z(1),X(1),Y(1) Multiply two polynomials. 2 PNORM SUBROUTINE PNORM (X,IDIMX,EPS) DIMENSION X(1) Normalise coefficient vector of a polynomial. 2 POLRT SUBROUTINE POLRT (XCOF,COF,M,ROOTR,ROOTI,IER) DIMENSION XCOF(1),COF(1),ROOTR(1),ROOTI(1) Real and complex roots of a real polynomial. 2 PQSD SUBROUTINE PQSD (A,B,P,Q,X,IDIMX) DIMENSION X(1) Quadratic synthetic division of a polynomial. 2 PSUB SUBROUTINE PSUB (Z,IDIMZ,X,IDIMX,Y,IDIMY) DIMENSION Z(1),X(1),Y(1) Subtract one polynomial from another. 2 PVAL SUBROUTINE PVAL (RES,ARG,X,IDIMX) DIMENSION X(1) Value of a polynomial. 2 PVSUB SUBROUTINE PVSUB (Z,IDIMZ,X,IDIMX,Y,IDIMY,WORK1,WORK2) DIMENSION Z(1),X(1),Y(1),WORK1(1),WORK2(1) Substitute variable polynomial by another polynomial. 2 QATR SUBROUTINE QATR (XL,XU,EPS,NDIM,FCT,Y,IER,AUX) DIMENSION AUX(1) Integral of a given function by trapezoidal rule using Romberg's extrapolation method. 2 QSF SUBROUTINE QSF (H,Y,Z,NDIM) DIMENSION Y(1),Z(1) Integral of equidistantly tabulated function by Simpson's rule. 2 QTEST SUBROUTINE QTEST (A,N,M,Q,NDF) DIMENSION A(1) Cochran Q-test. 2 RADD SUBROUTINE RADD (A,IRA,R,IRR,N,M,MS,L) DIMENSION A(1),R(1) Add row of one matrix to row of another matrix. 2 RANK SUBROUTINE RANK (A,R,N) DIMENSION A(1),R(1) Rank observations. 2 RCPY SUBROUTINE RCPY (A,L,R,N,M,MS) DIMENSION A(1),R(1) Copy row of matrix into vector. 2 RCUT SUBROUTINE RCUT (A,L,R,S,N,M,MS) DIMENSION A(1),R(1),S(1) Partition by row. 2 RINT SUBROUTINE RINT (A,N,M,LA,LB) DIMENSION A(1) Interchange two rows. 2 RK1 SUBROUTINE RK1 (FUN,HI,XI,YI,XF,YF,ANSX,ANSY,IER) Integral of first-order differential equation by Runge-Kutta method. 2 RK2 SUBROUTINE RK2 (FUN,H,XI,YI,K,N,VEC) DIMENSION VEC(1) Tabulated integral of first order differential equation by Runge-Kutta method. 2 RKGS SUBROUTINE RKGS (PRMT,Y,DERY,NDIM,IHLF,FCT,OUTP,AUX) DIMENSION Y(1),DERY(1),AUX(8,1),A(4),B(4),C(4),PRMT(1) Solution of a system of first order differential equations with given initial values by the Runge-Kutta method. 2 RSRT SUBROUTINE RSRT (A,B,R,N,M,MS) DIMENSION A(1),B(1),R(1) Sort matrix rows. 2 RSUM SUBROUTINE RSUM (A,R,N,M,MS) DIMENSION A(1),R(1) Sum the rows of a matrix. 2 RTAB SUBROUTINE RTAB (A,B,R,S,N,M,MS,L) DIMENSION A(1),B(1),R(1),S(1) Tabulate the rows of a matrix. 2 RTIE SUBROUTINE RTIE (A,B,R,N,M,MSA,MSB,L) DIMENSION A(1),B(1),R(1) Adjoin two matrices row-wise. 2 RTMI SUBROUTINE RTMI (X,F,FCT,XLI,XRI,EPS,IEND,IER) Determine root within a range by Mueller's iteration. 2 RTNI SUBROUTINE RTNI (X,F,DERF,FCT,XST,EPS,IEND,IER) Refine estimate of root by Newton's iteration. 2 RTWI SUBROUTINE RTWI (X,VAL,FCT,XST,EPS,IEND,IER) Refine estimate of root by Wegstein's iteration. 2 SADD SUBROUTINE SADD (A,C,R,N,M,MS) DIMENSION A(1),R(1) Add scalar to matrix. 2 SCLA SUBROUTINE SCLA (A,C,N,M,MS) DIMENSION A(1) Matrix clear and add scalar. 2 SCMA SUBROUTINE SCMA (A,C,N,LA,LB) DIMENSION A(1) Scalar multiply column and add to another column. 2 SDIV SUBROUTINE SDIV (A,C,R,N,M,MS) DIMENSION A(1),R(1) Matrix divided by a scalar. 2 SICI SUBROUTINE SICI (SI,CI,X) Sine/cosine integral. 2 SIMQ SUBROUTINE SIMQ (A,B,N,KS) DIMENSION A(1),B(1) Solution of simultaneous linear algebraic equations. 2 SMO SUBROUTINE SMO (A,N,W,M,L,R) DIMENSION A(1),W(1),R(1) Application of filter coefficients (weights). 2 SMPY SUBROUTINE SMPY (A,C,R,N,M,MS) DIMENSION A(1),R(1) Matrix multiplied by scalar. 2 SRANK SUBROUTINE SRANK (A,B,R,N,RS,T,NDF,NR) DIMENSION A(1),B(1),R(1) Spearman rank correlation. 2 SRMA SUBROUTINE SRMA (A,C,N,M,LA,LB) DIMENSION A(1) Multiply a row by a scalar and add to another row. 2 SSUB SUBROUTINE SSUB (A,C,R,N,M,MS) DIMENSION A(1),R(1) Subtract scalar from matrix. 2 SUBMX SUBROUTINE SUBMX (A,D,S,NO,NV,N) DIMENSION A(1),D(1),S(1) Build subset matrix. 2 SUBST SUBROUTINE SUBST (A,C,R,B,S,NO,NV,NC) DIMENSION A(1),C(1),R(1),S(1) Subset selection from observation matrix. 2 TAB1 SUBROUTINE TAB1 (A,S,NOVAR,UBO,FREQ,PCT,STATS,NO,NV) DIMENSION A(1),S(1),UBO(1),FREQ(1),PCT(1),STATS(1) Tabulation of data (one variable). 2 TAB2 SUBROUTINE TAB2 (A,S,NOV,UBO,FREQ,PCT,STAT1,STAT2,NO,NV) DIMENSION A(1),S(1),NOV(2),UBO(3,2),FREQ(1),PCT(1),STAT1(1), STAT2(2),SINT(2) Tabulation of data (two variables). 2 TALLY SUBROUTINE TALLY (A,S,TOTAL,AVER,SD,VMIN,VMAX,NO,NV) DIMENSION A(1),S(1),TOTAL(1),AVER(1),SD(1),VMIN(1),VMAX(1) Totals, means, standard deviations, minima, and maxima. 2 TPRD SUBROUTINE TPRD (A,B,R,N,M,MSA,MSB,L) DIMENSION A(1),B(1),R(1) Transpose product. 2 TRACE SUBROUTINE TRACE (M,R,CON,K,D) DIMENSION R(1),D(1) Cumulative percentage of eigenvalues. 2 TWOAV SUBROUTINE TWOAV (A,R,N,M,W,XR,NDF,NR) DIMENSION A(1),R(1),W(1) Friedman two-way analysis of variance. 2 UTEST SUBROUTINE UTEST (A,R,N1,N2,U,Z) DIMENSION A(1),R(1) Mann-Whitney U-test. 2 VARMX SUBROUTINE VARMX (M,K,A,NC,TV,H,F,D,IER) DIMENSION A(1),TV(1),H(1),F(1),D(1) Varimax rotation. 2 WTEST SUBROUTINE WTEST (A,R,N,M,WA,W,CS,NDF,NR) DIMENSION A(1),R(1),WA(1) Kendall coefficient of concordance. 2 XCPY SUBROUTINE XCPY (A,R,L,K,NR,MR,NA,MA,MS) DIMENSION A(1),R(1) Copy submatrix from given matrix.