平方根的Sympy简化

贾斯汀·凌乱

我有一个表达,我认为可以简化一下,并且由于某些原因sympy无法执行我认为简单的简化。我的示例代码如下:

# 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 = Truepositive = 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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章