Calculer une limite avec SymPy limit() en Python

1. À propos du calcul des limites avec SymPy

En analyse mathématique, la limite permet d'étudier le comportement d'une fonction lorsque sa variable se rapproche d'une valeur donnée ou tend vers l'infini. La bibliothèque SymPy permet d'effectuer ce calcul symboliquement avec la fonction limit().

La syntaxe fondamentale est limit(expression, variable, valeur). SymPy cherche alors la limite de l'expression lorsque la variable tend vers la valeur indiquée.

Le programme suivant calcule la limite de x² + 2x + 1 lorsque x tend vers 2.

Sortie :

Dans cet exemple, l'expression est continue en x = 2. La limite correspond donc simplement à la valeur obtenue en remplaçant x par 2.

2. Calculer une limite simple avec limit()

Pour une fonction continue au point étudié, limit() retourne directement la valeur vers laquelle tend l'expression. Il n'est pas nécessaire d'effectuer manuellement les transformations algébriques.

Le programme suivant calcule la limite de 3x² - 5x + 2 lorsque x tend vers 1.

Sortie :

La fonction étant polynomiale, elle est continue et la limite vaut directement 3 - 5 + 2 = 0.

La fonction limit() peut également être appelée comme méthode sur une expression SymPy à l'aide de .limit().

Sortie :

Les écritures limit(expression, x, 2) et expression.limit(x, 2) permettent donc toutes les deux de calculer la limite.

3. Calculer une limite d'une forme indéterminée

L'un des principaux intérêts de limit() apparaît lorsque la substitution directe conduit à une forme indéterminée telle que 0/0. SymPy effectue alors les transformations symboliques nécessaires pour déterminer la limite.

Considérons l'expression (x² - 1)/(x - 1). Pour x = 1, le numérateur et le dénominateur s'annulent, mais la limite existe.

Sortie :

En effet, pour x ≠ 1, l'expression peut être simplifiée en x + 1. Sa limite lorsque x tend vers 1 est donc égale à 2.

Le programme suivant présente une autre forme indéterminée 0/0 obtenue avec des polynômes.

Sortie :

SymPy détermine ici automatiquement que la limite vaut 12, sans qu'il soit nécessaire de factoriser manuellement x³ - 8.

4. Calculer une limite à gauche et à droite

Lorsqu'une fonction n'a pas le même comportement des deux côtés d'un point, il faut distinguer la limite à gauche et la limite à droite. Le paramètre dir permet de préciser le sens d'approche.

Pour une limite en un point fini, dir="-" indique une approche depuis les valeurs inférieures, donc une limite à gauche. Le programme suivant calcule la limite à gauche de 1/x en 0.

Sortie :

Le symbole -oo représente -∞. Lorsque x s'approche de zéro par valeurs négatives, 1/x tend vers moins l'infini.

Pour calculer la limite à droite, nous utilisons dir="+".

Sortie :

Le symbole oo représente +∞. Les limites à gauche et à droite étant différentes, 1/x n'admet pas de limite bilatérale finie ou infinie unique en zéro.

5. Calculer une limite à l'infini

SymPy utilise le symbole oo pour représenter l'infini. Nous pouvons donc calculer le comportement asymptotique d'une fonction lorsque x tend vers +∞ ou -∞.

Le programme suivant calcule la limite de 1/x lorsque x tend vers l'infini positif.

Sortie :

Lorsque x devient arbitrairement grand, la quantité 1/x se rapproche de zéro.

Pour une fraction rationnelle, SymPy peut également comparer automatiquement les termes dominants du numérateur et du dénominateur. Le programme suivant calcule une limite de ce type.

Sortie :

Le numérateur et le dénominateur ont le même degré. La limite est donc égale au rapport de leurs coefficients dominants, soit 3/1 = 3.

Pour étudier le comportement en moins l'infini, nous pouvons utiliser -oo.

Sortie :

Lorsque x tend vers -∞, l'expression 2x + 1 tend également vers -∞.

6. Calculer des limites avec les fonctions trigonométriques

La fonction limit() permet de calculer de nombreuses limites trigonométriques. Elle reconnaît notamment certaines limites remarquables utilisées fréquemment en analyse.

Le programme suivant calcule la célèbre limite de sin(x)/x lorsque x tend vers zéro.

Sortie :

