| General Information |
| Library Note |
Morgan's Library Page Header
|
| Purpose |
UTiLity Numerical Linear Algebra: PL/SQL language bindings for the BLAS and LAPACK libraries. |
| AUTHID |
DEFINER |
| Data Types |
CREATE OR REPLACE TYPE UTL_NLA_ARRAY_DBL is VARRAY(1000000) OF BINARY_DOUBLE;
/
CREATE OR REPLACE TYPE UTL_NLA_ARRAY_FLT is VARRAY(1000000) OF BINARY_FLOAT;
/
CREATE OR REPLACE TYPE UTL_NLA_ARRAY_INT is VARRAY(1000000) OF INTEGER;
/
SUBTYPE scalar_double IS BINARY_DOUBLE NOT NULL;
SUBTYPE scalar_float IS BINARY_FLOAT NOT NULL;
SUBTYPE flag IS CHAR(1) NOT NULL; |
| Dependencies |
| DBMS_STANDARD |
SDO_TIN_PKG |
UTL_NLA_ARRAY_FLT |
| NLS_SESSION_PARAMETERS |
UTL_MAT_LIB |
UTL_NLA_ARRAY_INT |
| PLITBLM |
UTL_NLA_ARRAY_DBL |
|
|
| Documented |
Yes |
| First Available |
12.1.0 |
| Security Model |
Owned by SYS with EXECUTE granted to PUBLIC |
| Source |
$ORACLE_HOME/rdbms/admin/utlnla.sql |
| Subprograms |
| BLAS_ASUM |
BLAS_SYMV |
LAPACK_GESVD |
| BLAS_AXPY |
BLAS_SYR |
LAPACK_GTSV |
| BLAS_COPY |
BLAS_SYR2 |
LAPACK_PBSV |
| BLAS_DOT |
BLAS_SYR2K |
LAPACK_POSV |
| BLAS_GBMV |
BLAS_SYRK |
LAPACK_PPSV |
| BLAS_GEMM |
BLAS_TBMV |
LAPACK_PTSV |
| BLAS_GEMV |
BLAS_TBSV |
LAPACK_SBEV |
| BLAS_GER |
BLAS_TPMV |
LAPACK_SBEVD |
| BLAS_IAMAX |
BLAS_TPSV |
LAPACK_SPEV |
| BLAS_NRM2 |
BLAS_TRMM |
LAPACK_SPEVD |
| BLAS_ROT |
BLAS_TRMV |
LAPACK_SPSV |
| BLAS_ROTG |
BLAS_TRSM |
LAPACK_STEV |
| BLAS_SBMV |
BLAS_TRSV |
LAPACK_STEVD |
| BLAS_SCAL |
LAPACK_GBSV |
LAPACK_SYEV |
| BLAS_SPMV |
LAPACK_GEES |
LAPACK_SYEVD |
| BLAS_SPR |
LAPACK_GEEV |
LAPACK_SYSV |
| BLAS_SPR2 |
LAPACK_GELS |
UNIT_TEST_BLAS |
| BLAS_SWAP |
LAPACK_GESDD |
UNIT_TEST_LAPACK |
| BLAS_SYMM |
LAPACK_GESV |
|
|
| |
| BLAS_AXPY |
Copies alpha*X + Y into vector Y
Overload 1 |
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); |
| TBD |
| Overload 2 |
utl_nla.blas_axpy(
n IN POSITIVEN,
alpha IN scalar_float,
x IN utl_nla_array_flt,
incx IN POSITIVEN,
y IN OUT utl_nla_array_flt,
incy IN POSITIVEN); |
| TBD |
| |
| BLAS_COPY |
Copies the contents of vector X to vector Y
Overload 1 |
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); |
| TBD |
| Overload 2 |
utl_nla.blas_copy(
n IN POSITIVEN,
x IN OUT utl_nla_array_flt,
incx IN POSITIVEN,
y IN OUT utl_nla_array_flt,
incy IN POSITIVEN); |
| TBD |
| |
| BLAS_DOT |
Returns the dot (scalar) product of two vectors X and Y
Overload 1 |
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; |
| TBD |
| Overload 2 |
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; |
| TBD |
| |
| BLAS_SCAL |
Scales a vector by a constant
Overload 1 |
utl_nla.blas_scal(
n IN POSITIVEN,
alpha IN scalar_double,
x IN OUT utl_nla_array_dbl,
incx IN POSITIVEN); |
| TBD |
| Overload 2 |
utl_nla.blas_scal(
n IN POSITIVEN,
alpha IN scalar_float,
x IN OUT utl_nla_array_flt,
incx IN POSITIVEN); |
| TBD |
| |
| BLAS_SWAP |
Swaps the contents of two vectors each of size n
Overload 1 |
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); |
| TBD |
| Overload 2 |
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); |
| TBD |
| |
| UNIT_TEST_BLAS |
| Undocumented |
utl_nla.unit_test_blas; |
exec utl_nla.unit_test_blas;
PL/SQL procedure successfully completed. |
| |
| UNIT_TEST_LAPACK |
| Undocumented |
utl_nla.unit_test_lapack; |
exec utl_nla.unit_test_lapack;
PL/SQL procedure successfully completed. |