sympy:三角和和 - 产品身份

时间:2014-08-18 02:33:15

标签: sympy

我有一个表达式:sin(x)+sin(y)

有一个众所周知的三角形身份来表达这是罪和cos的产物。

有没有办法让同情心申请这个身份?

simplifytrigsimp什么都不做。

2 个答案:

答案 0 :(得分:9)

正如Aristocrates指出的那样,

trigsimp反之亦然,因为sin(x) + sin(y)2*sin((x + y)/2)*cos((x - y)/2)更简单。

trigsimp内部使用基于Fu, et. al.的论文的算法,该算法对各种三角函数进行模式匹配。如果你查看source code,所有的身份都写在各个函数中(函数以Fu的论文中的部分命名)。

查看文件顶部的简化列表,您想要的那个可能是

TR9 - contract sums of sin-cos to products

测试它,它看起来像是有效的

In [1]: from sympy.simplify.fu import TR9

In [2]: TR9(sin(x) + sin(y))
Out[2]:
     ⎛x   y⎞    ⎛x   y⎞
2⋅sin⎜─ + ─⎟⋅cos⎜─ - ─⎟
     ⎝2   2⎠    ⎝2   2⎠

我们最终希望将这些功能纳入更加用户友好的功能中,但就目前而言,即使所有功能名称都不是特别难忘,fu.py文件也有很好的记录。

答案 1 :(得分:0)

似乎没有定义一个函数。您需要按照@asmeurer的说明使用各个Fu函数。我能提供的是指向官方文档的指针,它对此进行了解释:https://docs.sympy.org/dev/modules/simplify/fu.html