Nous retrouvons la limite remarquable sin(x)/x → 1 lorsque x tend vers zéro.

Le programme suivant calcule une autre limite classique faisant intervenir le cosinus.

Sortie :

SymPy retourne la valeur exacte 1/2.

Nous pouvons également calculer la limite de tan(x)/x lorsque x tend vers zéro.

Sortie :

Cette limite remarquable vaut également 1.

7. Calculer des limites avec exp() et log()

La fonction limit() peut traiter des expressions contenant les fonctions exp() et log(). Ces fonctions interviennent fréquemment dans les formes indéterminées et les études asymptotiques.

Le programme suivant calcule la limite de (exp(x) - 1)/x lorsque x tend vers zéro.

Sortie :

Cette limite vaut 1 et constitue une autre limite fondamentale de l'analyse.

Le programme suivant calcule la limite de log(1 + x)/x lorsque x tend vers zéro.

Sortie :

SymPy retrouve automatiquement la limite remarquable log(1 + x)/x → 1.

Nous pouvons également étudier la croissance comparée du logarithme et de x à l'infini.

Sortie :

Le logarithme croît beaucoup moins rapidement que x, ce qui explique que le quotient tende vers zéro.

8. Utiliser Limit() pour représenter une limite

SymPy distingue la fonction limit(), qui calcule immédiatement une limite, et la classe Limit, qui permet de créer un objet symbolique représentant une limite sans nécessairement l'évaluer immédiatement.

Le programme suivant crée un objet Limit représentant la limite de sin(x)/x lorsque x tend vers zéro.

Sortie :

L'objet représente la limite sans effectuer immédiatement son calcul. La représentation affichée peut également préciser la direction utilisée par SymPy.

La méthode doit() permet ensuite de demander l'évaluation de l'objet Limit.

Sortie :

Cette approche est utile lorsque nous souhaitons construire ou manipuler une expression symbolique avant d'effectuer réellement son calcul.

9. Combiner limit() avec simplify(), factor() et series()

La fonction limit() peut être associée à d'autres outils de SymPy tels que simplify(), factor() et series(). Ces fonctions permettent notamment de mieux comprendre pourquoi une limite prend une valeur donnée.

Le programme suivant factorise une expression rationnelle avant d'en calculer la limite.

Sortie :

La fonction factor() factorise les polynômes du numérateur et du dénominateur, mais ne supprime pas nécessairement le facteur commun dans une fraction. Pour effectuer cette réduction, cancel() est plus appropriée.

Le programme suivant utilise donc cancel() pour réduire la fraction avant de calculer sa limite.

Sortie :

La réduction fait apparaître directement le comportement de l'expression au voisinage de x = 2.

La fonction series() permet quant à elle d'obtenir un développement local d'une fonction. Le programme suivant développe sin(x)/x autour de zéro avant de calculer sa limite.

Sortie :

Le terme constant du développement est 1, tandis que les autres termes tendent vers zéro lorsque x tend vers zéro. Le développement en série permet ainsi de mieux comprendre le résultat de la limite.

10. À retenir !

La fonction limit() de SymPy permet de calculer symboliquement des limites de fonctions en un point fini ou à l'infini. Elle peut traiter de nombreuses expressions algébriques, rationnelles, trigonométriques, exponentielles et logarithmiques.

  • limit(expression, variable, valeur) calcule une limite symbolique.
  • La méthode expression.limit() constitue une autre syntaxe possible.
  • SymPy peut résoudre automatiquement de nombreuses formes indéterminées telles que 0/0.
  • Le paramètre dir="-" permet de calculer une limite à gauche.
  • Le paramètre dir="+" permet de calculer une limite à droite.
  • Le symbole oo représente +∞ et -oo représente -∞.
  • limit() permet de calculer de nombreuses limites trigonométriques remarquables.
  • Les fonctions exp() et log() peuvent être utilisées dans les expressions étudiées.
  • La classe Limit permet de représenter une limite symboliquement et doit() permet ensuite de l'évaluer.
  • cancel(), simplify() et series() peuvent compléter l'étude d'une limite et aider à comprendre son comportement local.

Le programme suivant rassemble plusieurs calculs classiques avec limit() : une forme indéterminée, une limite trigonométrique, une limite à l'infini et une limite exponentielle.

Sortie :

 




 


Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *