我要疯了这个问题。我无法从以下乘法中得到结果:
X^t * X
X 是一个 m * n 矩阵,其中 m = 36 行和 n = 3 列,由 utl_nla_array_dbl 数据类型表示。数据来自表,并通过简单的 pl/sql 代码复制。
为了解决我的问题,我选择了utl_nla.blas_gemm方法。这是一种矩阵矩阵方法,与 utl_nla.blas_gemv 作为矩阵向量方法相反(我得到了一个工作。我能够将那个矩阵 X 乘以向量 y 并得到正确的结果)。
这是相关代码,它向我输出一个具有正确维度(3X3)但其中只有零的矩阵。为了更清楚,我对大多数参数进行了硬编码:
utl_nla.blas_gemm(
transa => 'T',
transb => 'N',
m => 3,
n => 3,
k => 36,
alpha => 1.0,
a => X,
lda => 3,
b => X,
ldb => 3,
beta => 0.0,
c => XtX,
ldc => 3);
变量 XtX 也是 utl_nla_array_dbl 类型,用于保存结果。
知道我做错了什么吗?我会感谢每一个贡献,因为我完全陷入困境并且无法在网络上的其他地方找到任何帮助。