Oracle UTL_NLA
Version 21c

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 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;
 
UNIT_TEST_LAPACK
Undocumented utl_nla.unit_test_lapack;
exec utl_nla.unit_test_lapack;

Related Topics
Built-in Functions
Built-in Packages
What's New In 21c
What's New In 23c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx