General Information
Library Note
Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com . Request a Workshop for
your organization today.
Purpose
UT iL ity N umerical L inear A lgebra: 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 ;
UNIT_TEST_LAPACK
Undocumented
utl_nla.unit_test_lapack;
exec utl_nla.unit_test_lapack ;