| Oracle® Database PL/SQL Packages and Types Reference 10g Release 2 (10.2) Part Number B14258-01 | 
 | 
| 
 | View PDF | 
The UTL_NLA package exposes a subset of the BLAS and LAPACK (Version 3.0) operations on vectors and matrices represented as VARRAYs.
This chapter contains the following topics:
Overview
Rules and Limits
BLAS Level 1 (Vector-Vector Operations) Subprograms
BLAS Level 2 (Matrix-Vector Operations) Subprograms
BLAS Level 3 (Matrix-Matrix Operations) Subprograms
LAPACK Driver Routines (Linear Equations) Subprograms
LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms
This section contains topics which relate to using the UTL_NLA package.
The UTL_NLA package exposes a subset of the BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear Algebra PACKage )(Version 3.0) operations on vectors and matrices represented as VARRAYs.
Standards
For more information on the BLAS and LAPACK standards see
http://www.netlib.org/blas/http://www.netlib.org/lapack/
Required Expertise
Users of this package are expected to have a sound grasp of linear algebra in general and of the BLAS and LAPACK libraries in particular.
Implementation
The mapping between BLAS and LAPACK procedures and their corresponding PL/SQL calls is one-to-one.
All BLAS functions have the BLAS_ prefix (for example, theBLAS_ASUM Functions). The subroutines and functions in BLAS are mapped to PL/SQL procedures and functions, respectively.
All LAPACK functions have the LAPACK_ prefix (for example, the LAPACK_GBSV Procedures). The subroutines in LAPACK are mapped to PL/SQL procedures. Procedures that perform the same operation but differ only on the datatype of the arguments have the same overloaded names.
The mapping between BLAS and LAPACK procedure parameters and those of their corresponding PL/SQL subprograms is almost one-to-one.
Also in the PL/SQL interface for LAPACK, all /work/ arguments have been removed. The UTL_NLA package manages the allocation and de-allocation of all work areas required by the libraries.
A new optional parameter, pack, has been added to the end of each LAPACK procedure that specifies if the matrix has been linearized in the row-major or column-major (default) format.
Vectors and matrices are stored in VARRAYs with a maximum size of one million entries. Given this restriction, UTL_NLA vectors can be up to one million entries but matrices need to be of size RxC <= 1,000,000.
Table 173-1 BLAS Level 1 (Vector-Vector Operations) Subprograms
| Subprogram | Description | 
|---|---|
| BLAS_ASUM Functions | Computes the sum of the absolute values of the vector components | 
| BLAS_AXPY Procedures | Copies alpha*X+Yinto vectorY | 
| BLAS_COPY Procedures | Copies the contents of vector Xto vectorY | 
| BLAS_DOT Functions | Returns the dot (scalar) product of two vectors XandY | 
| BLAS_IAMAX Functions | Computes the index of the first element of a vector that has the largest absolute value | 
| BLAS_NRM2 Functions | Computes the vector 2-norm (Euclidean norm) | 
| BLAS_ROT Procedures | Returns the plane rotation of points | 
| BLAS_ROTG Procedures | Returns the Givens rotation of points | 
| BLAS_SCAL Procedures | Scales a vector by a constant | 
| BLAS_SWAP Procedures | Swaps the contents of two vectors each of size n | 
Table 173-2 BLAS Level 2 (Matrix-Vector Operations) Subprograms
| Subprogram | Description | 
|---|---|
| BLAS_GBMV Procedures | Performs the matrix-vector operation y := alpha*A*x + beta*yory := alpha*A'*x + beta*ywherealphaandbetaare scalars,xandyare vectors andAis anmbynband matrix, withklsub-diagonals andkusuper-diagonals | 
| BLAS_GEMV Procedures | Performs the matrix-vector operations y := alpha*A*x + beta*yory := alpha*A'*x + beta*ywherealphaandbetaare scalars,xandyare vectors andAis anmbynmatrix | 
| BLAS_GER Procedures | Performs a rank 1 operation A := alpha*x*y' + Awherealphais a scalar,xis anmelement vector,yis an n element vector andAis anmbynmatrix | 
| BLAS_SBMV Procedures | Performs a matrix-vector operation y := alpha*A*x + beta*ywherealphaandbetaare scalars,xandyare n element vectors andAis annbynsymmetric band matrix, withksuper-diagonals | 
| BLAS_SPMV Procedures | Performs a matrix-vector operation y := alpha*A*x + beta*ywherealphaandbetaare scalars,xandyarenelement vectors andAis annbynsymmetric matrix, supplied in packed form | 
| BLAS_SPR Procedures | Performs a symmetric rank 1 operation A := alpha*x*x' + Awherealphais a real scalar,xis annelement vector, andAis annbynsymmetric matrix, supplied in packed form | 
| BLAS_SPR2 Procedures | Performs a symmetric rank 2 operation A := alpha*x*y' + alpha*y*x' +Awherealphais a scalar,xandyarenelement vectors, andAis annbynsymmetric matrix, supplied in packed form | 
| BLAS_SBMV Procedures | Performs a matrix-vector operation y := alpha*A*x + beta*ywherealphaandbetaare scalars,xandyare n element vectors andAis annbynsymmetric band matrix, withksuper-diagonals | 
| BLAS_SYMV Procedures | Performs a matrix-vector operation y := alpha*A*x + beta*ywherealphaandbetaare scalars,xandyarenelement vectors andAis annbynsymmetric matrix | 
| BLAS_SYR Procedures | Performs a symmetric rank 1 operation A := alpha*x*x' + Awherealphais a real scalar,xis annelement vector, andAis annbynsymmetric matrix | 
| BLAS_SYR2 Procedures | Performs a symmetric rank 2 operation A := alpha*x*y' + alpha*y*x' + Awherealphais a scalar,xandyarenelement vectors, andAis annbynsymmetric matrix | 
| BLAS_TBMV Procedures | Performs a matrix-vector operation x := A*xorA'*x = bwherexis annelement vector andAis annbynunit, or non-unit, upper or lower triangular band matrix, with(k + 1)diagonals | 
| BLAS_TBSV Procedures | Solves one of the systems of equation A*x = borA'*x = bwherebandxarenelement vectors andAis annby n unit, or non-unit, upper or lower triangular band matrix, with(k + 1)diagonals | 
| BLAS_TPMV Procedures | Performs a matrix-vector operation x := A*xorx := A'*xwherexis annelement vector andAis annbynunit, or non-unit, upper or lower triangular matrix, supplied in packed form | 
| BLAS_TPSV Procedures | Solves one of the systems of equation A*x = borA'*x = bwherebandxarenelement vectors andAis annbynunit, or non-unit, upper or lower triangular matrix, supplied in packed form | 
| BLAS_TRMV Procedures | Performs a matrix-vector operation x := A*xorx := A'*xwherexis annelement vector andAis annbynunit, or non-unit, upper or lower triangular matrix | 
| BLAS_TRSV Procedures | Solves one of the systems of equation A*x = borA'*x = bwherebandxarenelement vectors andAis an n bynunit, or non-unit, upper or lower triangular matrix | 
Table 173-3 BLAS Level 3 (Matrix-Matrix Operations) Subprograms
| Subprogram | Description | 
|---|---|
| BLAS_GEMM Procedures | Performs one of the matrix-vector operations C := alpha*op(A)*op(B) + beta*Cwhereop(X) is one of op(X) = X or op(X) = X'wherealphaandbetaare scalars, andA,BandCare matrices, withop(A)anmbykmatrix,op(B)akbynmatrix andCanmbynmatrix | 
| BLAS_SYMM Procedures | Performs one of the matrix-vector operations C := alpha*A*B + beta*CorC := alpha*B*A + beta*Cwherealphaandbetaare scalars,Ais a symmetric matrix, andBandCarembynmatrices | 
| BLAS_SYR2K Procedures | Performs one of the symmetric rank2 k operations C := alpha*A*B' + alpha*B*A' + beta*CorC := alpha*A'*B + alpha*B'*A + beta*Cwherealphaandbetaare scalars,Cis annbynsymmetric matrix andAandBarenbykmatrices in the first case andkbynmatrices in the second case | 
| BLAS_SYRK Procedures | Performs one of the symmetric rank koperationsC := alpha*A*A' + beta*CorC := alpha*A'*A + beta*Cwherealphaandbetaare scalars,Cis annbynsymmetric matrix andAis annbykmatrix in the first case and akbynmatrix in the second case | 
| BLAS_TRMM Procedures | Performs one of the matrix-vector operations B := alpha*op(A)*BorB := alpha*B*op(A)wherealphais a scalar,Bis anmbynmatrix,Ais a unit, or non-unit, upper or lower triangular matrix andop(A)is one of two alternatives | 
| BLAS_TRSM Procedures | Performs one of the matrix-vector operations op(A)*X = alpha*BorX*op(A) = alpha*Bwherealphais a scalar,XandBarembynmatrices,Ais a unit, or non-unit, upper or lower triangular matrix,op(A)is one of two alternatives. The matrixXis overwritten onB | 
Table 173-4 LAPACK Driver Routines (Linear Equations) Subprograms
| Subprogram | Description | 
|---|---|
| LAPACK_GBSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais annbynmatrix andxandbarenbynrhsmatrices. TheLUdecomposition with partial pivoting and row interchanges is used to factorA. | 
| LAPACK_GESV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais annbynmatrix andxandbarenbynrhsmatrices. TheLUdecomposition with partial pivoting and row interchanges is used to factorA. | 
| LAPACK_GTSV Procedures | This procedure solves the equation a * x = bwhereais annbyntridiagonal matrix, by Gaussian elimination with partial pivoting. | 
| LAPACK_PBSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite band matrix andxandbarenbynrhsmatrices. The Cholesky decomposition is used to factorA. | 
| LAPACK_POSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite matrix andxandbarenbynrhsmatrices. The Cholesky decomposition is used to factorA. | 
| LAPACK_PPSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite matrix stored in packed format andxandbarenbynrhsmatrices. The Cholesky decomposition is used to factorA. | 
| LAPACK_PTSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite tridiagonal matrix, andxandbarenbynrhsmatrices. | 
| LAPACK_SPSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric matrix stored in packed format, andxandbarenbynrhsmatrices. The diagonal pivoting method is used to factorA. | 
| LAPACK_SYSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric matrix, andxandbarenbynrhsmatrices. The diagonal pivoting method is used to factorA. | 
Table 173-5 LAPACK Driver Routines (LLS and Eigenvalue Problems)
| Subprogram | Description | 
|---|---|
| LAPACK_GEES Procedures | Computes for an nbynreal nonsymmetric matrixA, the eigenvalues, the real Schur formT, and, optionally, the matrix of Schur vectorsZ. This gives the Schur factorizationA = Z*T*(Z**T). | 
| LAPACK_GEEV Procedures | Computes for an nbynreal nonsymmetric matrixA, the eigenvalues and, optionally, the left and/or right eigenvectors. | 
| LAPACK_GELS Procedures | Solves overdetermined or underdetermined real linear systems involving an mbynmatrixA, or its transpose, using aQRorLQfactorization ofA. It is assumed thatAhas full rank. | 
| LAPACK_GESDD Procedures | Computes the singular value decomposition (SVD) of a real mbynmatrixA, optionally computing the left and right singular vectors. If singular vectors are desired, it uses a divide-and-conquer algorithm that makes mild assumptions about floating point arithmetic. | 
| LAPACK_GESVD Procedures | Computes the singular value decomposition (SVD) of a real mbynmatrixA, optionally computing the left and/or right singular vectors. The SVD is writtenA = U * SIGMA * transpose(V). | 
| LAPACK_SBEV Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric band matrix A | 
| LAPACK_SBEVD Procedures | Ccomputes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | 
| LAPACK_SPEV Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix Ain packed storage | 
| LAPACK_SPEVD Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix Ain packed storage. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | 
| LAPACK_STEV Procedures | Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A | 
| LAPACK_STEVD Procedures | Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | 
| LAPACK_SYEV Procedures | Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A | 
| LAPACK_SYEVD Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | 
Table 173-6 UTL_NLA Package Subprograms
| Subprogram | Description | Group | 
|---|---|---|
| BLAS_ASUM Functions | Computes the sum of the absolute values of the vector components | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_AXPY Procedures | Copies alpha*X+Yinto vectorY | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_COPY Procedures | Copies the contents of vector Xto vectorY | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_DOT Functions | Returns the dot (scalar) product of two vectors XandY | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_GBMV Procedures | Performs the matrix-vector operation y := alpha*A*x + beta*yory := alpha*A'*x + beta*ywherealphaandbetaare scalars,xandyare vectors andAis anmbynband matrix, withklsub-diagonals andkusuper-diagonals | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_GEMM Procedures | Performs one of the matrix-vector operations where alphaandbetaare scalars, andA,BandCare matrices, withop(A)anmbykmatrix,op(B)akbynmatrix andCanmbynmatrix | BLAS Level 3 (Matrix-Matrix Operations) Subprograms | 
| BLAS_GEMV Procedures | Performs the matrix-vector operations y := alpha*A*x + beta*yory := alpha*A'*x + beta*ywherealphaandbetaare scalars,xandyare vectors andAis anmbynmatrix | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_GER Procedures | Performs a rank 1 operation A := alpha*x*y' + Awherealphais a scalar,xis anmelement vector,yis an n element vector andAis anmbynmatrix | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_IAMAX Functions | Computes the index of the first element of a vector that has the largest absolute value | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_NRM2 Functions | Computes the vector 2-norm (Euclidean norm) | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_ROT Procedures | Returns the plane rotation of points | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_ROTG Procedures | Returns the Givens rotation of points | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_SBMV Procedures | Performs a matrix-vector operation y := alpha*A*x + beta*ywherealphaandbetaare scalars,xandyare n element vectors andAis annbynsymmetric band matrix, withksuper-diagonals | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_SCAL Procedures | Scales a vector by a constant | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_SPMV Procedures | Performs a matrix-vector operation y := alpha*A*x + beta*ywherealphaandbetaare scalars,xandyarenelement vectors andAis annbynsymmetric matrix, supplied in packed form | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_SPR Procedures | Performs a symmetric rank 1 operation A := alpha*x*x' + Awherealphais a real scalar,xis annelement vector, andAis annbynsymmetric matrix, supplied in packed form | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_SPR2 Procedures | Performs a symmetric rank 2 operation where alphais a scalar,xandyarenelement vectors, andAis annbynsymmetric matrix, supplied in packed form | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_SWAP Procedures | Swaps the contents of two vectors each of size n | BLAS Level 1 (Vector-Vector Operations) Subprograms | 
| BLAS_SYMM Procedures | Performs one of the matrix-vector operations where alphaandbetaare scalars,Ais a symmetric matrix, andBandCarembynmatrices | BLAS Level 3 (Matrix-Matrix Operations) Subprograms | 
| BLAS_SYMV Procedures | Performs a matrix-vector operation where alphaandbetaare scalars,xandyarenelement vectors andAis annbynsymmetric matrix | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_SYR Procedures | Performs a symmetric rank 1 operation where alphais a real scalar,xis annelement vector, andAis annbynsymmetric matrix | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_SYR2 Procedures | Performs a symmetric rank 2 operation where alphais a scalar,xandyarenelement vectors, andAis annbynsymmetric matrix | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_SYR2K Procedures | Performs one of the symmetric rank2 k operations where alphaandbetaare scalars,Cis annbynsymmetric matrix andAandBarenbykmatrices in the first case andkbynmatrices in the second case | BLAS Level 3 (Matrix-Matrix Operations) Subprograms | 
| BLAS_SYRK Procedures | Performs one of the symmetric rank koperations wherealphaandbetaare scalars,Cis annbynsymmetric matrix andAis annbykmatrix in the first case and akbynmatrix in the second case | BLAS Level 3 (Matrix-Matrix Operations) Subprograms | 
| BLAS_TBMV Procedures | Performs a matrix-vector operation where xis annelement vector andAis annbynunit, or non-unit, upper or lower triangular band matrix, with(k + 1)diagonals | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_TBSV Procedures | Solves one of the systems of equation where bandxarenelement vectors andAis annby n unit, or non-unit, upper or lower triangular band matrix, with(k + 1)diagonals | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_TPMV Procedures | Performs a matrix-vector operation where xis annelement vector andAis annbynunit, or non-unit, upper or lower triangular matrix, supplied in packed form | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_TPSV Procedures | Solves one of the systems of equation where bandxarenelement vectors andAis annby n unit, or non-unit, upper or lower triangular matrix, supplied in packed form | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_TRMM Procedures | Performs one of the matrix-vector operations where alphais a scalar,Bis anmbynmatrix,Ais a unit, or non-unit, upper or lower triangular matrix andop(A)is one of two alternatives | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_TRMV Procedures | Performs a matrix-vector operation where xis annelement vector andAis annbynunit, or non-unit, upper or lower triangular matrix | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| BLAS_TRSM Procedures | Performs one of the matrix-vector operations op( A )*X = alpha*BorX*op(A) = alpha*Bwherealphais a scalar,XandBarembynmatrices,Ais a unit, or non-unit, upper or lower triangular matrix,op(A)is one of two alternatives. The matrixXis overwritten onB | BLAS Level 3 (Matrix-Matrix Operations) Subprograms | 
| BLAS_TRSV Procedures | Solves one of the systems of equation where bandxarenelement vectors andAis an n bynunit, or non-unit, upper or lower triangular matrix | BLAS Level 2 (Matrix-Vector Operations) Subprograms | 
| LAPACK_GBSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais annbynmatrix andxandbarenbynrhsmatrices. TheLUdecomposition with partial pivoting and row interchanges is used to factorA. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_GEES Procedures | Computes for an nbynreal nonsymmetric matrixA, the eigenvalues, the real Schur formT, and, optionally, the matrix of Schur vectorsZ. This gives the Schur factorizationA = Z*T*(Z**T). | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_GEEV Procedures | Computes for an nbynreal nonsymmetric matrixA, the eigenvalues and, optionally, the left and/or right eigenvectors. | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_GELS Procedures | Solves overdetermined or underdetermined real linear systems involving an mbynmatrixA, or its transpose, using aQRorLQfactorization ofA. It is assumed thatAhas full rank. | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_GESDD Procedures | Computes the singular value decomposition (SVD) of a real mbynmatrixA, optionally computing the left and right singular vectors. If singular vectors are desired, it uses a divide-and-conquer algorithm that makes mild assumptions about floating point arithmetic. | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_GESV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais annbynmatrix andxandbarenbynrhsmatrices. TheLUdecomposition with partial pivoting and row interchanges is used to factorA. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_GESVD Procedures | Computes the singular value decomposition (SVD) of a real mbynmatrixA, optionally computing the left and/or right singular vectors. The SVD is writtenA = U * SIGMA * transpose(V). | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_GTSV Procedures | This procedure solves the equation a * x = bwhereais annbyntridiagonal matrix, by Gaussian elimination with partial pivoting. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_PBSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite band matrix andxandbarenbynrhsmatrices. The Cholesky decomposition is used to factorA. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_POSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite matrix andxandbarenbynrhsmatrices. The Cholesky decomposition is used to factorA. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_PPSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite matrix stored in packed format andxandbarenbynrhsmatrices. The Cholesky decomposition is used to factorA. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_PTSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric positive definite tridiagonal matrix, andxandbarenbynrhsmatrices. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_SBEV Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric band matrix A | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_SBEVD Procedures | Ccomputes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_SPEV Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix Ain packed storage | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_SPEVD Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix Ain packed storage. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_SPSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric matrix stored in packed format, andxandbarenbynrhsmatrices. The diagonal pivoting method is used to factorA. | LAPACK Driver Routines (Linear Equations) Subprograms | 
| LAPACK_STEV Procedures | Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_STEVD Procedures | Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_SYEVD Procedures | Computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic. | LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms | 
| LAPACK_SYSV Procedures | This procedure computes the solution to a real system of linear equations a * x = bwhereais an n by n symmetric matrix, andxandbarenbynrhsmatrices. The diagonal pivoting method is used to factorA. | LAPACK Driver Routines (Linear Equations) Subprograms | 
This procedure computes the sum of the absolute values of the vector components.
Syntax
UTL_NLA.BLAS_ASUM ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN) RETURN BINARY_DOUBLE;
UTL_NLA.BLAS_ASUM ( n IN POSITIVEN, alpha IN SCALAR_DOUBLE, x IN UTL_NLA_ARRAY_FLT) RETURN BINARY_FLOAT
Parameters
Table 173-7 BLAS_ASUM Function Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incx ) ) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
This procedure copies alpha*X + Y into vector Y.
Syntax
UTL_NLA.BLAS_AXPY ( n IN POSITIVEN, alpha IN SCALAR_DOUBLE, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN);
UTL_NLA.BLAS_AXPY ( n IN POSITIVEN, alpha IN SCALAR_DOUBLE, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN);
Parameters
Table 173-8 BLAS_AXPY Procedure Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| alpha | Specifies the scalar alpha. | 
| x | UTL_NLA_ARRAY_FLT/DBLofdimensionat least( 1 + ( n - 1 )*abs( incx ) ) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLofDIMENSIONat least( 1 + ( n - 1 )*abs( incy) ) | 
| incy | Specifies the increment for the elements of y.incymust not be zero. | 
This procedure copies the contents of vector X to vector Y.
Syntax
UTL_NLA.BLAS_COPY ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN);
UTL_NLA.BLAS_COPY ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN);
Parameters
Table 173-9 BLAS_COPY Procedure Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| x | UTL_NLA_ARRAY_FLT/DBLofdimensionat least( 1 + ( n - 1 )*abs( incx ) ) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incy) ) | 
| incy | Specifies the increment for the elements of y.incymust not be zero. | 
This function returns the dot (scalar) product of two vectors X and Y.
Syntax
UTL_NLA.BLAS_DOT ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN) RETURN BINARY_DOUBLE;
UTL_NLA.BLAS_DOT ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN) RETURN BINARY_FLOAT;
Parameters
Table 173-10 BLAS_DOT Function Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incx ) ) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incy) ) | 
| incy | Specifies the increment for the elements of y.incymust not be zero. | 
This procedure performs one of the matrix-vector operations
y := alpha*A*x + beta*y
or
y := alpha*A'*x + beta*y
where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.
Syntax
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-11 BLAS_GBMV Procedure Parameters
| Parameter | Description | 
|---|---|
| trans | Specifies the operation to be performed: 
 | 
