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?

¿Fue útil?

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.

Otros consejos

DGEMV no devuelve los códigos de error.

fallo implica que el error proviene de R sí mismo.

Tal vez usted debe reportar un fallo en contra R.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top