R を介して実行されるが、BLAS ルーチンを使用するプログラムがあります。約 8 回正しく実行されますが、エラーがスローされます。
BLAS/LAPACK ルーチン 'DGEMV' でエラー コード -6 が返されました
このエラー コードは何を意味しますか?
RはXERBLA関数を次のように定義します
void F77_NAME(xerbla)(const char *srname, int *info)
{
/* srname is not null-terminated. It should be 6 characters. */
char buf[7];
strncpy(buf, srname, 6);
buf[6] = '\0';
error(_("BLAS/LAPACK routine '%6s' gave error code %d"), buf, -(*info));
}
src / main/print.cファイルから。
Netlibバージョンのdgemv.fは、入力パラメーターのみがチェックされることを示しています。コード6は、LDAまたはMパラメーターのいずれかに問題があることを示しています。
*...
ELSE IF (LDA.LT.MAX(1,M)) THEN
INFO = 6
*...
END IF
IF (INFO.NE.0) THEN
CALL XERBLA('DGEMV ',INFO)
RETURN
したがって、RはBLASエラーコードの負の値を取るように見えます。これは多くの混乱を引き起こすと思います。エラーがスローされる前に同じパラメータで数回動作するため、これは私の質問には答えると思いますが、私の問題には答えません。