- Introduction.
- How to find a suitable routine.
- How to compile and link to the SSL2 library.
- List of routines.
Introduction.
SSL II/VP is a general-purpose numerical analysis library consisting of about 230 different subroutines that solve mathematical problems such as linear equations or differential equations. The library has been written by Fujitsu and, most recently, by staff of the ANU. Each subroutine is written in FORTRAN and can be called from user programs with the CALL statement. SSL II/VP consists of Standard and Extended capabilities. Standard capabilities are for supporting wide-ranging science and technology calculation. Extended capabilities are for processing large-scale science and technology calculation at high speed on vector computers. If possible an extended capabilities routine should be used as these have been optimised for high performance on vector-based Fujitsu machines.
In both the standard and the extended capablities part of the library there are single and double precision versions of most routines. There are also a variety of matrix storage formats available for inputting arrays. For example, symmetric matrices need not be stored in a full square matrix. The full details of the different storage forms are given in the SSl2VP manual.
The standard capabilities cover routines in the following ten areas, each topic having abundant features. The user can select an appropriate subroutine depending on the purpose of the calculation and the characteristics of the mathematical model.
- Linear algebra : linear simultaneous equations, matrix inversion, least squares solution, singular value decomposition
- Eigenvalue problems : eigenvalues and eigenvectors
- Non-linear equations : algebraic equations, transcendental equations, nonlinear simultaneous equations
- Extrema : function minimization, linear and non linear programming
- Interpolations and approximations : interpolation functions and values, approximation function, smoothing functions and values, series expansions
- Transforms : Fourier transform, Laplace transform
- Numerical differentiation and quadrature : tabular points or continuous function inputs, finite intervals or infinite regions, one-dimensional or two-dimensional
- Differential equation : first order ordinary differential equations, first order stiff ordinary differential equations
- Special functions : Bessel functions, elliptic integrals, exponential integrals, sine and cosine integrals
- Pseudo-random numbers : random number generation (uniform/normal/exponential/Poisson/binomial) , random number testing
The extended capabilities consist of routines for the following four topics and use algorithms designed for vector computers. Some of the subroutines are functionally equivalent to those of the standard capabilities, but their algorithms, input-output interfaces, and data storage methods are different.
- Linear algebra : product of real matrices,linear simultaneous equations (real matrix,tridiagonal matrix, positive-definite symmetric matrix, band matrix, sparse matrix), and matrix inversion
- Eigenvalue problems : eigenvalues and eigenvectors
- Transforms : Fourier transform (discrete real Fourier transform, complex Fourier transform)
- Pseudo-random numbers : random number generation (uniform/normal)
UXP/V SSL II/VPP is a numerical computation library for parallel processing on multi-processors consisting of 36 subroutines. Subroutines for mathematical problems such as linear equation or discrete Fourier transform are included. These subroutines are spread procedures written in VPP FORTRAN. The subroutines can be called and used from a parallel region in a user programs using the CALL statement.
UXP/V SSL II/VPP is provided for handling high-speed and parallel processing of large-scale scientific and technical computations on vector parallel processors.
For further details see man ssl2vpp.
The SSl2VPP library makes use of both vector and parallel capabilities of the VPP300. The routines are tuned to achieve high performance on multiple processors. All routines are double precision and there are no single precision alternative forms. This library is in a continual state of development by ANU staff and advances made here also lead to more highly vectorised routines appearing in the extended capablities of the SSL2VP library. As VPP FORTRAN as a parallel language is specific only to the Fujitsu machines, code using these routines will not be portable to non-Fujitsu machines. It may, however, give the best possible performance on the VPP300. There is a short tutorial on VPP FORTRAN available on the ANUSF VPP Web page and staff of ANUSF can assist in the development of code using VPP Fortran.
The topics covered by the SSL2VPP library are as follows.
- Linear Algebra : Linear equations (real, complex, positive definite, banded and sparse matrices), matrix multiplication, matrix inversion, least squares solution, and singular value decomposition
- Eigenvalue problems: Eigenvalues and eigenvectors (real tridiagonal, real symmetric, generalized eigenvalue problem)
- Fourier Transform (1/2/3D real FFT, 1/2/3D complex FFT)
- Random Number Generator (uniform random number)
How to find a suitable routine.
The command findman can be used as a first step in finding a suitable routine. For example, typing findman FFT gives (amongst other man pages) a list of SSl2VP and VPP routines which calculate FFTs. For further details on a specific routine (for example, CFT) type man cft. This gives a brief outline of the calling procedure and function of the single precision routine CFT and its double precision equivalent DCFT.
Hard copy manuals are held at ANUSF or can be purchased from Fujitsu. These contain quite a bit more detail than the man pages. For further advice on choosing the most suited or the best performing routine contact ANUSF staff.
How to compile and link to the SSL2 library.
To link your code prog.f to the SSL2VP library use
frt prog.f -lssl2vp
To link your parallel code prog_p.f to the SSL2VPP library use
frt -Wx prog_p.f -lssl2vpp
Parallel routines frequently call one-processor SSL2VP routines for local calculations and, in these cases, it is necessary to link to both SSL2VP and SSL2VPP libraries.
List of routines.
SSL2VP STANDARD CAPABILITIES
- A. Linear Algebra
- A1. Storage mode conversion of matrices
- CGSM: Storage mode conversion of matrices (Real general to real symmetric)
- CSGM: Storage mode conversion of matrices (Real symmetric to real general)
- CGSBM: Storage mode conversion of matrices (Real general to real symmetric band)
- CSBGM: storage mode conversion of matrices (Real symmetric band to real general)
- CSSBM: Storage mode conversion of matrices (Real symmetric to real symmetric band)
- CSBSM: Storage mode conversion of matrices (Real symmetric band to real symmetric)
- A2. Matrix manipulation
- AGGM: Addition of two matrices (Real general + real gen- eral)
- SGGM: Subtraction of two matrices (Real general - real general)
- MGGM: Multiplication of two matrices (Real general by real general)
- MGSM: Multiplication of two matrices (Real general by real symmetric)
- MAV: Multiplication of a real matrix by a real vector
- MCV: Multiplication of a complex matrix by a complex vec- tor
- MSV: Multiplication of a real symmetric matrix by a real vector
- MSBV: Multiplication of a real symmetric band matrix and a real vector
- MBV: Multiplication of a real band matrix and a real vec- tor
- A3. Linear equations
- LAX: A system of linear equations with a real general matrix (Crout's method)
- LCX: A system of linear equations with a complex general matrix (Crout's method)
- LSX: A system of linear equations with a positive- definite symmetric matrix (Modified Cholesky's method)
- LSIX: A system of linear equations with a real indefinite symmetric matrix (Block diagonal pivoting method)
- LSBX: A system of linear equations with a positive- definite symmetric band matrix (Modified Cholesky's method)
- LSBIX: A system of linear equations with a real indefinite system band matrix (block diagonal pivoting method)
- LBX1: A system of linear equations with a real general band matrix (Gaussian elimination method)
- LSTX: A system of linear equations with a positive- definite symmetric tridiagonal matrix (Modified Cholesky's method)
- LTX: A system of linear equations with a real tridiagonal matrix (Gaussian elimination method)
- LAXR: Iterative refinement of the solution to a system of linear equations with a real general matrix
- LCXR: Iterative refinement of the solution to a system of linear equations with a complex general matrix
- LSXR: Iterative refinement of the solution to a system of linear equations with a positive definite symmetric matrix
- LSIXR: Iterative refinement of the solution to a system of linear equations with a real indefinite symmetric matrix
- LSBXR: Iterative refinement of the solution to a system of linear equations with a positive-definite symmetric band matrix
- LBX1R: Iterative refinement of the solution to a system of linear equations with a real general band matrix
- A4. Matrix inversion (A^ means transpose of matrix A)
- LUIV: The inverse of a real general matrix decomposed into the factors L and U
- CLUIV: The inverse of a complex general matrix decomposed into the factors L and U
- LDIV: The inverse of a positive-definite symmetric matrix decomposed into the factors L, D and L^
- A5. Decomposition of matrices (A^ means transpose of matrix A)
- ALU: LU-decomposition of a real general matrix (Crout's method)
- CLU: LU-decomposition of a complex general matrix (Crout's method)
- SLDL: LDL^-decomposition of a positive-definite symmetric matrix (Modified Cholesky's method)
- SMDM: MDM^-decomposition of a real indefinite symmetric matrix (Block diagonal pivoting method)
- SBDL: LDL^-decomposition of a positive-definite symmetric band matrix (Modified Cholesky's method)
- SBMDM: MDM^ decomposition of a real indefinite symmetric band matrix (Block diagonal pivoting method)
- BLU1: LU-decomposition of a real general band matrix (Gaussian elimination method)
- A6. Solution of decomposed system (A^means transpose of matrix A)
- LUX: A system of linear equations with a real general matrix decomposed into the factors L and U
- CLUX: A system of linear equations with a complex general matrix decomposed into the factors L and U
- LDLX: A system of linear equations with a positive- definite symmetric matrix decomposed into the fac- tors L, D and L^
- MDMX: A system of linear equations with a real indefinite symmetric matrix decomposed into the factors M, D and M^
- BDLX: A system of linear equations with a positive- definite symmetric band matrix decomposed into the factors L, D and L^
- BMDMX: A system of linear equations with a real indefinite symmetric band matrix decomposed into factors M, D and M^
- BLUX1: A system of linear equations with a real general band matrix decomposed into the factors L and U
- A7. Least squares solution
- LAXL: Least squares solution with a real matrix (House- holder transformation)
- LAXLR: Iterative refinement of the least squares solution with a real matrix
- LAXLM: Least squares minimal norm solution with a real matrix (Singular value decomposition method)
- GINV: Generalized Inverse of a real matrix (Singular value decomposition method)
- ASVD1: Singular value decomposition of a real matrix (Householder and QR methods)
- B. Eigenvalues and Eigenvectors
B 1. Eigenvalues and eigenvectors
- EIG1: Eigenvalues and corresponding eigenvectors of a real matrix (Double QR method)
- CEIG2: Eigenvalues and corresponding eigenvectors of a com- plex matrix (QR method)
- SEIG1: Eigenvalues and corresponding eigenvectors of a real symmetric matrix (QL method)
- SEIG2: Selected eigenvalues and corresponding eigenvectors of a real symmetric matrix (Bisection method, inverse iteration method)
- HEIG2: Eigenvalues and corresponding eigenvectors of an Hermitian matrix (Householder method, bisection method, and inverse iteration method)
- BSEG: Eigenvalues and eigenvectors of a real symmetric band matrix (Lutishauser-Schwarz method, bisection method and inverse iteration method)
- BSEGJ: Eigenvalues and eigenvectors of a real symmetric band matrix (Jennings method)
- TEIG1: Eigenvalues and corresponding eigenvectors of a real symmetric tridiagonal matrix (QL method)
- TEIG2: Selected eigenvalues and corresponding eigenvectors of a real symmetric tridiagonal matrix (Bisection method, inverse iteration method)
- GSEG2: Eigenvalues and corresponding eigenvectors of a real symmetric generalized eigenproblem Ax=lBx (Bisection method, inverse iteration method)
- GBSEG: Eigenvalues and corresponding eigenvectors of a real symmetric band generalized eigenproblem (Jennings method)
- B2. Eigenvalues
- HSQR: Eigenvalues of a real Hessenberg matrix (Double QR method)
- CHSQR: Eigenvalues of a complex Hessenberg matrix (QR method)
- TRQL: Eigenvalues of a real symmetric tridiagonal matrix (QL method)
- BSCT1: Selected eigenvalues of a real symmetric tridiagonal matrix (Bisection method)
- B3. Eigenvectors
- HVEC: Eigenvectors of a real Hessenberg matrix (Inverse iteration method)
- CHVEC: Eigenvectors of a complex Hessenberg matrix (Inverse iteration method)
- BSVEC: Eigenvectors of a real symmetric band matrix (Inverse iteration method)
- B4. Others
- BLNC: Balancing of a real matrix
- CBLNC: Balancing of a complex matrix
- HES1: Reduction of a real matrix to a real Hessenberg matrix (Householder method)
- CHES2: Reduction of a complex matrix to a complex Hessen- berg matrix (Stabilized elementary similarity transformation)
- TRID1: Reduction of a real symmetric matrix to a real sym- metric tridiagonal matrix (Householder method)
- TRIDH: Reduction of an Hermitian matrix to a real symmetric tridiagonal matrix (Householder method and diagonal unitary transformation)
- BTRID: Reduction of a real symmetric band matrix to a tri- diagonal matrix (Lutishauser-Schwarz method)
- HBK1: Back transformation and normalization of the eigen- vectors of a real Hessenberg matrix
- CHBK2: Back transformation of the eigenvectors of a complex Hessenberg matrix to the eigenvectors of a complex matrix
- TRBK: Back transformation of the eigenvectors of a tridi- agonal matrix to the eigenvectors of a real sym- metric matrix
- TRBKH: Back transformation of eigenvectors of a tridiagonal matrix to the eigenvectors of an Hermitian matrix
- NRML: Normalization of eigenvectors of real matrix.
- CNRML: Normalization of eigenvectors of a complex matrix
- GSCHL: Reduction of a real symmetric matrix system Ax=lBx to a standard form
- GSBK: Back transformation of the eigenvectors of the stan- dard form the eigenvectors of the real symmetric generalized matrix system
- C. Nonlinear Equations
- RQDR: Zeros of a quadratic with real coefficients
- CQDR: Zeros of a quadratic with complex coefficients
- LOWP: Zeros of a low degree polynomial with real coeffi- cients (Fifth degree or lower)
- RJETR: Zeros of a polynomial with real coefficients (Jenkins-Traub method)
- CJART: Zeros of a polynomial with complex coefficients (Jarratt method)
- TSD1: Zero of a real function which changes sign in a given interval (Derivative not required)(Brent's method)
- TSDM: Zero of a real function (Muller's method)
- CTSDM: Zero of complex function (Muller's method)
- NOLBR: Solution of a system of nonlinear equations (Brent's method)
- D. Extrema
- LMINF: Minimization of function with a variable (Quadratic interpolation using function values only)
- LMING: Minimization of function with a variable (Cubic interpolation using function values and its deriva- tives)
- MINF1: Minimization of function with several variables (Revised Quasi-Newton method, uses function values only)
- MING1: Minimization of function with several variables (Quasi-Newton method, using function values and its derivatives)
- NOLF1: Minimization of the sum of squares of functions with several variables (Revised Marquardt method, using function values only)
- NOLG1: Minimization of the sum of squares of functions (Revised Marquardt method using function values and its derivatives)
- LPRS1: Solution of a linear programming problem (Revised simplex method)
- NLPG1: Nonlinear programming (Powell's method using func- tion values and its derivatives)
- E. Interpolation and Approximation
- E1. Interpolation
- AKLAG: Aitken-Lagrange interpolation
- AKHER: Aitken-Hermite interpolation
- SPLV: Cubic spline interpolation
- BIF1: B-spline interpolation (I)
- BIF2: B-spline interpolation (II)
- BIF3: B-spline interpolation (III)
- BIF4: B-spline interpolation (IV)
- BIFD1: B-spline two-dimensional interpolation (I-I)
- BIFD3: B-spline two-dimensional interpolation (III-III)
- AKMID: Two-dimensional quasi-Hermite interpolation
- INSPL: Cubic spline interpolation coefficient calculation
- AKMIN: Quasi-Hermite interpolation coefficient calculation
- BIC1: B-spline interpolation coefficient calculation (I)
- BIC2: B-spline interpolation coefficient calculation (II)
- BIC3: B-spline interpolation coefficient calculation (III)
- BIC4: B-spline interpolation coefficient calculation (IV)
- BICD1: B-spline two-dimensional interpolation coefficient calculation (I-I)
- BICD3: B-spline two-dimensional interpolation coefficient calculation (III-III)
- E2. Approximation
- LESQ1: Polynomial least squares approximation
- E3. Smoothing
- SMLE1: Data smoothing by local least squares polynomials (Equally spaced data points)
- SMLE2: Data smoothing by local least squares polynomials (Unequally spaced data points)
- BSF1: B-spline smoothing
- BSC1: B-spline smoothing coefficient calculation (Fixed knots)
- BSC2: B-spline smoothing, coefficient calculation (Vari- able knots)
- BSFD1: B-spline two-dimensional smoothing
- BSCD2: B-spline two-dimensional smoothing coefficient cal- culation (Variable knots)
- E4. Series
- FCOSF: Fourier Cosine series expansion of an even function (Function input, fast cosine transform)
- ECOSP: Evaluation of a cosine series
- FSINF: Fourier sine series expansion of an odd function (Function input, fast sine transform)
- ESINP: Evaluation of a sine series
- FCHEB: Chebyshev series expansion of a real function (Func- tion input, fast cosine transform)
- ECHEB: Evaluation of a Chebyshev series
- GCHEB: Differentiation of a Chebyshev series
- ICHEB: Indefinite integral of a Chebyshev series
- F. Transforms
- FCOST: Discrete cosine transform (Trapezoidal rule, radix 2 FFT)
- FCOSM: Discrete cosine transform (Midpoint rule, radix 2 FFT)
- FSINT: Discrete sine transform (Trapezoidal rule, radix 2 FFT)
- FSINM: Discrete sine transform (Midpoint rule, radix 2 FFT)
- RFT: Discrete real Fourier transform
- CFTM: Multi-variate discrete complex Fourier transform (Mixed radix FFT)
- CFT: Multi-variate discrete complex Fourier transform (Radix 8 and 2 FFT)
- CFTN: Discrete complex Fourier transforms (Radix 8 and 2 FFT, reverse binary order output)
- CFTR: Discrete complex Fourier transforms (Radix 8 and 2 FFT, reverse binary order input)
- PNR: Permutation of data (Reverse binary transformation)
- LAPS1: Inversion of Laplace transform of a rational func- tion (Regular in the right-half plane)
- LAPS2: Inversion of Laplace transform of a general rational function
- LAPS3: Inversion of Laplace transform of a general function
- HRWIZ: Judgment on Hurwitz polynomials
- G. Numerical Differentiation and Quadrature
G1. Numerical Differentiation
- SPLV: Cubic spline differentiation
- BIF1: Differentiation (Unequally spaced discrete points, B-spline interpolation)
- BIF2: Differentiation (Unequally spaced discrete points, B-spline interpolation)
- BIF3: Differentiation (Unequally spaced discrete points, B-spline interpolation)
- BIF4: Differentiation (Unequally spaced discrete points, B-spline interpolation)
- BSF1: Differentiation by B-spline least squares fit (Fixed knots)
- BIFD1: Two-dimensional differentiation (Unequally spaced lattice points, B-spline two-dimensional interpola- tion)
- BIFD3: Two-dimensional differentiation (Unequally spaced lattice points, B-spline two-dimensional interpola- tion)
- BSFD1: Two-dimensional differentiation by B-spline last squares fit
- GCHEB: Differentiation of a Chebyshev series
- G2. Numerical Quadrature
- SIMP1: Integration of a tabulated function by Simpson's rule (Equally spaced)
- TRAP: Integration of a tabulated function by trapezoidal rule (Unequally spaced)
- BIF1: Integration of a tabulated function by B-spline interpolation (Unequally spaced discrete points, B- spline interpolation)
- BIF2: Integration of a tabulated function by B-spline interpolation (Unequally spaced discrete points, B- spline interpolation)
- BIF3: Integration of a tabulated function by B-spline interpolation (Unequally spaced discrete points, B- spline interpolation)
- BIF4: Integration of a tabulated function by B-spline interpolation (Unequally spaced discrete points, B- spline interpolation)
- BSF1: Smoothing, differentiation and integration of a tabulated function by B-spline least squares fit (Fixed knots)
- BIFD1: Integration of a two-dimensional tabulated function (Unequally spaced lattice points, B-spline two- dimensional interpolation)
- BIFD3: Integration of a two-dimensional tabulated function (Unequally spaced lattice points, B-spline two- dimensional interpolation)
- BSFD1: Two-dimensional integration of a tabulated function by B-spline interpolation
- SIMP2: Integration of a function by adaptive Simpson's rule
- AQN9: Integration of a function by adaptive Newton-Cotes 9-point rule
- AQC8: Integration of a function by a modified Clenshaw- Curtis rule
- AQE: Integration of a function by double exponential for- mula
- AQEH: Integration of a function over the semi-infinite interval by double exponential formula
- AQEI: Integration of a function over the infinite interval by double exponential formula
- AQMC8: Multiple integration of a function by a modified Clenshaw-Curtis integration rule
- AQME: Multiple integration of a function by double exponential formula
- H. Differential equations
- RKG: A system of first order ordinary differential equa- tions (Runge-Kutta method)
- HAMNG: A system of first order ordinary differential equa- tions (Hamming method)
- ODRK1: A system of first order ordinary differential equa- tions (Runge-Kutta-Verner method)
- ODAM: A system of first order ordinary differential equa- tions (Adams method)
- ODGE: A stiff system of first order ordinary differential equations (Gear's method)
- I. Special Functions
- CELI1: Complete elliptic integral of the first kind K(x)
- CELI2: Complete elliptic integral of the second kind E(x)
- EXPI: Exponential integral Ei(x), E~i(x)
- SINI: Sine integral Si(x)
- COSI: Cosine integral Ci(x)
- SFRI: Sine Fresnel integral S(x)
- CFRI: Cosine Fresnel integral C(x)
- IGAM1: Incomplete Gamma function of the first kind g(v,x)
- IGAM2: Incomplete Gamma function of the second kind G(v,x)
- IERF: Inverse error function erf (-1)(x)
- IERFC: Inverse complementary error function erfc(-1)(x)
- BJ0: Zero-order Bessel function of the first kind J0(x)
- BJ1: First-order Bessel function of the first kind J1(x)
- BY0: Zero-order Bessel function of the second kind Y0(x)
- BY1: First-order Bessel function of the second kind Y1(x)
- BI0: Modified Zero-order Bessel function of the first kind I0(x)
- BI1: Modified First-order Bessel function of the first kind I1(x)
- BK0: Modified Zero-order Bessel function of the second kind K0(x)
- BK1: Modified First-order Bessel function of the second kind K1(x)
- BJN: Integer-order Bessel function of the first kind Jn(x)
- BYN: Integer-order Bessel function of the second kind Yn(x)
- BIN: Modified Integer-order Bessel function of the first kind In(x)
- BKN: Modified Integer-order Bessel function of the second kind Kn(x)
- CBIN: Modified Integer-order Bessel function of the first kind In(z) with complex variable
- CBKN: Modified Integer-order Bessel function of the first kind with complex variable Kn(z)
- CBJN: Integer order Bessel function of the first kind with complex variable Jn(z)
- CBYN: Integer order Bessel function of the second kind with complex variable Yn(z)
- BJR: Real-order Bessel function of the first kind Jv(x)
- BYR: Real-order Bessel function of the second kind Yv(x)
- BIR: Modified real-order Bessel function of the first kind Iv(x)
- BKR: Modified real order Bessel function of the second kind Kv(x)
- CBJR: Real order Bessel function of the first with a com- plex variable Jv(z)
- NDF: Normal distribution function f(x)
- NDFC: Complementary normal distribution function q(x)
- INDF: Inverse normal distribution function f(-1)(x)
- INDFC: Inverse complementary normal distribution function q(-1)(x)
- J. Pseudo-Random Numbers
- RANU2: Uniform (0,1) pseudo-random numbers
- RANU3: Shuffled uniform (0,1) pseudo-random numbers
- RANN1: Fast normal pseudo-random numbers
- RANN2: Normal pseudo-random numbers
- RANE2: Exponential pseudo-random numbers
- RANP2: Poisson pseudo-random integers
- RANB2: Binomial pseudo-random numbers
- RATF1: Frequency test for uniform (0,1) pseudo-random numbers
- RATR1: Run test of up-and-down for uniform (0,1) pseudo- random numbers
SSL2VP EXTENDED CAPABILITIES
- A. Linear Equations (A^ means transpose of matrix)
- VMGGM: Multiplication of two matrices (Real general by real general)
- VLSX: A system of linear equations with a positive defin- ite symmetric matrix (Modified `Cholesky's method)
- VSLDL: LDL^ decomposition of a positive definite symmetric matrix (Modified Cholesky's method)
- VLDLX: A system of linear equations with a positive defin- ite symmetric matrix decomposed into L, D, and L^
- VLTX: A system of linear equations with a real tridiagonal matrix (Cyclic reduction method)
- VLTX1: A system of linear equations with a real constant tridiagonal matrix (Dirichlet type, cyclic reduction method)
- VLTX2: A system of linear equations with a real constant tridiagonal matrix (Neumann type, cyclic reduction method)
- VLTX3: A system of linear equations with a real constant tridiagonal matrix (Periodic type, cyclic reduction method)
- VLAX: A system of linear equations with a real general matrix (Blocking LU-decomposition method)
- VLUIV: The inverse of a real general matrix decomposed into the factors L and U.
- VALU: LU-decomposition of a real general matrix (Blocking LU-decomposition method)
- VBLDL: LDL-decomposition of a positive definite symmetric band matrix (Modified Cholesky's method)
- VBLDX: A system of linear equation with a LDL-decomposed positive definite symmetric band coefficient matrix
- VBLU: LU-decomposition of a real general band matrix (Gaussian elimination method)
- VBLUX: A system of linear equations with a LU-decomposed real general band coefficient matrix
- VCGD: A system of linear equations with a positive defin- ite symmetric sparse matrix (CG method with prepro- cessions, Diagonal-form data storage mode)
- VCGE: A system of linear equations with a positive defin- ite symmetric sparse matrix (CG method with prepro- cessions, ELLPACK-form data storage mode)
- VCRD: A system of linear equations with an unsymmetric or indefinite sparse matrix (MGCR method, Diagonal-form data storage mode)
- VCRE: A system of linear equations with an unsymmetric or indefinite sparse matrix (MGCR method, ELLIPACK-form data storage mode)
- VLBX: A system of linear equations of a real general band matrix (Gaussiann elimination method)
- VLSBX: A system of linear equation with a positive definite symmetric band coefficient matrix (Modified Cholesky's method)
- VMVSD: Multiplication of a real sparse matrix and a real vector (Diagonal-form data storage mode)
- VMVSE: Multiplication of a real sparse matrix and a real vector (ELLPACK-form data storage mode)
- B. Eigenvalues and Eigenvectors
- VSEG2: Selected eigenvalues and corresponding eigenvectors of real symmetric matrix (Parallel bisection and inverse iteration methods)
- VGSG2: Selected eigenvalues and corresponding eigenvectors of a real symmetric generalized matrix system Ax=Bx (Parallel bisection and inverse iteration methods)
- C. Fourier Transforms
- VCOS1: Discrete cosine transform (Radix 2 FFT)
- VSIN1: Discrete sine transform (Radix 2 FFT)
- VRFT1: Discrete real Fourier transform (High performance type, radix 2 FFT)
- VRFT2: Discrete real Fourier transform (Memory efficient type, radix 2 FFT)
- VCFT1: Discrete complex Fourier transform (High performance type, radix 2 FFT)
- VCFT2: Discrete complex Fourier transform (Memory efficient type, radix 2 FFT)
- VCPF3: Complex three-dimensional prime factors fast Fourier transform
- VRPF3: Real three-dimensional prime factors fast Fourier transform
- VMCFT: One-dimensional, multi-variate, multi-dimensional complex Fourier transform (Mixed radix)
- D. Pseudo-Random Numbers
- DVRAN3: Generation of normal pseudo random numbers (Double precision)
- DVRAU4: Genaration of uniform pseudo random numbers in [0,1) (Double precision)
- Auxiliary Subroutine
- AMACH,DMACH: Unit round off
- MGSSL: Printing of condition message
- MGSET: Control of message printing
- ASUM(BSUM),DSUM(DBSUM): Product sum (Real vector)
- CSUM,DCSUM: Product sum (Complex vector)
- IRADIX: Radix of the floating-point number system
- AFMAX,DFMAX,AFMIN,DFMIN: Positive max. and min. values of the floating number system.
SSL2VPP PARALLEL ROUTINES
- A. Matrix operations
- DP_VMGGM :Matrix multiplication (real matrix)
- DP_VMVSD :Multiplication of a real sparse matrix and a real vector (diagonal format storage method)
- DP_VMVSE :Multiplication of a real sparse matrix and a real vector (ELLPACK format storage method)
- B. Linear equation
- DP_VLAX :A system of linear equations with real matrices (blocked LU decomposition method)
- DP_VALU :LU decomposition of real matrices (blocked LU decomposition method)
- DP_VLUX :A system of linear equations with LU-decomposed real matrices
- DP_VLSX :A system of linear equations with symmetric positive definite matrices (blocked modified Cholesky decomposition method)
- DP_VSLDL :LDL(T) decomposition of symmetric positive definite matrices (blocked modified Cholesky decomposition method)
- DP_VLDLX :A system of linear equations with LDL(T)-decomposed symmetric positive definite matrices
- DP_VLBX :A system of linear equations with LU-decomposed banded real matrices (Gaussian elimination)
- DP_VBLU :LU decomposition of banded real matrices (Gaussian elimination)
- DP_VBLUX :A system of linear equations with LU-decomposed banded real matrices
- DP_VLSBX :A system of linear equations with symmetric positive definite banded matrices (modified Cholesky decomposition)
- DP_VBLDL :LDL(T)decomposition of symmetric positive definite banded matrices (modified Cholesky decomposition)
- DP_VBLDX :A system of linear equations with LDL(T)-decomposed symmetric positive definite banded matrices (modified Cholesky decomposition)
- DP_VCRD :A system of linear equations with unsymmetric or indefinite sparse matrices (MGCR method, diagonal format storage method)
- DP_VCRE :A system of linear equations with unsymmetric or indefinite sparse matrices (MGCR method, ELLPACK format storage method)
- DP_VCGD :A system of linear equations with symmetric positive definite sparse matrices (preconditioned CG method, diagonal format storage method)
- DP_VCGE :A system of linear equations with symmetric positive definite sparse matrices (preconditioned CG method, ELLPACK format storage method)
- DP_VLCX :A system of linear equations with complex matrices (blocked LU decomposition method)
- DP_VCLU :LU decomposition of complex matrices (blocked LU decomposition method)
- DP_VCLUX :A system of linear equations with LU-decomposed complex method
- C. Inverse matrices
- DP_VMINV :Inverse of real matrices (blocked Gauss-Jordan method)
- D. Singular value decomposition
- DP_VSVD :Singular value decomposition of real matrices (one-sided Jacobi method)
- E. Linear computation (least square solution)
- DP_VLSQ :Least square solution (modified Gram-Schmidt method)
- F. Eigenvalue problem
- DP_VGEVP :Generalized eigenvalue problem for real symmetric matrices (eigenvalues and eigenvectors) (one-sided Jacobi method)
- DP_VSEVP :Eigenvalues and eigenvectors of a real symmetric matrices (one-sided Jacobi method)
- DP_VTDEV :Eigenvalues and eigenvectors of real tridiagonal matrices
- G. Fourier transforms
- DP_V1DCFT :One-dimensional discrete complex Fourier transforms (mixed radix of 2, 3, and 5)
- DP_V2DCFT :Two-dimensional discrete complex Fourier transforms (mixed radix of 2, 3, and 5)
- DP_V3DCFT :Three-dimensional discrete complex Fourier transforms (mixed radix of 2, 3, and 5)
- DP_V1DRFT :One-dimensional discrete real Fourier transforms (mixed radix of 2, 3, and 5)
- DP_V1DRCF :One-dimensional discrete real Fourier transforms (mixed radix of 2, 3, and 5)
- DP_V2DRCF :Two-dimensional discrete real Fourier transforms (mixed radix of 2, 3, and 5)
- DP_V3DRCF :Three-dimensional discrete real Fourier transforms (mixed radix of 2, 3, and 5)
- H. Random number
- DP_VRANU4 :Generation of uniform random numbers[0, 1)