| m | Specifies the number of rows of the matrix A. mmust be at least zero. | 
| n | Specifies the number of columns of the matrix A. nmust be at least zero. | 
| kl | Specifies the number of sub-diagonals of the matrix A.klmust satisfy0. le. kl. | 
| ku | Specifies the number of super-diagonals of the matrix A.kumust satisfy0 .le. ku. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,n).Before entry, the leading  Elements in the array  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at least(kl+ku+1). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incx ) ) when  ( 1 + ( m - 1 )*abs( incx ) ) otherwise. Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. Whenbetais supplied as zero thenyneed not be set on input. | 
| y | UTL_NLA_ARRAY_FLT/DBLofdimensionat least( 1 + ( m - 1 )*abs( incy ) ) when  (1+(n-1)*abs(incy)) otherwise. Before entry with  | 
| incy | Specifies the increment for the elements of y. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs one of the matrix-matrix operations
C := alpha*op( A )*op( B ) + beta*C
where op(X) is one of
op(X) = X
or
op(X) = X'
where alpha and beta are scalars, and A, B and C are matrices, with op(A) an m by k matrix, op(B) a k by n matrix and C an m by n matrix.
Syntax
UTL_NLA.BLAS_GEMM ( transa IN flag, transb IN flag, m IN POSITIVEN, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GEMM ( transa IN flag, transb IN flag, m IN POSITIVEN, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_FLT, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-12 BLAS_GEMM Procedure Parameters
| Parameter | Description | 
|---|---|
| transa | Specifies the form of op(A)to be used in the matrix multiplication as follows:
 | 
| transb | Specifies the form of op(B)to be used in the matrix multiplication as follows:
 | 
| m | Specifies the number of rows of the matrix op(A)and of the matrixC.mmust be at least zero. | 
| n | Specifies the number of columns of the matrix op(B)and of the matrixC.nmust be at least zero. | 
| k | Specifies the rows of the matrix op(A)and the number of columns of the matrixop(B).kmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda, ka)wherekaiskwhentransa='N'or'n', and ismotherwise. Before entry withtransa='N'or'n', the leadingmbykpart of the arrayAmust contain the matrixA, otherwise the leadingkbympart of the arrayAmust contain the matrixA. | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program. Whentransa = 'N' or 'n', ldamust be at leastmax (1,k). | 
| b | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda, kb)wherekbisnwhentransb= ''N'or'n', and iskotherwise. Before entry withtransb='N'or'n', the leadingkbynpart of the arraybmust contain the matrixB, otherwise the leadingnbykpart of the arraybmust contain the matrixB. | 
| ldb | Specifies the first dimension of bas declared in the calling (sub) program.When transb = 'N' or 'n', ldbmust be at leastmax (1, n). | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. Whenbetais supplied as zero thencneed not be set on input. | 
| c | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(ldc, n). Before entry, the leadingmbynpart of the arrayCmust contain the matrixC, except when beta is zero, in which caseCneed not be set on entry. On exit, the arrayCis overwritten by thembynmatrix(alpha*op(A)*op(B) + beta*C). | 
| ldc | Specifies the first dimension of Cas declared in the calling (sub) program.ldcmust be at leastmax(1, m). | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs one of the matrix-vector operations
y := alpha*A*x + beta*y
or
y := alpha*A'*x + beta*y
where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.
Syntax
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-13 BLAS_GEMV Procedure Parameters
| Parameter | Description | 
|---|---|
| trans | Specifies the operation to be performed: 
 | 
