Вопрос

У меня есть программа, которая проходит через R, но использует процедуры BLAS. Он работает правильно примерно в 8 раз, но затем бросает ошибку:

BLAS / LAPACK ROINE '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, который, я думаю, вызывает множество путаницы. Я думаю, что это отвечает на мой вопрос, но не мою проблему, так как он работает несколько раз с одинаковыми параметрами до того, как ошибка бросится.

Другие советы

Джемв не возвращает какие-либо коды ошибок.

Этот ошибка подразумевает, что ошибка исходит из R сам.

Возможно, вы должны подать ошибку против R.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top