我dgetrf
通过 LAPACK 在行主矩阵上调用clapack.h
。
我有矩阵A = [4,9,2; 3,5,7; 8,1,6]
。
如果我调用 dgetrf,结果是[9.0, 0.222222, 0.444444; 5.0, 5.888888, 0.132075; 1.0, 5.777777, 6.792453]
. 但是,结果应该是[8.0, 1.0, 6.0; 0.5, 8.5, -1.0; 0.375, 0.544118, 5.294118]
。
如果我在调用之前转置 A dgetrf
,然后再次转置输出,我会得到正确的结果。
我正在使用的调用是:clapack_dgetrf(CblasRowMajor, 3, 3, A, 3, ipiv);
ipiv
当然,是一个大小为 3 的整数数组,而 A 是一个双精度数组,大小为 9: [4,9,2,3,5,7,8,1,6]
。
我已经尝试将 order 参数切换为CblasColMajor
,以防万一我疯了,但这也不能按预期工作。
这是应该的吗?