| m | Specifies the number of rows of the matrix A. mmust be at least zero. | 
| n | Specifies the number of columns of the matrix A. nmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,n). Before entry, the leadingmbynpart of the arrayamust contain the matrix of coefficients. | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at leastmax(1,m). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incx ) ) when  (1+(m-1)*abs(incx)) otherwise. Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. Whenbetais supplied as zero thenyneed not be set on input. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( m - 1 )*abs( incy ) ) when  ( 1 + ( n - 1 )*abs( incy ) ) otherwise. Before entry with  | 
| incy | Specifies the increment for the elements of y. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the rank 1 operation
A := alpha*x*y' + A
where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.
Syntax
UTL_NLA.BLAS_GER ( m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GER ( m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-14 BLAS_GER Procedure Parameters
| Parameter | Description | 
|---|---|
| m | Specifies the number of rows of the matrix A.mmust be at least zero. | 
| n | Specifies the number of columns of the matrix A.nmust be at least zero. | 
| alpha | Specifies the scalar alpha. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( m - 1 )*abs( incx ) ) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x. incx must not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incy ) ) Before entry, the incremented array  | 
| incy | Specifies the increment for the elements of y. incx must not be zero. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,n).Before entry, the leading  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at leastmax( 1, m ) | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This function computes the index of first element of a vector that has the largest absolute value.
Syntax
UTL_NLA.BLAS_IAMAX ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, RETURN POSITIVEN;
UTL_NLA.BLAS_IAMAX ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, RETURN POSITIVEN;
Parameters
Table 173-15 BLAS_IAMAX Function Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| x | UTL_NLA_ARRAY_FLT/DBLofDIMENSIONat least( 1 + ( n - 1 )*abs( incx ) ) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
This function computes the vector 2-norm (Euclidean norm).
Syntax
UTL_NLA.BLAS_NRM2 ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN) RETURN BINARY_DOUBLE;
UTL_NLA.BLAS_NRM2 ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN) RETURN BINARY_FLOAT;
Parameters
Table 173-16 BLAS_NRM2 Function Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incx ) ) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
This procedure returns the plane rotation of points.
Syntax
UTL_NLA.BLAS_ROT ( n IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, c IN SCALAR_DOUBLE, s IN SCALAR_DOUBLE);
UTL_NLA.BLAS_ROT ( n IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, c IN SCALAR_DOUBLE, s IN SCALAR_DOUBLE);
Parameters
Table 173-17 BLAS_ROT Procedure Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)* abs(incx)) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLofDIMENSIONat least(1+(n-1)*abs(incy)) | 
| incy | Specifies the increment for the elements of y.incymust not be zero. | 
| c | SCALAR_FLOAT/DOUBLE.Specifies the scalar C. | 
| s | SCALAR_FLOAT/DOUBLE.Specifies the scalar S. | 
This procedure returns the Givens rotation of points.
Syntax
UTL_NLA.BLAS_ROTG ( a IN OUT SCALAR_DOUBLE, b IN OUT SCALAR_DOUBLE, c IN OUT SCALAR_DOUBLE, s IN OUT SCALAR_DOUBLE);
UTL_NLA.BLAS_ROTG ( a IN OUT SCALAR_FLOAT, b IN OUT SCALAR_FLOAT, c IN OUT SCALAR_FLOAT, s IN OUT SCALAR_FLOAT);
Parameters
Table 173-18 BLAS_ROT G Procedure Parameters
| Parameter | Description | 
|---|---|
| a | SCALAR_FLOAT/DOUBLE. Specifies the scalar A. | 
| b | SCALAR_FLOAT/DOUBLE. Specifies the scalar B. | 
| c | SCALAR_FLOAT/DOUBLE. Specifies the scalar C. | 
| s | SCALAR_FLOAT/DOUBLE. Specifies the scalar S. | 
This procedure scales a vector by a constant.
Syntax
UTL_NLA.BLAS_SCAL ( n IN POSITIVEN, alpha IN SCALAR_DOUBLE, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN);
UTL_NLA.BLAS_SCAL ( n IN POSITIVEN, alpha IN SCALAR_FLOAT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN);
Parameters
Table 173-19 BLAS_SCAL Procedure Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| alpha | Specifies the scalar alpha. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
This procedure performs the matrix-vector operation
y := alpha*A*x + beta*y
where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix, supplied in packed form.
Syntax
UTL_NLA.BLAS_SPMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, ap IN UTL_NLA_ARRAY_DBL, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SPMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLOAT, ap IN UTL_NLA_ARRAY_FLT, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-20 BLAS_SPMV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies the upper or lower triangular part of the matrix A is supplied in the packed array AP:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| ap | UTL_NLA_ARRAY_FLT/DBLof dimension at least((n*(n+1))/2) Before entry with  Before entry with  | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. Whenbetais supplied as zero thenYneed not be set on input. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at leasT(1+(n-1)*abs(incy)) Before entry, the incremented array  | 
| incy | Specifies the increment for the elements of y. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the rank 1 operation
A := alpha*x*x' + A
where alpha is a real scalar, x is an n element vector, and A is an n by n symmetric matrix, supplied in packed form.
Syntax
UTL_NLA.BLAS_SPR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SPR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, pack IN flag DEFAULT 'C');
Parameters
Table 173-21 BLAS_SPR Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the matrix Ais supplied in the packed arrayap:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| alpha | Specifies the scalar alpha. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| ap | UTL_NLA_ARRAY_FLT/DBLof dimension at least((n*(n +1))/2) Before entry with  Before entry with  | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the rank 2 operation
A := alpha*x*y' + alpha*y*x' +A
where alpha is a scalar, x and y are n element vectors, and A is an n by n symmetric matrix, supplied in packed form.
Syntax
UTL_NLA.BLAS_SPR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SPR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-22 BLAS_SPR2 Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the matrix Ais supplied in the packed arrayap:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| alpha | Specifies the scalar alpha. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incy)) Before entry, the incremented array  | 
| incy | Specifies the increment for the elements of y.incymust not be zero. | 
| ap | UTL_NLA_ARRAY_FLT/DBLof dimension at least((n*(n+1))/2) Before entry with  Before entry with  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at least(k + 1). | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the matrix-vector operation
y := alpha*A*x + beta*y
where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric band matrix, with k super-diagonals.
Syntax
UTL_NLA.BLAS_SBMV ( uplo IN flag, n IN POSITIVEN, k IN NATURALN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SBMV ( uplo IN flag, n IN POSITIVEN, k IN NATURALN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-23 BLAS_SBMV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the band matrix Ais being supplied:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| k | Specifies the number of super-diagonals of the matrix A.kmust satisfy0 .le. k. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,n).Before entry with  Before entry with  Unchanged on exit | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at least(k + 1). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incy)) Before entry, the incremented array  | 
| incy | Specifies the increment for the elements of y. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure swaps the contents of two vectors each of size n.
Syntax
UTL_NLA.BLAS_SWAP ( n IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN);
UTL_NLA.BLAS_SWAP ( n IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN);
Parameters
Table 173-24 BLAS_SWAP Procedure Parameters
| Parameter | Description | 
|---|---|
| n | Specifies the number of elements of the vectors xandy.nmust be at least zero. | 
| x | UTL_NLA_ARRAY_FLT/DBLofdimensionat least(1+(n-1)*abs(incx)) | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLofDIMENSIONat least(1+(n-1)*abs(incy)) | 
| incy | Specifies the increment for the elements of y.incymust not be zero. | 
This procedure performs one of the matrix-matrix operations
C := alpha*A*B + beta*C
or
C := alpha*B*A + beta*C
where alpha and beta are scalars, A is a symmetric matrix, and B and C are m by n matrices.
Syntax
UTL_NLA.BLAS_SYMM ( side IN flag, uplo IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYMM ( side IN flag, uplo IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_FLT, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-25 BLAS_SYMM Procedure Parameters
| Parameter | Description | 
|---|---|
| side | Specifies whether the symmetric matrix Aappears on the left or right in the operation:
 | 
| uplo | Specifies whether the upper or lower triangular part of the array Ais to be referenced:
 | 
| m | Specifies the number of rows of the matrix C.mmust be at least zero. | 
| n | Specifies the number of columns of the matrix C.nmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,ka)wherekaismwhenside='L'or'l', and isnotherwise.Before entry with  Before entry with  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program. When side ='L'or'l',ldamust be at leastmax(1,m), otherwiseldamust be at leastmax(1,n). | 
| b | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (ldb,n).Before entry, the leading  | 
| ldb | Specifies the first dimension of bas declared in the calling (sub) program.ldbmust be at leastmax(1,m). | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. Whenbetais supplied as zero thencneed not be set on input. | 
| c | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (ldc,n). Before entry, the leadingmbynpart of the arrayCmust contain the matrixC, except when beta is zero, in which caseCneed not be set on entry. On exit, the arrayCis overwritten by thembynupdated matrix. | 
| ldc | Specifies the first dimension of Cas declared in the calling (sub) program.ldcmust be at leastmax (1,m). | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the matrix-vector operation
y := alpha*A*x + beta*y
where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix.
Syntax
UTL_NLA.BLAS_SYMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-26 BLAS_SYMV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the array Ais to be referenced:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,n). Before entry withuplo='U'or'u', the leadingnbynupper triangular part of the arrayAmust contain the upper triangular part of the symmetric matrix and the strictly lower triangular part ofAis not referenced.Before entry with  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at leastmax(1,n). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. Whenbetais supplied as zero thenyneed not be set on input. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incy)) Before entry, the incremented array  | 
| incy | Specifies the increment for the elements of y. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the rank 1 operation
A := alpha*x*x' + A
where alpha is a real scalar, x is an n element vector, and A is an n by n symmetric matrix.
Syntax
UTL_NLA.BLAS_SYR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-27 BLAS_SYR Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the array Ais to be referenced:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| alpha | Specifies the scalar alpha. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda, n)Before entry with  Before entry with  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at leastmax( 1, n ) | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the rank 2 operation
A := alpha*x*y' + alpha*y*x' + A
where alpha is a scalar, x and y are n element vectors, and A is an n by n symmetric matrix.
Syntax
UTL_NLA.BLAS_SYR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-28 BLAS_SYR2 Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the array Ais to be referenced:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| alpha | Specifies the scalar alpha. | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incx ) ) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| y | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 )*abs( incy ) ) Before entry, the incremented array  | 
| incy | Specifies the increment for the elements of y.incymust not be zero. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda, n)With  With  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at leastmax( 1, n ) | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs one of the symmetric rank2 k operations
C := alpha*A*B' + alpha*B*A' + beta*C
or
C := alpha*A'*B + alpha*B'*A + beta*C
where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.
Syntax
UTL_NLA.BLAS_SYR2K ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYR2K ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_FLT, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-29 BLAS_SYR2K Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the array Cis to be referenced:
 | 
