我已經爭取了兩天,在一個gfortran大氣輸送模式代碼MPI_REDUCE調用,具有良好的輸入參數,但返回在主人的recvbuf非常不合理的結果。我已經能夠複製一個簡單的例子問題,具體如下: PROGRAM TEST
USE mpi
IMPLICIT NONE
INTEGER my_rank, size, ierror
INTEGER, PARAME
我在執行矩陣乘法時似乎遇到了精度損失,並且想知道如何防止這種情況。例如,假設壯舉和β是適當的尺寸, Y = feat*beta.rows(0,N);
我一起工作的數字是相當小的值,多數數字是小於1E-3所以有可能是什麼我想實現是不可能的。我還應該注意到這是一個調用C++函數的MATLAB函數,因此涉及到MEX編譯器。當他們到達時,我確實檢查了mex函數中的數字,他們是正確的,只有在上面的這一行
我一直在將IDL代碼翻譯成Python,並注意到最終產品的差異。差異也不可忽略(例如通過IDL獲得19.03,而Python獲得19.16)。我確認這兩個腳本產生相同的值(它們通常在小數點後四位,五位或六位不同),直到我開始執行多個數組操作。我懷疑精度可能是原因(Python和IDL數組都是type=FLOAT)。我做了一個簡單的實驗,我也看到了顯着的差異。 IDL a = 0.01
b = 0