我已经争取了两天,在一个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