Open Nzavcciuoier123 opened 1 week ago
菜菜,大佬来瞧瞧(乖巧)
家人们!!!!
解决了!!!!
把KAN.py里的symbolic_formula函数
替换为:
def symbolic_formula(self, floating_digit=2, var=None, normalizer=None, simplify=False):
'''
obtain the symbolic formula
Args:
-----
floating_digit : int
the number of digits to display
var : list of str
the name of variables (if not provided, by default using ['x_1', 'x_2', ...])
normalizer : [mean array (floats), varaince array (floats)]
the normalization applied to inputs
simplify : bool
If True, simplify the equation at each step (usually quite slow), so set up False by default.
Returns:
--------
symbolic formula : sympy function
Example
-------
>>> model = KAN(width=[2,5,1], grid=5, k=3, noise_scale=0.1, seed=0, grid_eps=0.02)
>>> f = lambda x: torch.exp(torch.sin(torch.pi*x[:,[0]]) + x[:,[1]]**2)
>>> dataset = create_dataset(f, n_var=2)
>>> model.train(dataset, opt='LBFGS', steps=50, lamb=0.01);
>>> model = model.prune()
>>> model(dataset['train_input'])
>>> model.auto_symbolic(lib=['exp','sin','x^2'])
>>> model.train(dataset, opt='LBFGS', steps=50, lamb=0.00, update_grid=False);
>>> model.symbolic_formula()
'''
symbolic_acts = []
x = []
#original
# def ex_round(ex1, floating_digit=floating_digit):
# ex2 = ex1
# for a in sympy.preorder_traversal(ex1):
# if isinstance(a, sympy.Float):
# ex2 = ex2.subs(a, round(a, floating_digit))
# return ex2
#20240626调试
def ex_round(ex1, floating_digit=2):
ex2 = ex1
for a in sympy.preorder_traversal(ex1):
if isinstance(a, sympy.Float):
try:
rounded_value = round(a, floating_digit)
ex2 = ex2.subs(a, rounded_value)
except ZeroDivisionError as e:
print(
f"ZeroDivisionError: rounding value {a} to {floating_digit} digits resulted in error: {e}")
continue
except Exception as e:
print(f"Exception during rounding: {e}")
continue
return ex2
# define variables
if var == None:
for ii in range(1, self.width[0] + 1):
exec(f"x{ii} = sympy.Symbol('x_{ii}')")
exec(f"x.append(x{ii})")
else:
x = [sympy.symbols(var_) for var_ in var]
x0 = x
if normalizer != None:
mean = normalizer[0]
std = normalizer[1]
x = [(x[i] - mean[i]) / std[i] for i in range(len(x))]
symbolic_acts.append(x)
for l in range(len(self.width) - 1):
y = []
for j in range(self.width[l + 1]):
yj = 0.
for i in range(self.width[l]):
a, b, c, d = self.symbolic_fun[l].affine[j, i]
sympy_fun = self.symbolic_fun[l].funs_sympy[j][i]
try:
yj += c * sympy_fun(a * x[i] + b) + d
except ZeroDivisionError as e:
print(
f"ZeroDivisionError: layer={l}, input_neuron={i}, output_neuron={j}, a={a}, b={b}, c={c}, d={d}, sympy_fun={sympy_fun}")
return
except Exception as e:
print(f"Exception: {e}")
return
if simplify == True:
y.append(sympy.simplify(yj + self.biases[l].weight.data[0, j]))
else:
y.append(yj + self.biases[l].weight.data[0, j])
x = y
symbolic_acts.append(x)
self.symbolic_acts = [[ex_round(symbolic_acts[l][i]) for i in range(len(symbolic_acts[l]))] for l in
range(len(symbolic_acts))]
out_dim = len(symbolic_acts[-1])
return [ex_round(symbolic_acts[-1][i]) for i in range(len(symbolic_acts[-1]))], x0
即可!!!!!!
可以正常输出输入数据之间的关系式了!!!!
看来解决了https://github.com/KindXiaoming/pykan/issues/174的问题
在kan/utils.py里边
我替换为了:
但是之后运行symbolic_formula的时候,可以正常循环很多个轮回,只是到循环的后边,又报错了:
abcd: tensor(-10., device='cuda:0', grad_fn=) tensor(-10., device='cuda:0', grad_fn=) tensor(0., device='cuda:0', grad_fn=) tensor(0., device='cuda:0', grad_fn=)
sympy_fun: <function at 0x0000026A0B66FF40>
sympy_fun(a x[i] + b) -1.5707963267949 + 3.57716042987056I
c sympy_fun(a x[i] + b) 0
yj of this cycle 0
yj += c sympy_fun(a x[i] + b) + d 0
l: 2 j: 0 i: 4
abcd: tensor(-0.3266, device='cuda:0', grad_fn=) tensor(4.2120, device='cuda:0', grad_fn=) tensor(32.4615, device='cuda:0', grad_fn=) tensor(27.8678, device='cuda:0', grad_fn=)
sympy_fun: <function at 0x0000026A0B66FA30>
sympy_fun(a x[i] + b) sin(-7.56461509787557tanh(11.1724251508104*(0.608286075430445 - x_1)2 + 36.7776407800446*(0.626369554415839 - x_8)*3 - 7.73219327961241sqrt(0.0847742109613535x_5 + 1) + 1.22136635587686sin(6.8x_11 + 10.0) - 3.52072350468796sin(10.0x_12 - 1.2) + 5.30827751245068tanh(1.8x_7 - 0.116) + 0.120921154012907Abs(8.35264x_10 - 5.16992) + 0.398040951161874Abs(8.77168x_3 - 7.75528) + 0.152038383509339Abs(8.99592x_4 - 5.72264) + 0.476989765959612Abs(3.93696x_6 + 9.23024) + 1.18985092177403Abs(9.48392x_9 - 5.25016) + 6.37825401886856 - 0.904722874216664/sqrt(x_2 - 0.718028316727845)) + 1.02139776233446tanh(-0.0227702529010633sin(3.59992x_11 + 9.52232) + 0.00800001820320635sin(10.0x_3 + 7.6) - 0.0120942440459707sin(10.0x_4 - 8.8) + 0.0314825062202321sin(0.399359999999999x_5 + 2.98) + 0.00960726557240071tanh(10.0x_1 - 4.6) + 0.012299771904715tanh(10.0x_10 - 2.2) + 6.72493973290265tanh(5.212x_12 - 4.4) + 0.0382286594952153tanh(2.72504x_6 - 1.55808) - 0.0171770888741439tanh(10.0x_9 - 5.072) + 0.0097956745244225Abs(8.552x_2 - 7.53552) + 0.00501973010930146asin(2.45984x_8 - 1.45992) - 3.91706222333103 - 0.0652459680717108exp(-6.0x_7)) + 10.9615164797256 - 0.000192188835522137/(0.0459414790590742sin(8.76656x_11 - 0.390479999999999) + 0.146902203148953sin(0.379759999999999x_5 - 7.78104) - 0.0441599680288885sin(10.0x_9 + 5.6) + 0.674707330916322tanh(10.0x_3 - 3.2) - 0.119457671525295tanh(10.0x_8 - 9.0) + 0.0276926410383739Abs(9.8232x_1 - 4.8496) - 0.30709730203254asin(0.431119999999999x_6 + 0.611039999999999) - 0.277195594477601asin(1.824x_7 - 0.83512) - 1 - 7.51823258612397e-6/(-x_4 - 0.0415951154359855)3 - 6.78079366228912e-6/(-x_10 - 0.0418075622502306)3 + 6.93283430779549e-5/(1 - 0.933202469346533*x_2)3 - 0.0276676972005992/sqrt(0.999999999986125 - x_12))3 + 1.53630886449928e-6/(-(0.342121302906022 - x_9)*3 - 0.142627998111472(0.348260162321734 - x_4)3 - 0.00263396726622537sin(10.0x_10 + 2.8) - 0.0019378684075077sin(10.0x_3 - 7.4) - 0.00369449669401643tanh(10.0x_1 - 6.8) + 0.00974121628694192tanh(0.828x_5 + 8.8) - 0.000870654630450156tanh(10.0x_7 - 4.2) + 0.00266531146165239tanh(10.0x_8 - 8.4) + 0.0107551288586664Abs(9.4x_12 - 8.992) + 0.000984900549189844Abs(7.51192x_6 + 3.65392) - 0.00801292942013108asin(2.17224x_11 - 1.00144) - 0.0431994805840643 - 6.33441304567693e-7/(0.750522088353413 - x_2)2)2)
c sympy_fun(a x[i] + b) 32.461481517204sin(-7.56461509787557tanh(11.1724251508104*(0.608286075430445 - x_1)2 + 36.7776407800446*(0.626369554415839 - x_8)*3 - 7.73219327961241sqrt(0.0847742109613535x_5 + 1) + 1.22136635587686sin(6.8x_11 + 10.0) - 3.52072350468796sin(10.0x_12 - 1.2) + 5.30827751245068tanh(1.8x_7 - 0.116) + 0.120921154012907Abs(8.35264x_10 - 5.16992) + 0.398040951161874Abs(8.77168x_3 - 7.75528) + 0.152038383509339Abs(8.99592x_4 - 5.72264) + 0.476989765959612Abs(3.93696x_6 + 9.23024) + 1.18985092177403Abs(9.48392x_9 - 5.25016) + 6.37825401886856 - 0.904722874216664/sqrt(x_2 - 0.718028316727845)) + 1.02139776233446tanh(-0.0227702529010633sin(3.59992x_11 + 9.52232) + 0.00800001820320635sin(10.0x_3 + 7.6) - 0.0120942440459707sin(10.0x_4 - 8.8) + 0.0314825062202321sin(0.399359999999999x_5 + 2.98) + 0.00960726557240071tanh(10.0x_1 - 4.6) + 0.012299771904715tanh(10.0x_10 - 2.2) + 6.72493973290265tanh(5.212x_12 - 4.4) + 0.0382286594952153tanh(2.72504x_6 - 1.55808) - 0.0171770888741439tanh(10.0x_9 - 5.072) + 0.0097956745244225Abs(8.552x_2 - 7.53552) + 0.00501973010930146asin(2.45984x_8 - 1.45992) - 3.91706222333103 - 0.0652459680717108exp(-6.0x_7)) + 10.9615164797256 - 0.000192188835522137/(0.0459414790590742sin(8.76656x_11 - 0.390479999999999) + 0.146902203148953sin(0.379759999999999x_5 - 7.78104) - 0.0441599680288885sin(10.0x_9 + 5.6) + 0.674707330916322tanh(10.0x_3 - 3.2) - 0.119457671525295tanh(10.0x_8 - 9.0) + 0.0276926410383739Abs(9.8232x_1 - 4.8496) - 0.30709730203254asin(0.431119999999999x_6 + 0.611039999999999) - 0.277195594477601asin(1.824x_7 - 0.83512) - 1 - 7.51823258612397e-6/(-x_4 - 0.0415951154359855)3 - 6.78079366228912e-6/(-x_10 - 0.0418075622502306)3 + 6.93283430779549e-5/(1 - 0.933202469346533*x_2)3 - 0.0276676972005992/sqrt(0.999999999986125 - x_12))3 + 1.53630886449928e-6/(-(0.342121302906022 - x_9)*3 - 0.142627998111472(0.348260162321734 - x_4)3 - 0.00263396726622537sin(10.0x_10 + 2.8) - 0.0019378684075077sin(10.0x_3 - 7.4) - 0.00369449669401643tanh(10.0x_1 - 6.8) + 0.00974121628694192tanh(0.828x_5 + 8.8) - 0.000870654630450156tanh(10.0x_7 - 4.2) + 0.00266531146165239tanh(10.0x_8 - 8.4) + 0.0107551288586664Abs(9.4x_12 - 8.992) + 0.000984900549189844Abs(7.51192x_6 + 3.65392) - 0.00801292942013108asin(2.17224x_11 - 1.00144) - 0.0431994805840643 - 6.33441304567693e-7/(0.750522088353413 - x_2)2)2)
yj of this cycle 32.461481517204sin(-7.56461509787557tanh(11.1724251508104*(0.608286075430445 - x_1)2 + 36.7776407800446*(0.626369554415839 - x_8)*3 - 7.73219327961241sqrt(0.0847742109613535x_5 + 1) + 1.22136635587686sin(6.8x_11 + 10.0) - 3.52072350468796sin(10.0x_12 - 1.2) + 5.30827751245068tanh(1.8x_7 - 0.116) + 0.120921154012907Abs(8.35264x_10 - 5.16992) + 0.398040951161874Abs(8.77168x_3 - 7.75528) + 0.152038383509339Abs(8.99592x_4 - 5.72264) + 0.476989765959612Abs(3.93696x_6 + 9.23024) + 1.18985092177403Abs(9.48392x_9 - 5.25016) + 6.37825401886856 - 0.904722874216664/sqrt(x_2 - 0.718028316727845)) + 1.02139776233446tanh(-0.0227702529010633sin(3.59992x_11 + 9.52232) + 0.00800001820320635sin(10.0x_3 + 7.6) - 0.0120942440459707sin(10.0x_4 - 8.8) + 0.0314825062202321sin(0.399359999999999x_5 + 2.98) + 0.00960726557240071tanh(10.0x_1 - 4.6) + 0.012299771904715tanh(10.0x_10 - 2.2) + 6.72493973290265tanh(5.212x_12 - 4.4) + 0.0382286594952153tanh(2.72504x_6 - 1.55808) - 0.0171770888741439tanh(10.0x_9 - 5.072) + 0.0097956745244225Abs(8.552x_2 - 7.53552) + 0.00501973010930146asin(2.45984x_8 - 1.45992) - 3.91706222333103 - 0.0652459680717108exp(-6.0x_7)) + 10.9615164797256 - 0.000192188835522137/(0.0459414790590742sin(8.76656x_11 - 0.390479999999999) + 0.146902203148953sin(0.379759999999999x_5 - 7.78104) - 0.0441599680288885sin(10.0x_9 + 5.6) + 0.674707330916322tanh(10.0x_3 - 3.2) - 0.119457671525295tanh(10.0x_8 - 9.0) + 0.0276926410383739Abs(9.8232x_1 - 4.8496) - 0.30709730203254asin(0.431119999999999x_6 + 0.611039999999999) - 0.277195594477601asin(1.824x_7 - 0.83512) - 1 - 7.51823258612397e-6/(-x_4 - 0.0415951154359855)3 - 6.78079366228912e-6/(-x_10 - 0.0418075622502306)3 + 6.93283430779549e-5/(1 - 0.933202469346533*x_2)3 - 0.0276676972005992/sqrt(0.999999999986125 - x_12))3 + 1.53630886449928e-6/(-(0.342121302906022 - x_9)*3 - 0.142627998111472(0.348260162321734 - x_4)3 - 0.00263396726622537sin(10.0x_10 + 2.8) - 0.0019378684075077sin(10.0x_3 - 7.4) - 0.00369449669401643tanh(10.0x_1 - 6.8) + 0.00974121628694192tanh(0.828x_5 + 8.8) - 0.000870654630450156tanh(10.0x_7 - 4.2) + 0.00266531146165239tanh(10.0x_8 - 8.4) + 0.0107551288586664Abs(9.4x_12 - 8.992) + 0.000984900549189844Abs(7.51192x_6 + 3.65392) - 0.00801292942013108asin(2.17224x_11 - 1.00144) - 0.0431994805840643 - 6.33441304567693e-7/(0.750522088353413 - x_2)2)2) + 27.8677715604751
yj += c sympy_fun(a x[i] + b) + d 32.461481517204sin(-7.56461509787557tanh(11.1724251508104*(0.608286075430445 - x_1)2 + 36.7776407800446*(0.626369554415839 - x_8)*3 - 7.73219327961241sqrt(0.0847742109613535x_5 + 1) + 1.22136635587686sin(6.8x_11 + 10.0) - 3.52072350468796sin(10.0x_12 - 1.2) + 5.30827751245068tanh(1.8x_7 - 0.116) + 0.120921154012907Abs(8.35264x_10 - 5.16992) + 0.398040951161874Abs(8.77168x_3 - 7.75528) + 0.152038383509339Abs(8.99592x_4 - 5.72264) + 0.476989765959612Abs(3.93696x_6 + 9.23024) + 1.18985092177403Abs(9.48392x_9 - 5.25016) + 6.37825401886856 - 0.904722874216664/sqrt(x_2 - 0.718028316727845)) + 1.02139776233446tanh(-0.0227702529010633sin(3.59992x_11 + 9.52232) + 0.00800001820320635sin(10.0x_3 + 7.6) - 0.0120942440459707sin(10.0x_4 - 8.8) + 0.0314825062202321sin(0.399359999999999x_5 + 2.98) + 0.00960726557240071tanh(10.0x_1 - 4.6) + 0.012299771904715tanh(10.0x_10 - 2.2) + 6.72493973290265tanh(5.212x_12 - 4.4) + 0.0382286594952153tanh(2.72504x_6 - 1.55808) - 0.0171770888741439tanh(10.0x_9 - 5.072) + 0.0097956745244225Abs(8.552x_2 - 7.53552) + 0.00501973010930146asin(2.45984x_8 - 1.45992) - 3.91706222333103 - 0.0652459680717108exp(-6.0x_7)) + 10.9615164797256 - 0.000192188835522137/(0.0459414790590742sin(8.76656x_11 - 0.390479999999999) + 0.146902203148953sin(0.379759999999999x_5 - 7.78104) - 0.0441599680288885sin(10.0x_9 + 5.6) + 0.674707330916322tanh(10.0x_3 - 3.2) - 0.119457671525295tanh(10.0x_8 - 9.0) + 0.0276926410383739Abs(9.8232x_1 - 4.8496) - 0.30709730203254asin(0.431119999999999x_6 + 0.611039999999999) - 0.277195594477601asin(1.824x_7 - 0.83512) - 1 - 7.51823258612397e-6/(-x_4 - 0.0415951154359855)3 - 6.78079366228912e-6/(-x_10 - 0.0418075622502306)3 + 6.93283430779549e-5/(1 - 0.933202469346533*x_2)3 - 0.0276676972005992/sqrt(0.999999999986125 - x_12))3 + 1.53630886449928e-6/(-(0.342121302906022 - x_9)*3 - 0.142627998111472(0.348260162321734 - x_4)3 - 0.00263396726622537sin(10.0x_10 + 2.8) - 0.0019378684075077sin(10.0x_3 - 7.4) - 0.00369449669401643tanh(10.0x_1 - 6.8) + 0.00974121628694192tanh(0.828x_5 + 8.8) - 0.000870654630450156tanh(10.0x_7 - 4.2) + 0.00266531146165239tanh(10.0x_8 - 8.4) + 0.0107551288586664Abs(9.4x_12 - 8.992) + 0.000984900549189844Abs(7.51192x_6 + 3.65392) - 0.00801292942013108asin(2.17224x_11 - 1.00144) - 0.0431994805840643 - 6.33441304567693e-7/(0.750522088353413 - x_2)2)2) + 27.8677715604751
Traceback (most recent call last): File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 499, in getit return self._assumptions[fact] KeyError: 'zero'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 499, in getit return self._assumptions[fact] KeyError: 'extended_nonnegative'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 499, in getit return self._assumptions[fact] KeyError: 'zero'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 499, in getit return self._assumptions[fact] KeyError: 'zero'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "E:\XuChaoXiong\pykan_original_beifen_xiugai20240626\pykan\tc_infer2_20240625.py", line 98, in
print(model.symbolic_formula())
File "E:\XuChaoXiong\pykan_original_beifen_xiugai20240626\pykan\kan\KAN.py", line 1260, in symbolic_formula
self.symbolic_acts = [[ex_round(symbolic_acts[l][i]) for i in range(len(symbolic_acts[l]))] for l in range(len(symbolic_acts))]
File "E:\XuChaoXiong\pykan_original_beifen_xiugai20240626\pykan\kan\KAN.py", line 1260, in
self.symbolic_acts = [[ex_round(symbolic_acts[l][i]) for i in range(len(symbolic_acts[l]))] for l in range(len(symbolic_acts))]
File "E:\XuChaoXiong\pykan_original_beifen_xiugai20240626\pykan\kan\KAN.py", line 1260, in
self.symbolic_acts = [[ex_round(symbolic_acts[l][i]) for i in range(len(symbolic_acts[l]))] for l in range(len(symbolic_acts))]
File "E:\XuChaoXiong\pykan_original_beifen_xiugai20240626\pykan\kan\KAN.py", line 1207, in ex_round
ex2 = ex2.subs(a, round(a, floating_digit))
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\basic.py", line 1040, in subs
rv = rv._subs(old, new, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\basic.py", line 1154, in _subs
rv = fallback(self, old, new)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\basic.py", line 1126, in fallback
arg = arg._subs(old, new, hints)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\basic.py", line 1154, in _subs
rv = fallback(self, old, new)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\basic.py", line 1126, in fallback
arg = arg._subs(old, new, hints)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(*args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\basic.py", line 1154, in _subs
rv = fallback(self, old, new)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\basic.py", line 1131, in fallback
rv = self.func(args)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\function.py", line 466, in new
result = super().new(cls, *args, options)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(*args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\function.py", line 307, in new
evaluated = cls.eval(args)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\functions\elementary\trigonometric.py", line 343, in eval
i_coeff = _imaginary_unit_as_coefficient(arg)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\functions\elementary\trigonometric.py", line 38, in _imaginary_unit_as_coefficient
return arg.as_coefficient(S.ImaginaryUnit)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\expr.py", line 1711, in as_coefficient
r = self.extract_multiplicatively(expr)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\expr.py", line 2252, in extract_multiplicatively
quotient = self / c
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\decorators.py", line 236, in _func
return func(self, other)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\decorators.py", line 106, in binary_op_wrapper
return func(self, other)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\expr.py", line 259, in truediv
return Mul(self, denom)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\operations.py", line 98, in new
c_part, nc_part, order_symbols = cls.flatten(args)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\mul.py", line 285, in flatten
if not a.is_zero and a.is_Rational:
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 503, in getit
return _ask(fact, self)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 559, in _ask
fact_i_value = handler_i(obj)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\add.py", line 830, in _eval_is_extended_nonnegative
if not c.is_zero and a.is_extended_nonnegative:
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 503, in getit
return _ask(fact, self)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 559, in _ask
fact_i_value = handler_i(obj)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\add.py", line 874, in _eval_is_extended_negative
args = [a for a in self.args if not a.is_zero]
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\add.py", line 874, in
args = [a for a in self.args if not a.is_zero]
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 503, in getit
return _ask(fact, self)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 559, in _ask
fact_i_value = handler_i(obj)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\mul.py", line 1347, in _eval_is_zero
seen_zero, seen_infinite = self._eval_is_zero_infinite_helper()
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\mul.py", line 1324, in _eval_is_zero_infinite_helper
if a.is_zero:
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 503, in getit
return _ask(fact, self)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\assumptions.py", line 559, in _ask
fact_i_value = handler_i(obj)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\functions\elementary\hyperbolic.py", line 792, in _eval_is_real
return (im % (pi/2)).is_zero
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\decorators.py", line 236, in _func
return func(self, other)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\decorators.py", line 106, in binary_op_wrapper
return func(self, other)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\expr.py", line 273, in mod
return Mod(self, other)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(*args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\function.py", line 466, in new
result = super().new(cls, *args, *options)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\function.py", line 307, in new
evaluated = cls.eval(args)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\mod.py", line 180, in eval
a = cls(i, q)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\function.py", line 466, in new
result = super().new(cls, *args, *options)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\cache.py", line 72, in wrapper
retval = cfunc(args, kwargs)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\function.py", line 307, in new
evaluated = cls.eval(args)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\core\mod.py", line 167, in eval
G = gcd(p, q)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\polytools.py", line 5486, in gcd
result = F.gcd(G)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\polytools.py", line 2916, in gcd
result = F.gcd(G)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\polyclasses.py", line 689, in gcd
return per(dmp_gcd(F, G, lev, dom))
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\euclidtools.py", line 1625, in dmp_gcd
return dmp_inner_gcd(f, g, u, K)[0]
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\euclidtools.py", line 1584, in dmp_inner_gcd
h, cff, cfg = _dmp_inner_gcd(f, g, u, K)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\euclidtools.py", line 1532, in _dmp_inner_gcd
f = dmp_convert(f, u, K, exact)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\densebasic.py", line 567, in dmp_convert
return dmp_strip([ dmp_convert(c, v, K0, K1) for c in f ], u)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\densebasic.py", line 567, in
return dmp_strip([ dmp_convert(c, v, K0, K1) for c in f ], u)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\densebasic.py", line 567, in dmp_convert
return dmp_strip([ dmp_convert(c, v, K0, K1) for c in f ], u)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\densebasic.py", line 567, in
return dmp_strip([ dmp_convert(c, v, K0, K1) for c in f ], u)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\densebasic.py", line 561, in dmp_convert
return dup_convert(f, K0, K1)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\densebasic.py", line 538, in dup_convert
return dup_strip([ K1.convert(c, K0) for c in f ])
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\densebasic.py", line 538, in
return dup_strip([ K1.convert(c, K0) for c in f ])
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\domains\domain.py", line 409, in convert
return self.convert_from(element, base)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\domains\domain.py", line 396, in convert_from
result = _convert(element, base)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\domains\rationalfield.py", line 136, in from_RealField
return MPQ( map(int, K0.to_rational(a)))
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\domains\realfield.py", line 108, in to_rational
return self._context.to_rational(element, limit)
File "E:\Anaconda\envs\xcx_tf_20240410_jupyter\lib\site-packages\sympy\polys\domains\mpelements.py", line 142, in to_rational
k = (ctx.max_denom - q0)//q1
ZeroDivisionError: integer division or modulo by zero
进程已结束,退出代码为 1