| trans | Specifies the operations to be performed: 
 | 
| n | Specifies the order of matrix C.nmust be at least zero. | 
| k | On entry with trans='N'or'n',kspecifies the number of columns of the matricesAandB. On entry withtrans='T'or't'ortrans='C'or'c',kspecifies the number of rows of the matricesAandB.kmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,ka)wherekbiskwhentrans='N'or'n', and isnotherwise.Before entry with  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program. Whentrans = 'N' or 'n',ldamust be at leastmax(1,n), otherwiseldamust be at leastmax(1,k). | 
| b | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,kb)wherekbiskwhentrans='N'or'n', and isnotherwise.Before entry with  | 
| ldb | Specifies the first dimension of bas declared in the calling (sub) program. Whentrans = 'N' or 'n',ldbmust be at leastmax(1,n), otherwiseldbmust be at leastmax(1,k). | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. | 
| c | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (ldc,n).Before entry with  Before entry with  | 
| ldc | Specifies the first dimension of Cas declared in the calling (sub) program.ldcmust be at leastmax(1,n). | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs one of the symmetric rank k operations
C := alpha*A*A' + beta*C
or
C := alpha*A'*A + beta*C
where alpha and beta are scalars, C is an n by n symmetric matrix andA is an n by k matrix in the first case and a k byn matrix in the second case.
Syntax
UTL_NLA.BLAS_SYRK ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYRK ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-30 BLAS_SYRK Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the upper or lower triangular part of the array Cis to be referenced:
 | 
