У меня есть программа, которая работает через R, но использует подпрограммы BLAS. Он проходит правильно около 8 раз, но затем выдает ошибку:
Подпрограмма BLAS/LAPACK 'DGEMV' дала код ошибки -6
Что означает этот код ошибки?
У меня есть программа, которая работает через 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.
версия dgemv.f для Netlib показывает, что проверяются только входные параметры. Код 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, что, я думаю, вызывает много путаницы. Я думаю, что это отвечает на мой вопрос, но не на мою проблему, поскольку он работает несколько раз с одними и теми же параметрами, прежде чем выдается ошибка.
DGEMV не возвращает никаких кодов ошибок.
Эта ошибка подразумевает, что ошибка исходит от самого R
.
Возможно, вам следует сообщить об ошибке в R
.