UTL_NLA.BLAS_GEMM Fails With ORA20005: Illegal Argument For Matrix
(Doc ID 2860376.1)
Last updated on APRIL 17, 2023
Applies to:
PL/SQL  Version 19.7.0.0.0 and laterInformation in this document applies to any platform.
Symptoms
When calling UTL_NLA.BLAS_GEMM, the following error is raised :
Simple Testacase:
============
set serveroutput on;
DECLARE
A utl_nla_array_dbl := utl_nla_array_dbl(1, 4, 2, 5, 3, 6);
B utl_nla_array_dbl := utl_nla_array_dbl(1, 1, 1, 1, 1, 1);
C utl_nla_array_dbl := utl_nla_array_dbl(1,1,1,1,1,1);
BEGIN
UTL_NLA.BLAS_GEMM (
transa => 'N',
transb => 'N',
m => 21,
n => 1,
k => 21,
alpha => 1.0,
a => A,
lda => 21,
b => B,
ldb => 1,
beta => 1.0,
c => C,
ldc => 1,
pack => 'C'
);
dbms_output.put_line('CROSSPRODUCT');
dbms_output.put_line('');
FOR i IN 1..C.count LOOP
dbms_output.put_line('x'  i '= '  TO_CHAR(C(i),'9999'));
END LOOP;
END;
/
ERROR at line 1:
ORA20005: Illegal argument for matrix: The value of trans is 'N', but the leading dimension is not greater than or equal to m or the number of matrix
elements does not equal the leading dimension multiplied by the number of columns. The number of matrix elements is 6. The value of m is 21. The number
of columns is 1. The leading dimension is 1. Procedure blas_gemm. The matrix is 'b'. The leading dimension is k
Changes
Cause
To view full details, sign in with your My Oracle Support account. 

Don't have a My Oracle Support account? Click to get started! 
In this Document
Symptoms 
Changes 
Cause 
Solution 
References 