2 votes

Pourquoi SymPy ne comprend pas le produit log

Pourquoi la réponse suivante est-elle False ?

import sympy as sp

x = sp.Symbol('x')
y = sp.Symbol('y')

sp.log(x*y) == sp.log(x) + sp.log(y)

4voto

miradulo Points 17096

Cette règle repose sur l'hypothèse que vos variables sont positives. SymPy n'effectuera pas cette simplification (correctement) si cela n'est pas indiqué.

Pour que cette hypothèse soit claire pour SymPy,

x = sp.Symbol('x', positive=True)
y = sp.Symbol('y', positive=True)

Maintenant lire cette Q/A sur l'égalité dans SymPy pour voir que vous devez être simplify dans votre comparaison.

>>> sp.simplify(sp.log(x*y) - (sp.log(x) + sp.log(y))) == 0
True

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X