使用sympy中变量之间的关系简化

时间:2015-12-19 11:37:11

标签: sympy

我想从SU(2)计算一般矩阵,即我有一个

a,b=symbols('a,b')
m=Matrix([[a,b],[-conjugate(b), conjugate(a)]])

经过一些计算后,我希望能够简化我的结果

abs(a)**2 + abs(b)**2 == 1.

有没有人知道如何告诉同情a和b之间的这种关系?

1 个答案:

答案 0 :(得分:1)

最简单的方法是解决一个表达式的等式并替换它。在这种情况下,请将abs(a)**2替换为1 - abs(b)**2(更一般地,您可以使用solve为您执行此隔离操作)。

类似于expr.subs(abs(a)**2, 1 - abs(b)**2)。您可能还需要首先将a*conjugate(a)替换为abs(a)**2(或更确切地说,conjugate(a)替换为abs(a)**2/a)以获得abs的内容。