¿Qué código de error BLAS DGEMV -6 significa?
Pregunta
Tengo un programa que se ejecuta a través de R, pero utiliza las rutinas BLAS. Se ejecuta a través correctamente alrededor de 8 veces, pero luego lanza un error:
BLAS / rutina de LAPACK 'DGEMV' dio el código de error -6
¿Qué significa esto código de error?
Solución
R define la función XERBLA como
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));
}
en el archivo src / main / print.c.
la versión Netlib de espectáculos dgemv.f que se comprueban sólo los parámetros de entrada. Un código de 6 muestra un problema, ya sea con el parámetro LDA o M.
*...
ELSE IF (LDA.LT.MAX(1,M)) THEN
INFO = 6
*...
END IF
IF (INFO.NE.0) THEN
CALL XERBLA('DGEMV ',INFO)
RETURN
Así que parece que R tiene el negativo del código de error BLAS, que creo causas mucha confusión. Creo que esto responde a mi pregunta, pero no es mi problema, ya que funciona varias veces con los mismos parámetros antes se lanza el error.