| trans | Specifies the operations to be performed: 
 | 
| n | Specifies the order of matrix C.nmust be at least zero. | 
| k | On entry with trans='N'or'n',kspecifies the number of columns of the matrixA. On entry withtrans='T'or't'ortrans='C'or'c',kspecifies the number of rows of the matrixA.kmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,ka)wherekais k whentrans='N'or'n', and isnotherwise.Before entry with  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program. Whentrans = 'N' or 'n',ldamust be at leastmax(1,n), otherwiseldamust be at leastmax(1,k). | 
| beta | SCALAR_FLOAT/DOUBLE. Specifies the scalar beta. | 
| c | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (ldc,n).Before entry with  Before entry with  | 
| ldc | Specifies the first dimension of Cas declared in the calling (sub) program.ldcmust be at leastmax(1,n). | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the matrix-vector operations
x := A*x
or
x := A'*x
where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with (k+1) diagonals.
Syntax
UTL_NLA.BLAS_TBMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TBMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-31 BLAS_TBMV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the matrix is an upper or lower triangular matrix: 
 | 
| trans | Specifies the operation to be performed: 
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| k | Specifies whether or not Ais unit triangular:
 K must satisfy  | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,n).Before entry with  Before entry with  Note that when  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at least(k+1). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)). Before entry, the incremented arrayXmust contain thenelement vectorx. On exit,Xis overwritten with the transformed vectorx. | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure solves one of the systems of equations
A*x = b
or
A'*x = b
where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with (k+1) diagonals.
Syntax
UTL_NLA.BLAS_TBSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_STBSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-32 BLAS_TBSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the matrix is an upper or lower triangular matrix: 
 | 
| trans | Specifies the equations to be solved: 
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| k | Specifies whether or not Ais unit triangular:
 K must satisfy  | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,n).Before entry with  Before entry with  Note that when  | 
| lda | On entry, ldaspecifies the first dimension ofAas declared in the calling (sub) program.ldamust be at least(k+1). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 ) *abs( incx ) ) Before entry, the incremented array  On exit,  | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
Usage Notes
No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.
This procedure performs the matrix-vector operations
x := A*x
or
x := A'*x
where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix, supplied in packed form.
Syntax
UTL_NLA.BLAS_TPMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TBMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-33 BLAS_TPMV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the matrix is an upper or lower triangular matrix: 
 | 
| trans | Specifies the operation to e performed: 
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| ap | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,n).Before entry with  Before entry with  Note that when  | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*abs(incx)). Before entry, the incremented arrayXmust contain thenelement vectorx. On exit,Xis overwritten with the transformed vectorx. | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure solves one of the systems of equations
A*x = b
or
A'*x = b
where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix, supplied in packed form.
Syntax
UTL_NLA.BLAS_TPSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TPSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-34 BLAS_TPSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the matrix is an upper or lower triangular matrix: 
 | 
