Sympy简化与平方根

Jus*_*ter 5 python sympy simplify

我有一个表达,我认为可以在某种程度上简化,并且由于某种原因,同情并没有表现出我认为简单的简化.我的代码示例如下:

# 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)
Run Code Online (Sandbox Code Playgroud)

我已将上面的代码放在剪切和粘贴乐趣上...... iPython的图形输出如下:

在此输入图像描述

我原以为最终结果如下:

在此输入图像描述

我认为根据我如何定义变量,简化会发生,至少sqrt((R + d)**2)......我做错了什么?

Eri*_*ikR 9

尝试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))
Run Code Online (Sandbox Code Playgroud)

输出:

d/c
Run Code Online (Sandbox Code Playgroud)