Julia 求解结果与 SuiteSparse C 库不同

julia 1.9.3
C:

  • gcc 4.8.5
  • SuiteSparse 7.2.2 && SuiteSparse 5.2

julia code:

A = SuiteSparse.SparseArrays.SparseMatrixCSC(ncols,ncols,Ap,Ai,Ax)
F = lu(A)
X = F \ B

c code

umfpack_di_symbolic(ncol, n_col, Ap, Ai, Ax, &Symbolic, null, null);
umfpack_di_numeric(Ap, Ai, Ax, Symbolic, &Numeric, null, null);
umfpack_di_solve(UMFPACK_A, Ap, Ai, Ax, X, B, Numeric, null, null);
umfpack_di_free_symbolic(&Symbolic);
umfpack_di_free_numeric(&Numeric);

julia 代码中的lu(A)将会调用umfpacklu。
不知道为什么这两种语言的求解结果不同。

浮点数精度缘故?看了下 SSGraphBLAS_jll.jl 版本为7.2.0,初步排除版本问题。