| trans | Specifies the operation to be performed: 
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| ap | UTL_NLA_ARRAY_FLT/DBLof dimension at least((n*(n+1))/2) Before entry with  Before entry with  Note that when  | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least( 1 + ( n - 1 ) *abs( incx ) ) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x.incxmust not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
Usage Notes
No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.
This procedure performs one of the matrix-matrix operations
B := alpha*op( A )*B
or
B := alpha*B*op( A )
where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op(A) is one of
op( A ) = A
or
op( A ) = A'
Syntax
UTL_NLA.BLAS_TRMM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRMM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-35 BLAS_TRMM Procedure Parameters
| Parameter | Description | 
|---|---|
| side | Specifies whether the symmetric matrix Aappears on the left or right in the operation:
 | 
| uplo | Specifies whether the upper or lower triangular part of the array Ais to be referenced:
 | 
| transa | Specifies the form of op(A)to be used in the matrix multiplication as follows:
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| m | Specifies the number of rows of the B.mmust be at least zero. | 
| n | Specifies the number of columns of B.nmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. Whenalphais zero thenAis not referenced andBneed not be set before entry. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (lda,k)wherekis m whenside='L'or'l', and isnwhenside= ''R'or'r'.Before entry with  Before entry with  Note that when  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program. Whenside = 'L' or 'l',ldamust be at leastmax(1,m), otherwiseldamust be at leastmax(1,n). | 
| b | UTL_NLA_ARRAY_FLT/DBLofDIMENSION (ldb,n).Before entry, the leading  | 
| ldb | Specifies the first dimension of bas declared in the calling (sub) program.ldbmust be at leastmax(1,m). | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs the matrix-vector operations
x := A*x
or
x := A'*x
where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.
Syntax
UTL_NLA.BLAS_TRMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-36 BLAS_TRMV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the matrix is an upper or lower triangular matrix: 
 | 
| trans | Specifies the operation to be performed: 
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,n).Before entry with  Before entry with  Note that when  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program.ldamust be at leastmax(1,n). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1+(n-1)*as(incx)). Before entry, the incremented arrayXmust contain thenelement vectorx. | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure performs one of the matrix-matrix operations
op( A )*X = alpha*B
or
X*op( A ) = alpha*B
where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op(A) is one of
op( A ) = A
or
op( A ) = A'
The matrix X is overwritten on B.
Syntax
UTL_NLA.BLAS_TRSM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRSM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-37 BLAS_TRSM Procedure Parameters
| Parameter | Description | 
|---|---|
| side | Specifies whether the symmetric matrix Aappears on the left or right in the operation:
 | 
| uplo | Specifies whether the upper or lower triangular part of the array Ais to be referenced:
 | 
| transa | Specifies the form of op(A)to be used in the matrix multiplication as follows:
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| m | Specifies the number of rows of the B.mmust be at least zero. | 
| n | Specifies the number of columns of B.nmust be at least zero. | 
| alpha | SCALAR_FLOAT/DOUBLE. Specifies the scalar alpha. Whenalphais zero thenAis not referenced andBneed not be set before entry. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,k) wherekismwhenside='L'or'l', and isnwhenside= 'R' or'r'.Before entry with  Before entry with  Note that when  | 
| lda | Specifies the first dimension of aas declared in the calling (sub) program. Whenside = 'L' or 'l',ldamust be at leastmax(1,m), otherwiseldamust be at leastmax(1,n). | 
| b | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(ldb,n).Before entry, the leading  | 
| ldb | Specifies the first dimension of bas declared in the calling (sub) program.ldbmust be at leastmax(1,m). | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure solves one of the systems of equations
A*x = b
or
A'*x = b
where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.
Syntax
UTL_NLA.BLAS_TRSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
Parameters
Table 173-38 BLAS_TRSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | Specifies whether the matrix is an upper or lower triangular matrix: 
 | 
| trans | Specifies the operation to be performed: 
 | 
| diag | Specifies whether or not Ais unit triangular:
 | 
| n | Specifies the order of the matrix A.nmust be at least zero. | 
| a | UTL_NLA_ARRAY_FLT/DBLofDIMENSION(lda,n).Before entry with  Before entry with  Note that when  | 
| lda | Specifies the first dimension of Aas declared in the calling (sub) program.ldamust be at leastmax(1, n). | 
| x | UTL_NLA_ARRAY_FLT/DBLof dimension at least(1 + (n - 1) * abs (incx)) Before entry, the incremented array  | 
| incx | Specifies the increment for the elements of x. Must not be zero. | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
Usage Notes
No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.
This procedure computes the solution to a real system of linear equations
a * x = b
where a is a band matrix of order n with kl sub diagonals and ku superdiagonals, and x and b are n by nrhs matrices.
The LU decomposition with partial pivoting and row interchanges is used to factor A as
a = L * U
where L is a product of permutation and unit lower triangular matrices with kl sub diagonals, and U is upper triangular with kl+ku superdiagonals. The factored form of a is then used to solve the system of equations
a * x = b
Syntax
UTL_NLA.LAPACK_GBSV ( n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, nrhs IN POSITIVEN, ab IN OUT UTL_NLA_ARRAY_DBL, ldab IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GBSV ( n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, nrhs IN POSITIVEN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-39 LAPACK_GBSV Procedure Parameters
| Parameter | Description | 
|---|---|
| n | The number of linear equations, equivalent to the order of the matrix a.n >= 0 | 
| kl | The number of sub diagonals within the band of a. kl >= 0. | 
| ku | The number of superdiagonals within the band of a.ku >= 0. | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| ab | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldab, n).On entry, the matrix a in band storage, in rows  
 On exit, details of the factorization:  
 | 
| ldab | The leading dimension of the array ab. 
 | 
| ipiv | INTEGERarray,DIMENSION (n).The pivot indices that define the permutation matrix  | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b. 
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure computes for an n by n real nonsymmetric matrix A, the eigenvalues, the real Schur form T, and, optionally, the matrix of Schur vectors Z. This gives the Schur factorization A = Z*T*(Z**T).
A matrix is in real Schur form if it is upper quasi-triangular with 1 by 1 and 2 by 2 blocks. 2 by 2 blocks will be standardized in the form
[ a b ]
[ c a ]
where b*c < 0. The eigenvalues of such a block are a +- sqrt(bc).
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_GEES ( jobvs IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_DBL, wi IN OUT UTL_NLA_ARRAY_DBL, vs IN OUT UTL_NLA_ARRAY_DBL, ldvs IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GEES ( jobvs IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_FLT, wi IN OUT UTL_NLA_ARRAY_FLT, vs IN OUT UTL_NLA_ARRAY_FLT, ldvs IN POSITIVEN, info OUT integer, pack IN flag DEFAULT 'C');
Parameters
Table 173-40 LAPACK_GEES Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| n | The order of the matrix a. N >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (lda, n).
 | 
| lda | The leading dimension of the array a. lda >= max(1,n). | 
| wr | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| wi | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldz, n).
 | 
| vs | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| ldvs | The leading dimension of the array vs.VS. ldvs >= 1. Ifjobvs = 'V',ldvs >= N | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure solves overdetermined or underdetermined real linear systems involving an m by n matrix A, or its transpose, using a QR or LQ factorization of A. It is assumed that A has full rank.
The following options are provided:
If TRANS = 'N' and m >= n: find the least squares solution of an overdetermined system, that is, solve the least squares problem.
minimize || B - A*X ||
If TRANS = 'N' and m < n: find the minimum norm solution of an underdetermined system A * X = B.
If TRANS = 'T' and m >= n: find the minimum norm solution of an undetermined system A**T * X = B.
If TRANS = 'T' and m < n: find the least squares solution of an overdetermined system, that is, solve the least squares problem minimize || B - A**T * X ||.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_GELS ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GELS ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-41 LAPACK_GELS Procedure Parameters
| Parameter | Description | 
|---|---|
| trans | 
 | 
| m | The number of rows of the matrix a. M >= 0. | 
| n | The number of columns of the matrix a. N >= 0. | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix bandx.nrhs >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (lda, n).On entry, the matrix  On exit, if  | 
| lda | The leading dimension of the array A.lda >= max(1,m). | 
| b | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldb, nrhs).On entry, the matrix  On exit,  
 | 
