Oracle UTL_NLA
Version 12.2.0.1

General Information
Library Note Morgan's Library Page Header
"I spent my entire adult life looking out for the well-being, the training, the equipping of the troops for whom I was responsible. I will not be lectured about what our military needs by a five-deferment draft dodger,"
~ Sen. Tammy Duckworth
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 UTL_MAT_LIB UTL_NLA_ARRAY_FLT
PLITBLM UTL_NLA_ARRAY_DBL UTL_NLA_ARRAY_INT
SDO_TIN_PKG    
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
Packages
What's New In 12cR1
What's New In 12cR2

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-2017 Daniel A. Morgan All Rights Reserved