Julia Symphy.jl与python中使用Symphy进行比较的特征值奇怪报告

Julia Symphy.jl与python中使用Symphy进行比较的特征值奇怪报告,julia,sympy,Julia,Sympy,Python中的SymPy: >>> M = Matrix([[-4, sqrt(2)], [sqrt(2), -5]]) >>> M Matrix([ [ -4, sqrt(2)], [sqrt(2), -5]]) >>> dict_eig = M.eigenvals() >>> dict_eig {-6: 1, -3: 1} SymPy.jl(朱莉娅): 结果实际上是正确的,但很奇怪。。这是为什么?我

Python中的SymPy:

>>> M = Matrix([[-4, sqrt(2)], [sqrt(2), -5]])
>>> M
Matrix([
[     -4, sqrt(2)],
[sqrt(2),      -5]])
>>> dict_eig = M.eigenvals()
>>> dict_eig
{-6: 1, -3: 1}
SymPy.jl(朱莉娅):


结果实际上是正确的,但很奇怪。。这是为什么?我如何才能获得Python中报告的表单?

您在Python版本中隐式使用了Symphy的sqrt实现。如果您直接调用sympy的sqrt,您将得到相同的结果

julia> M = [[-4 sympy.sqrt(2)]; [sympy.sqrt(2) -5]]
2×2 Array{Sym,2}:
      -4  sqrt(2)
 sqrt(2)       -5

julia> M.eigenvals()
Dict{Any,Any} with 2 entries:
  -3 => 1
  -6 => 1

你知道你在这两种情况下是否使用了相同版本的Symphy吗?@OscarBenjamin:是的,我在Julia(python3,Symphy v.1.1)中使用了相同的python环境来进行python/pycall
julia> M = [[-4 sympy.sqrt(2)]; [sympy.sqrt(2) -5]]
2×2 Array{Sym,2}:
      -4  sqrt(2)
 sqrt(2)       -5

julia> M.eigenvals()
Dict{Any,Any} with 2 entries:
  -3 => 1
  -6 => 1