2010-06-16 49 views

回答

2

ř定義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 /主/ 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錯誤代碼的否定,我認爲原因很多困惑。我認爲這回答我的問題,但不是我的問題,因爲它在拋出錯誤之前使用相同的參數工作多次。

0

DGEMV不返回任何錯誤代碼。

bug暗示錯誤來自R本身。

也許你應該提交一個針對R的錯誤。

+1

BLAS有一個名爲XERBLA的錯誤處理程序。 R覆蓋XERBLA以傳遞錯誤消息。從我可以看到的信息變量中調用該錯誤。 – 2010-06-16 23:33:53

+0

看起來你在那裏得到了答案。 – 2010-06-17 01:10:33