Что означает ошибчатый код BLAS DGEMV -6?
Вопрос
У меня есть программа, которая проходит через 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, который, я думаю, вызывает множество путаницы. Я думаю, что это отвечает на мой вопрос, но не мою проблему, так как он работает несколько раз с одинаковыми параметрами до того, как ошибка бросится.
Не связан с StackOverflow