【发布时间】:2018-05-24 14:59:03
【问题描述】:
我有一堆类似的同情表达
g = sp.sympify('2**(1/4) * 5**(1/2) * 3**(3/4) * 6**(-1)')
我想简化。在这种情况下,我非常希望将其重写为 (25/24)**(1/4),但我找不到用于简化的设置或其他方法 listed here 可以让我这样做。
所以我想要的是一堆自然数a_i和有理指数(p_i/q_i),我想要产品
a1**(p1/q1) * a2**(p2/q2) * ... * ak**(pk/qk)
改写为
(r/s)**(1/lcm(q1,q2,...,qk))
或者可能
(r1**s1 * r2**s2 *... rm**sm)**(1/lcm(q1,q2,...,qk))
r_i 是质因数,s_i 是整数。是否有任何内置函数允许我这样做?
其次,我注意到 Sympy 不会简化某些三角恒等式。例如,它似乎不知道
tan((1/2)*atan(x)) = (sqrt(x**2 + 1)-1)/x
我怎样才能告诉 Sympy 使用这个身份,即使 x 更复杂?
【问题讨论】:
标签: sympy