Czy istnieje sposób sprawdzenia, czy dwa wyrażenia są matematycznie równe? Oczekiwalem, ze tg(x)cos(x) == sin(x)
wyjdzie True
, ale wyjdzie False
. Czy istnieje sposób dokonywania takich porównań z sympy? Innym przykładem jest (a+b)**2 == a**2 + 2*a*b + b**2
, który zaskakująco również wyprowadza False
.Sympy - Porównywanie wyrażeń
Znalazłem kilka podobnych pytań, ale żaden z nich nie obejmował dokładnie tego problemu.
UWAGA Jeśli masz wyrażeń logicznych (gdzie zmienne 'a, b,. .. = sympy.symbols ('ab ...', boolean = True) 'i używasz rzeczy takich jak' sympy.Or', 'sympy.Xor', itp.), wtedy możesz zrobić' isEquivalent = lambda expr1, expr2 : sympy.simplify ((wyrażenie1 i (~ wyrażenie2)) | ((~ wyrażenie1) i wyrażenie2)) == Fałsz' – Phylliida