3

R を介して実行されるが、BLAS ルーチンを使用するプログラムがあります。約 8 回正しく実行されますが、エラーがスローされます。

BLAS/LAPACK ルーチン 'DGEMV' でエラー コード -6 が返されました

このエラー コードは何を意味しますか?

4

2 に答える 2

3

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エラーコードの負の値を取るように見えます。これは多くの混乱を引き起こすと思います。エラーがスローされる前に同じパラメータで数回動作するため、これは私の質問には答えると思いますが、私の問題には答えません。

于 2010-06-16T23:42:21.980 に答える
0

DGEMVはエラー コードを返しません。

このバグは、エラーR自体が原因であることを意味します。

に対してバグを報告する必要があるかもしれませんR

于 2010-06-16T20:59:43.780 に答える