我有一个表达,我认为可以在某种程度上简化,并且由于某种原因,同情并没有表现出我认为简单的简化.我的代码示例如下:
# coding: utf-8 # In[1]: from __future__ import division from sympy import * init_printing() # In[3]: d, R, c = symbols('d R c', Positive = True, Real = True) ?t = symbols('\Delta_t', Real = True) # In[4]: ?t = (1/c**2)*(-R*c+sqrt(c**2*(R+d)**2)) ?t # In[5]: simplify(?t)
我已将上面的代码放在剪切和粘贴乐趣上...... iPython的图形输出如下:
我原以为最终结果如下:
我认为根据我如何定义变量,简化会发生,至少sqrt((R + d)**2)......我做错了什么?
尝试real = True
和positive = True
(小写):
import sympy as sp d, R, c = sp.symbols('d R c', positive = True, real = True) dt = sp.symbols('\Delta_t', real = True) dt = (1/c**2)*(-R*c+sp.sqrt(c**2*(R+d)**2)) print(sp.simplify(dt))
输出:
d/c