Octave GNU倍频程中符号的任意精度不起作用

Octave GNU倍频程中符号的任意精度不起作用,octave,gnu,arbitrary-precision,Octave,Gnu,Arbitrary Precision,我试着检查一下这个有趣的计算 x = -80538738812075974 y = 80435758145817515 z = 12602123297335631 x**3+y**3+z**3=42 用GNU八度音阶 我使用了这个符号包,并写道: >> x = vpa('-80538738812075974') x = (sym) -80538738812075974.0000000000000 >> y = vpa('80435758145817515') y =

我试着检查一下这个有趣的计算

x = -80538738812075974
y = 80435758145817515
z = 12602123297335631

x**3+y**3+z**3=42 
用GNU八度音阶

我使用了这个符号包,并写道:

>> x = vpa('-80538738812075974')
x = (sym) -80538738812075974.0000000000000
>> y = vpa('80435758145817515')
y = (sym) 80435758145817515.0000000000000
>> z = vpa('12602123297335631')
z = (sym) 12602123297335631.0000000000000
>> vpa(x**3+y**3+z**3)
ans = (sym) -23634890844440363008.0000000000
所以答案不是42,即使是数字(50)。使用wxMaxima,我得到了正确的结果:

x : -80538738812075974;
y : 80435758145817515;
z : 12602123297335631;
x**3+y**3+z**3;
42

所以这些数字还可以。在GNU八度音阶中是否可以任意精度工作?

我真的不明白哪里出了问题,但很明显,只有在所有步骤都按正确的顺序进行时(以及sym而不是vpa),它才能工作:

所以问题终于解决了

setenv PYTHON d:/anaconda3w64/python
pkg load symbolic
syms x y z
x = sym('-80538738812075974')
y = sym('80435758145817515')
z = sym('12602123297335631')
x**3+y**3+z**3

x = (sym) -80538738812075974
y = (sym) 80435758145817515
z = (sym) 12602123297335631
ans = (sym) 42