私はこの問題に夢中です。次の乗算から結果を取得できません。
X^t * X
X は、utl_nla_array_dbl データ型で表される m = 36 行 n = 3 列の m * n 行列です。データはテーブルに由来し、単純な 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 型で、結果を保持します。
私が間違っていることは何か分かりますか?私は完全に立ち往生していて、ウェブ上の他の場所で助けを見つけることができないので、すべての貢献に感謝します.