| ldb | The leading dimension of the array b.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedures computes the singular value decomposition (SVD) of a real m by n matrix A, optionally computing the left and right singular vectors. If singular vectors are desired, it uses a divide-and-conquer algorithm that makes mild assumptions about floating point arithmetic.
The SVD is written
A = U * SIGMA * transpose(V)
where SIGMA is an m by n matrix which is zero except for its min(m,n) diagonal elements, U is anm by m orthogonal matrix, and V is ann by n orthogonal matrix. The diagonal elements of SIGMA are the singular values of A, they are real and non-negative, and are returned in descending order. The first min(m,n) columns of U and V are the left and right singular vectors of A.
Note that the routine returns V**T, not V.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_GESDD ( jobz IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_DBL, u IN OUT UTL_NLA_ARRAY_DBL, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_DBL, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GESDD ( jobz IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_FLT, u IN OUT UTL_NLA_ARRAY_FLT, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_FLT, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-42 LAPACK_GESDD Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | Specifies options for computing all or part of the matrix U:
 | 
| m | The order of the matrix a. m >= 0. | 
| n | The order of the matrix a. n >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (lda, n).On entry, the  On exit: 
 | 
| lda | The leading dimension of the array a. lda >= max(1,m). | 
| s | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (min(m,n).The singular values of  | 
| u | UTL_NLA_ARRAY_FLT/DBL.ucol = mifjobz = 'A'orjobz = 'O'andm < n;ucol = min(m,n)ifjobz = 'S'.
 | 
| ldu | The leading dimension of the array U. ldu >= 1.Ifjobz = 'S'or'A',orjobz = 'O'andm < n,ldu >= m. | 
| vt | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldvt, n).
 | 
| ldvt | The leading dimension of the array vt.ldvt >= 1.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes the solution to a real system of linear equations
a * x = b
where a is an n by n matrix and x and b are n by nrhs matrices.
The LU decomposition with partial pivoting and row interchanges is used to factor A as
a = P * L * U
where P is a permutation matrix, L is unit lower triangular, and U is upper triangular. The factored form of a is then used to solve the system of equations
a * x = b
Syntax
UTL_NLA.LAPACK_GESV ( n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GESV ( n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-43 LAPACK_GESV Procedure Parameters
| Parameter | Description | 
|---|---|
| n | The number of linear equations, equivalent to the order of the matrix a.n >= 0 | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (lda, n).On entry, the  On exit, the factors  | 
| lda | The leading dimension of the array a. 
 | 
| ipiv | INTEGERarray,DIMENSION (n).The pivot indices that define the permutation matrix  | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedures computes the singular value decomposition (SVD) of a real m by n matrix A, optionally computing the left and/or right singular vectors. The SVD is written
A = U * SIGMA * transpose(V)
where SIGMA is an m by n matrix which is zero except for its min(m,n) diagonal elements, U is anm by m orthogonal matrix, and V is ann by n orthogonal matrix. The diagonal elements of SIGMA are the singular values of A, they are real and non-negative, and are returned in descending order. The first min(m,n) columns of U and V are the left and right singular vectors of A.
Note that the routine returns V**T, not V.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_GESVD ( jobu IN flag, jobvt IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_DBL, u IN OUT UTL_NLA_ARRAY_DBL, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_DBL, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GESVD ( jobu IN flag, jobvt IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_FLT, u IN OUT UTL_NLA_ARRAY_FLT, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_FLT, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-44 LAPACK_GESVD Procedure Parameters
| Parameter | Description | 
|---|---|
| jobu | Specifies options for computing all or part of the matrix U:
 | 
| jobvt | Specifies options for computing all or part of the matrix V**T:
 | 
| m | The order of the matrix a. M >= 0. | 
| n | The order of the matrix a. N >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (lda, n).On entry, the  On exit: 
 | 
| lda | The leading dimension of the array a. lda >= max(1,n). | 
| s | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (min(m,n).The singular values of  | 
| u | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldu,ucol).(ldu,m)ifjobu = 'A'or(ldu,min(m,n))ifjobu = 'S'.
 | 
| ldu | The leading dimension of the array U. ldu >= 1.Ifjobu = 'S'or 'a',ldu >= m. | 
| vt | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldvt, n).
 | 
| ldvt | The leading dimension of the array vt.ldvt >= 1.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedures computes for an n by n real nonsymmetric matrix A, the eigenvalues and, optionally, the left and/or right eigenvectors.
The right eigenvector v(j) of A satisfies A * v(j) = lambda(j) * v(j) where lambda(j) is its eigenvalue.
The left eigenvector u(j) of A satisfies u(j)**H * A = lambda(j) * u(j)**H where u(j)**H denotes the conjugate transpose of u(j).
The computed eigenvectors are normalized to have Euclidean norm equal to 1 and largest component real.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_GEEV ( jobvl IN flag, jobvr IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_DBL, wi IN OUT UTL_NLA_ARRAY_DBL, vl IN OUT UTL_NLA_ARRAY_DBL, ldvl IN POSITIVEN, vr IN OUT UTL_NLA_ARRAY_DBL, ldvr IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GEEV ( jobvl IN flag, jobvr IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_FLT, wi IN OUT UTL_NLA_ARRAY_FLT, vl IN OUT UTL_NLA_ARRAY_FLT, ldvl IN POSITIVEN, vr IN OUT UTL_NLA_ARRAY_FLT, ldvr IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-45 LAPACK_GEEV Procedure Parameters
| Parameter | Description | 
|---|---|
| jobvl | 
 | 
| jobvr | 
 | 
| n | The order of the matrix a. N >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (lda, n).
 | 
| lda | The leading dimension of the array a. lda >= max(1,n). | 
| wr | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| wi | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldz, n).
 | 
| vl | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| ldv1 | The leading dimension of the array vl.ldvl >= 1. If jobvl = 'v',ldvl >= n. | 
| vr | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldvr, n).
 | 
| ldvr | The leading dimension of the array vr.vr.ldvr >= 1. Ifjobvr = 'V',ldvr >= N | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure solves the equation
a * x = b
where a is an n by n tridiagonal matrix, by Gaussian elimination with partial pivoting.
Note that the equation a'*x = b may be solved by interchanging the order of the arguments du and dl.
Syntax
UTL_NLA.LAPACK_GTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, dl IN OUT UTL_NLA_ARRAY_DBL, d IN OUT UTL_NLA_ARRAY_DBL, du IN OUT UTL_NLA_ARRAY_DBL, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, dl IN OUT UTL_NLA_ARRAY_FLT, d IN OUT UTL_NLA_ARRAY_FLT, du IN OUT UTL_NLA_ARRAY_FLT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-46 LAPACK_GTSV Procedure Parameters
| Parameter | Description | 
|---|---|
| n | The order of the matrix a.n >= 0 | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| dl | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n-1).On entry,  On exit,  | 
| d | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n).On entry,  On exit,  | 
| du | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n-1).On entry,  On exit,  | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (LDB, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b. 
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure computes the solution to a real system of linear equations
a * x = b
where a is an n by n symmetric positive definite band matrix and x and b are n by nrhs matrices.
The Cholesky decomposition is used to factor A as
A = U**T*U if UPLO ='U'
or
A = L * L**T if UPLO = 'L'
where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.
Syntax
UTL_NLA.LAPACK_PBSV (
uplo       IN      flag,
n          IN      POSITIVEN,
kd         IN      NATURALN,
nrhs       IN      POSITIVEN,
ab         IN OUT  UTL_NLA_ARRAY_DBL,
ldab       IN      POSITIVEN,
b          IN OUT  UTL_NLA_ARRAY_DBL,
ldb        IN      POSITIVEN,
info       OUT     INTEGER,
pack       IN      flag DEFAULT 'C');
    
UTL_NLA.LAPACK_PBSV ( uplo IN flag, n IN POSITIVEN, kd IN NATURALN, nrhs IN POSITIVEN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-47 LAPACK_PBSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | 
 | 
| n | The number of linear equations, that is, the order of the matrix a.n >= 0 | 
| kd | The number of superdiagonals of the matrix Aifuplo = 'U', or the number of subdiagonals ifUPLO = 'L'. KD >= 0. | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| ab | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldab, n).On entry, the upper or lower triangle of the symmetric band matrix  
 .See below for further details.On exit, if  | 
| ldab | The leading dimension of the array ab.
 | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure computes the solution to a real system of linear equations
a * x = b
where a is an n by n symmetric positive definite matrix and x and b are n by nrhs matrices.
The Cholesky decomposition is used to factor A as
A = U**T* U if uplo = 'U'
or
A = L * L**T if UPLO = 'L'
where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.
Syntax
UTL_NLA.LAPACK_POSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_POSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-48 LAPACK_POSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | 
 | 
| n | The number of linear equations, that is, the order of the matrix a.n >= 0 | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (lda, n).If  If  On exit, if  | 
| lda | The leading dimension of the array a. 
 | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b. 
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure computes the solution to a real system of linear equations
a * x = b
where a is an n by n symmetric positive definite matrix stored in packed format and x and b are n by nrhs matrices.
The Cholesky decomposition is used to factor A as
A = U**T* U if UPLO = 'U'
or
A = L * L**T if UPLO = 'L'
where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.
Syntax
UTL_NLA.LAPACK_PPSV (
   uplo      IN      flag,
   n         IN      POSITIVEN,
   nrhs      IN      POSITIVEN,
   ap        IN OUT  UTL_NLA_ARRAY_DBL,
   b         IN OUT  UTL_NLA_ARRAY_DBL,
   ldb       IN      POSITIVEN,
   info      OUT     INTEGER,
   pack      IN      flag DEFAULT 'C');
    
UTL_NLA.LAPACK_PPSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-49 LAPACK_PPSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | 
 | 
| n | The number of linear equations, that is, the order of the matrix a.n >= 0 | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| ap | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n*(n+1)/2).On entry, the upper or lower triangle of the symmetric matrix  If  If  On exit, if  | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b. 
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure computes the solution to a real system of linear equations
a * x = b
where a is an n by n symmetric positive definite tridiagonal matrix, and x and b are n by nrhs matrices.
a is factored as A = L*D*L**T, and the factored form of a is then used to solve the system of equations.
Syntax
UTL_NLA.LAPACK_PTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_DBL, e IN OUT UTL_NLA_ARRAY_DBL, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_PTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_FLT, e IN OUT UTL_NLA_ARRAY_FLT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-50 LAPACK_PTSV Procedure Parameters
| Parameter | Description | 
|---|---|
| n | The order of the matrix a. N >= 0. | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| d | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n).On entry, the  On exit, the  | 
| e | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n-1).On entry, the  On exit, the  | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure computes all the eigenvalues and, optionally, eigenvectors of a real symmetric band matrix A.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_SBEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_DBL, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SBEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-51 LAPACK_SBEV Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| uplo | 
 | 
