Table des matières[Cacher][Montrer]
Il n'y a pas moyen de contourner les mathématiques, que vous soyez étudiant à l'université ou que vous travailliez en science des données.
On pourrait même dire que la science des données est un type de mathématiques/statistiques appliquées. NumPy, SciPy, Scikit-Apprendreet TensorFlow ne sont que quelques-unes des bibliothèques Python qui traitent quantitativement des mathématiques.
Cependant, il n'y a qu'un seul concurrent pour traiter explicitement les symboles mathématiques : SymPy.
Découvrons tout sur SymPy.
Qu’est ce qu' Sympy?
SymPy est une bibliothèque de mathématiques symboliques Python. Il aspire à être un système d'algèbre informatique (CAS) complet tout en gardant le code aussi basique que possible pour être compréhensible et facilement extensible.
Il est entièrement écrit en Python. Il est simple à utiliser car il ne repose que sur mpmath, une bibliothèque Python pure pour l'arithmétique arbitraire en virgule flottante.
En tant que bibliothèque, elle a été créée en mettant l'accent sur la convivialité. L'extensibilité est essentielle dans la conception de son interface de programme d'application (API).
Par conséquent, il ne tente pas d'améliorer le langage Python. L'objectif est que les utilisateurs puissent l'utiliser avec d'autres Bibliothèques Python dans leur flux de travail, que ce soit dans un environnement interactif ou en tant que composant programmé d'un système plus vaste.
SymPy, en tant que bibliothèque, n'a pas de graphique intégré Interface utilisateur (GUI). La bibliothèque c'est :
- Gratuit, à la fois en ce qui concerne la parole et la bière, car il est sous licence BSD.
- Basé sur Python : Il est entièrement développé en Python et utilise Python comme langage.
- Léger car il ne repose que sur mpmath, un pur Librairie Python pour l'arithmétique à virgule flottante arbitraire, ce qui la rend simple à utiliser.
- Peut être intégré à d'autres programmes et modifié avec des fonctions personnalisées en plus d'être utilisé comme un outil interactif.
Pourquoi utiliser SymPy ?
Sage, un système d'algèbre informatique, utilise également Python comme langage de programmation. Sage, en revanche, est énorme, nécessitant un téléchargement de plus d'un gigaoctet. Il a l'avantage d'être léger.
En plus d'être compact, il n'a aucune dépendance autre que Python, ce qui lui permet d'être utilisé pratiquement partout.
De plus, les objectifs de Sage et de SymPy ne sont pas les mêmes. Sage aspire à être un système mathématique complet, et il le fait en combinant tous les principaux systèmes mathématiques open source en un seul.
Lorsque vous utilisez une fonction Sage, telle que l'intégration, elle invoque l'un des packages open source qu'elle contient. En réalité, il est intégré à Sage. SymPy, d'autre part, aspire à être un système autonome, avec toutes les fonctionnalités implémentées en lui-même.
Sa capacité à fonctionner comme une bibliothèque est une caractéristique importante. De nombreux systèmes de calcul formel sont destinés à être utilisés dans des environnements interactifs, mais ils sont difficiles à automatiser ou à développer.
Il peut être utilisé de manière interactive en Python ou importé dans votre propre programme Python. Il dispose également d'API pour l'étendre facilement avec vos propres routines.
Installation de SymPy
Utilisez simplement la commande ci-dessous pour l'installer dans votre environnement.
Symboles SymPy
Commençons maintenant ! Son objet fondamental est un symbole. Dans SymPy, vous pouvez générer un symbole x en écrivant :
Le code ci-dessus génère le symbole x. Les symboles qu'il contient sont destinés à émuler des symboles mathématiques qui représentent des valeurs inconnues.
En conséquence, le calcul suivant est présenté ci-dessous :
Comme indiqué ci-dessus, le symbole x fonctionne de manière similaire à un montant inconnu. Si vous souhaitez faire plusieurs symboles, écrivez-les comme suit :
Vous avez créé deux symboles, y et z, au même moment dans ce cas. Ces symboles peuvent maintenant être additionnés, soustraits, multipliés et divisés à volonté :
Fonctions SymPy
1. Fonction sympify()
La méthode sympify() transforme une expression arbitraire en une expression SymPy. Il convertit les objets Python standard, tels que les entiers.
Les chaînes sont transformées en leurs expressions ainsi qu'en nombres entiers, etc.
2. Fonction evalf()
Cette fonction évalue une expression numérique spécifiée avec une précision en virgule flottante allant jusqu'à 100 chiffres.
La fonction accepte en outre un objet dictionnaire avec des valeurs numériques pour les symboles en tant qu'argument subs. Considérez la phrase suivante :
La précision en virgule flottante est définie sur 15 chiffres par défaut. Cependant, cela peut être changé en n'importe quel nombre entre 1 et 100.
L'équation suivante est évaluée avec une précision de 20 chiffres.
3. Fonction Lambdify()
Lambdify est une fonction qui convertit ses expressions en fonctions Python. La méthode evalf() est inefficace lors de l'évaluation d'une expression sur une large plage de valeurs.
Lambdify fonctionne de la même manière qu'une fonction lambda, sauf qu'il traduit les noms SymPy en noms de la bibliothèque numérique fournie, qui est généralement NumPy.
Par défaut, Lambdify est appliqué aux implémentations de bibliothèques mathématiques standard.
Fonctionnalités:
Une poignée des fonctionnalités les plus importantes de la bibliothèque sont répertoriées ici; il y en a beaucoup d'autres non inclus, mais vous pouvez les consulter ici.
1. Capacités de base
- Arithmétique fondamentale : les opérateurs +, -, *, / et ** sont pris en charge (puissance)
- Un développement polynomial
- Entiers, rationnels et flottants avec une précision arbitraire
- Fonctions trigonométriques, hyperboliques et exponentielles, racines, logarithmes, valeur absolue, harmoniques sphériques, factorielles et fonctions gamma, fonctions zêta, polynômes et fonctions spéciales
- Symboles non commutatifs
- Motifs assortis
2. Calcul
- Intégration : cette méthode utilise l'heuristique étendue de Risch-Norman
- Différenciation.
- Fonctions limites
- La série de Laurent Taylor
3. Polynômes
- Fondations Gröbner
- Décomposition de fractions partielles
- Division, pgcd Les résultantes sont des exemples d'arithmétique de base.
4. Combinatoire
- Permutation
- Codes Gray et Prufer
- Combinaisons, partitions, sous-ensembles
- Groupes polyédriques, Rubik, symétriques et autres groupes de permutation
5. Mathématiques discrètes
- Sommes
- Expressions logiques
- Coefficients binomiaux
- La théorie du nombre
Applications
1. Calculateur de construction
2. Systèmes d'algèbre informatique
Contrairement à d'autres systèmes de calcul formel, vous devez y déclarer manuellement des variables symboliques à l'aide de la fonction Symbol().
3. Calcul
La capacité d'un système de calcul symbolique à effectuer symboliquement toutes sortes de calculs est sa principale force.
Il peut simplifier symboliquement des déclarations, calculer des dérivées, des intégrales et des limites, résoudre des équations, interagir avec des matrices et bien plus encore.
Pour vous mettre en appétit, voici un avant-goût du pouvoir symbolique.
Que pouvez-vous faire d'autre avec SymPy ?
Plutôt que de parler en profondeur de problèmes supplémentaires, laissez-moi vous fournir une liste de ressources pour vous aider à améliorer vos compétences :
- Matrices et algèbre linéaire : Il peut fonctionner avec des matrices et effectuer des opérations d'algèbre linéaire de base. Le langage est similaire à la syntaxe de NumPy. Cependant, il existe des différences notables. Pour commencer, enquêtez Matrices en librairie.
- Expression: Il exploite une arborescence d'expressions, qui est une structure arborescente, pour suivre les expressions. Regarder arbres d'expression si vous voulez en savoir plus sur leur fonctionnement interne.
- Dérivées et intégrales : Il peut accomplir la plupart de ce que vous apprendriez dans un cours d'introduction au calcul (moins la réflexion). Vous pouvez commencer par regarder notre fonction différenciation dans Sympy.
- Relation avec NumPy : NumPy et SymPy sont toutes deux des bibliothèques liées aux mathématiques. Ils sont pourtant essentiellement différents ! NumPy fonctionne avec des nombres, alors qu'il fonctionne avec des expressions symboliques.
- Simplification : Il est suffisamment intelligent pour simplifier automatiquement les expressions. Cependant, si vous voulez un contrôle plus précis sur cela, regardez son simplifications.
Conclusion
SymPy est une bibliothèque puissante pour les mathématiques symboliques.
Vous pouvez l'utiliser pour créer des variables et des fonctions, ainsi que pour étendre et simplifier symboliquement des énoncés mathématiques et résoudre des équations, des inégalités et même des systèmes d'équations/inégalités.
Vous pouvez écrire les fonctions à la fois dans le texte du script et directement dans le terminal (ou Cahiers Jupyter) pour obtenir une évaluation rapide et une meilleure représentation graphique des calculs effectués.
Êtes-vous prêt à explorer davantage SymPy ? Faites le nous savoir dans les commentaires.
Soyez sympa! Laissez un commentaire