Calculer les dérivées partielles en Python à l'aide de Sympy
Une dérivée partielle est la dérivée d’une fonction qui a deux ou plusieurs autres variables au lieu d’une variable. Comme la fonction dépend de plusieurs variables, la dérivée se convertit en dérivée partielle.
Par exemple, lorsqu’une fonction f(b,c)
existe, la fonction dépend des deux variables, b
et c
, où ces deux variables sont indépendantes l’une de l’autre. La fonction, cependant, dépend en partie à la fois de b
et de c
. Par conséquent, pour calculer la dérivée de f
, cette dérivée sera appelée dérivée partielle
. Si vous différenciez la fonction f en référence à b, vous utiliserez c comme constante. Sinon, si vous différenciez f par rapport à c, vous prendrez b comme constante à la place.
En Python, le module Sympy
permet de calculer la dérivée partielle dans une fonction mathématique. Ce module utilise des symboles pour effectuer toutes sortes de calculs. Il peut également être utilisé pour résoudre des équations, simplifier des expressions, calculer des dérivées et des limites et d’autres calculs.
Sympy
doit être installé manuellement avant de pouvoir être utilisé. Par conséquent, cd sur votre terminal d’ordinateur et exécutez la commande suivante pour installer le package sympy
.
pip install sympy
Pour utiliser
sympy
pour calculer une dérivée partielle, vous devez d’abord importer le packagesympy
à partir de symboles.
L’ordinateur évalue le calcul des valeurs différemment de la façon dont elles sont inscrites sur un morceau de papier. Par conséquent, les symboles seront ici sous la forme de variables contenant les valeurs réelles à évaluer. Ainsi, lors du calcul, le calculateur manipule la variable à la valeur à laquelle elle est attachée.
Maintenant, utilisons l’exemple suivant pour dériver la dérivée partielle de la fonction.
f(a, b, c) = 5ab - acos(c)+ a^2 + c^8b
part_deriv(function = f, variable = a)
Le résultat attendu après différenciation de la fonction en sa dérivée partielle est 2*a + 5*b - cos(c)
.
Pour évaluer la dérivée partielle de la fonction ci-dessus, nous différencions cette fonction par rapport à a
tandis que b
et c
seront les constantes.
from sympy import symbols, cos, diff
a, b, c = symbols("a b c", real=True)
f = 5 * a * b - a * cos(c) + a ** 2 + c ** 8 * b
# differntiating function f in respect to a
print(diff(f, a))
Production :
2*a + 5*b - cos(c)