| n | The order of the matrix a. N >= 0. | 
| kd | The number of superdiagonals of the matrix Aifuplo = 'U',or the number of subdiagonals ifuplo = 'L'.kd >= 0. | 
| ab | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldab, n).On entry, the upper or lower triangle of the symmetric band matrix  
 On exit,  
 | 
| ldab | The leading dimension of the array ab. ldab >= kd + 1. | 
| w | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).If  | 
| z | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| ldz | The leading dimension of the array z.ldz >= 1, and ifjobz = 'v',ldz >= max(1,n). | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_SBEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_DBL, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SBEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-52 LAPACK_SBEVD Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| uplo | 
 | 
| n | The order of the matrix a. N >= 0. | 
| kd | The number of superdiagonals of the matrix Aifuplo = 'U', or the number of subdiagonals ifuplo = 'L'.kd >= 0. | 
| ab | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldab, n).On entry, the upper or lower triangle of the symmetric band matrix  
 On exit,  
 | 
| ldab | The leading dimension of the array ab. ldab >= kd + 1. | 
| w | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldz,n).If  | 
| z | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| ldz | The leading dimension of the array z.ldz >= 1, and ifjobz = 'v',ldz >= max(1,n). | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_SPEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SPEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-53 LAPACK_SPEV Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| uplo | 
 | 
| n | The order of the matrix a. N >= 0. | 
| ap | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n*(n+1)/2).On entry, the upper or lower triangle of the symmetric matrix  
 On exit,  
 | 
| w | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).If  | 
| z | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldz,n).
 | 
| ldz | The leading dimension of the array z.ldz >= 1, and ifjobz = 'v',ldz >= max(1,n). | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_SPEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SPEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-54 LAPACK_SPEVD Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| uplo | 
 | 
| n | The order of the matrix a. N >= 0. | 
| ap | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n*(n+1)/2).On entry, the upper or lower triangle of the symmetric matrix  
 On exit,  
 | 
| w | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).If  | 
| z | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldz,n).
 | 
| ldz | The leading dimension of the array z.ldz >= 1, and ifjobz = 'v',ldz >= max(1,n). | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes the solution to a real system of linear equations
a * x = b
where a is an n by n symmetric matrix stored in packed format, and x and b are n by nrhs matrices.
The diagonal pivoting method is used to factor A as
A = U * D * U**T, if UPLO = 'U'
or
A = L * D * L**T, if UPLO = 'L'
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1 by 1 and 2 by 2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
Syntax
UTL_NLA.LAPACK_SPSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SPSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-55 LAPACK_SPSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | 
 | 
| n | The number of linear equations, which is the order of the matrix a. N >= 0. | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| ap | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n*(n+1)/2).On entry, the upper or lower triangle of the symmetric matrix  
 See below for further details. On exit, the block diagonal matrix  | 
| ipiv | INTEGER array, DIMENSION (n).Details of the interchanges and the block structure of  
 | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 | 
This procedure computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_STEV ( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_DBL, e IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_STEV ( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_FLT, e IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-56 LAPACK_STEV Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| n | The order of the matrix a. N >= 0. | 
| d | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| e | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| z | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldz, n).
 | 
| ldz | The leading dimension of the array z.ldz >= 1, and ifjobz = 'v',ldz >= max(1,n). | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_STEVD ( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_DBL, e IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_STEVD( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_FLT, e IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-57 LAPACK_STEVD Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| n | The order of the matrix a. N >= 0. | 
| d | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| e | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).
 | 
| z | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (ldz, n).
 | 
| ldz | The leading dimension of the array z.ldz >= 1, and ifjobz = 'v',ldz >= max(1,n). | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_SYEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SYEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-58 LAPACK_SYEV Procedure Parameters
| Paramete | Description | 
|---|---|
| jobz | 
 | 
| uplo | 
 | 
| n | The order of the matrix a. N >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (lda, n).On entry, the symmetric matrix  
 On exit: 
 | 
| lda | The leading dimension of the array a.lda >= max(1,n). | 
| w | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).If  | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm that makes mild assumptions about floating point arithmetic.
| See Also:LAPACK Driver Routines (LLS and Eigenvalue Problems) Subprograms for other subprograms in this group | 
Syntax
UTL_NLA.LAPACK_SYEVD (
jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, info OUT INTEGER, pack IN flag DEFAULT 'C'); UTL_NLA.LAPACK_SYEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-59 LAPACK_SYEVD Procedure Parameters
| Parameter | Description | 
|---|---|
| jobz | 
 | 
| uplo | 
 | 
| n | The order of the matrix a. N >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (lda, n).On entry, the symmetric matrix  
 On exit: 
 | 
| lda | The leading dimension of the array a.lda >= max(1,n). | 
| w | UTL_NLA_ARRAY_FLT/DBL,DIMENSION (n).If  | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matricies: 
 | 
This procedure computes the solution to a real system of linear equations
a * x = b
where a is an n by n symmetric matrix, and x and b are n by nrhs matrices.
The diagonal pivoting method is used to factor A as
A = U * D * U**T, if UPLO = 'U'
or
A = L * D * L**T, if UPLO = 'L'
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1 by 1 and 2 by 2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
Syntax
UTL_NLA.LAPACK_SYSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SYSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
Parameters
Table 173-60 LAPACK_SYSV Procedure Parameters
| Parameter | Description | 
|---|---|
| uplo | 
 | 
| n | The number of linear equations, which is the order of the matrix a. N >= 0. | 
| nrhs | The number of right-hand sides, which is the number of columns of the matrix b.nrhs >= 0. | 
| a | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (n-1).On entry, the symmetric matrix  On exit, if  | 
| lda | The leading dimension of the array a.
 | 
| ipiv | INTEGER array, DIMENSION (ldb, nrhs).Details of the interchanges and the block structure of  
 | 
| b | UTL_NLA_ARRAY_FLT/DBL, DIMENSION (ldb, nrhs).On entry, the  On exit, if  | 
| ldb | The leading dimension of the array b.
 | 
| info | 
 | 
| pack | (Optional) Flags the packing of the matrices: 
 |