BLAS DGEMM行列乗算関数を使用しているときに、初期化されていない結果行列 C を次のように呼び出すと、結果に NaN が含まれることに気付きました。
DGEMM('N', 'N', M, N, K, 1.0, A, LDA, B, LDB, 0.0, C, LDC)
ただし、事前に ALPHA と BETA を宣言すると、次のようになります。
REAL*8 ALPHA, BETA
PARAMETER (ALPHA=1.0)
PARAMETER (BETA=0.0)
DGEMM('N', 'N', M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
その後、乗算は正常に機能します。引数の宣言が機能する理由について、誰か考えがありますか?
インテル Fortran コンパイラーとその MKL ライブラリーを使用していることに注意してください。