SymPy ist eine Open-Source -Python- Bibliothek für symbolische Berechnungen . Sie bietet Funktionen für Computeralgebra, entweder als eigenständige Anwendung, als Bibliothek für andere Anwendungen oder als webbasierte Lösung unter den Namen SymPy Live [ 2 ] oder SymPy Gamma [ 3 ] . SymPy ist einfach zu installieren und zu untersuchen, da es vollständig in Python geschrieben ist und nur wenige Abhängigkeiten aufweist. [ 4 ] [ 5 ] [ 6 ] Diese einfache Zugänglichkeit in Kombination mit einer einfachen und erweiterbaren Codebasis in einer bekannten Sprache macht SymPy zu einem Computeralgebrasystem mit relativ niedrigem Einstiegsniveau.

SymPy umfasst Funktionen, die von grundlegender symbolischer Arithmetik bis hin zu Analysis , Algebra , diskreter Mathematik und Quantenphysik reichen . Es kann die Ergebnisse der Berechnungen als LaTeX- Code formatieren. [ 4 ] [ 5 ]

SymPy ist freie Software und steht unter der 3-Klausel-BSD- Lizenz . Die Hauptentwickler sind Ondřej Čertík und Aaron Meurer. Das Projekt wurde 2005 von Ondřej Čertík ins Leben gerufen. [ 7 ]

Merkmale

Die SymPy-Bibliothek ist in einen Kern und viele optionale Module unterteilt.

Derzeit umfasst der Kern von SymPy rund 260.000 Codezeilen [ 8 ] (dazu gehört auch ein umfassender Satz von Selbsttests: über 100.000 Zeilen in 350 Dateien in Version 0.7.5), und seine Fähigkeiten umfassen: [ 4 ] [ 5 ] [ 9 ] [ 10 ] [ 11 ]

Kernkompetenzen

Polynome

Infinitesimalrechnung

Gleichungen lösen

Diskrete Mathematik

Matrizen

Geometrie

Plotten

Hinweis: Zum Erstellen von Diagrammen wird das externe Modul Matplotlib oder Pyglet benötigt.

  • Koordinatenmodelle
  • Geometrische Objekte zeichnen
  • 2D und 3D
  • Interaktive Benutzeroberfläche
  • Farben
  • Animationen

Physik

Statistiken

Kombinatorik

Drucken

  • SageMath : eine Open-Source-Alternative zu Mathematica , Maple , MATLAB und Magma (SymPy ist in Sage enthalten)
  • SymEngine: eine Neuentwicklung des SymPy-Kerns in C++ , um dessen Leistung zu steigern. Derzeit wird daran gearbeitet, SymEngine auch als Basis für Sage zu verwenden. [ 14 ]
  • mpmath: eine Python-Bibliothek für Gleitkommaarithmetik mit beliebiger Genauigkeit [ 15 ]
  • SympyCore: ein weiteres Computeralgebrasystem für Python [ 16 ]
  • SfePy: Software zur Lösung von Systemen gekoppelter partieller Differentialgleichungen (PDEs) mittels der Finite-Elemente-Methode in 1D, 2D und 3D. [ 17 ]
  • GAlgebra: Modul für geometrische Algebra (ehemals sympy.galgebra). [ 18 ]
  • Quameon: Quanten-Monte-Carlo-Simulation in Python. [ 19 ]
  • Lcapy: Experimentelles Python-Paket zum Lehren der Analyse linearer Schaltungen . [ 20 ]
  • LaTeX Expression-Projekt: Einfacher LaTeX-Satz von algebraischen Ausdrücken in symbolischer Form mit automatischer Substitution und Ergebnisberechnung. [ 21 ]
  • Symbolische statistische Modellierung: Hinzufügen statistischer Operationen zu komplexen physikalischen Modellen. [ 22 ]
  • Diofant: eine Abzweigung von SymPy, gestartet von Sergey B. Kirpichev [ 23 ]

Abhängigkeiten

Seit Version 1.0 benötigt SymPy das Paket mpmath als Abhängigkeit.

Es gibt mehrere optionale Abhängigkeiten, die seine Fähigkeiten erweitern können:

  • gmpy : Wenn gmpy installiert ist, verwendet das Polynommodul von SymPy es automatisch für schnellere Ground-Typen. Dies kann die Leistung bestimmter Operationen um ein Vielfaches steigern.
  • matplotlib : Wenn matplotlib installiert ist, kann SymPy es zum Plotten verwenden.
  • Pyglet : Alternatives Plot-Paket.

Siehe auch

Referenzen

  1. ^ „Releases - sympy/sympy“ . Abgerufen am 14. Mai 2025 – via GitHub .
  2. ^ „SymPy Live“ . live.sympy.org . Abgerufen am 25.08.2021 .
  3. ^ „SymPy Gamma“ . www.sympygamma.com . Abgerufen am 25.08.2021 .
  4. ^ a b c „SymPy-Homepage“ . Abgerufen am 13.10.2014 .
  5. Joyner , David; Čertík, Ondřej; Meurer, Aaron; Granger, Brian E. (2012). „Open-Source-Computeralgebrasysteme: SymPy“. ACM Communications in Computer Algebra . 45 (3/4): 225–234 . doi : 10.1145/2110170.2110185 . S2CID 44862851 . 
  6. ^ Meurer, Aaron; Smith, Christopher P.; Paprocki, Mateusz; Čertík, Ondřej; Kirpichev, Sergey B.; Rocklin, Matthew; Kumar, AMiT; Ivanov, Sergiu; Moore, Jason K. (02.01.2017). „SymPy: Symbolisches Rechnen in Python“ (PDF) . PeerJ-Informatik . 3 : e103. doi : 10.7717/peerj-cs.103 . ISSN 2376-5992 . 
  7. ^ „SymPy vs. Mathematica · sympy/Sympy Wiki“ . GitHub .
  8. ^ „Sympy-Projektstatistiken auf Open HUB“ . Abgerufen am 13.10.2014 .
  9. Gede , Gilbert; Peterson, Dale L.; Nanjangud, Angadh; Moore, Jason K.; Hubbard, Mont (2013). Mehrkörperdynamik mit Zwangsbedingungen und Python: Von der symbolischen Gleichungsgenerierung zur Veröffentlichung . ASME 2013 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. American Society of Mechanical Engineers. S. V07BT10A051. doi : 10.1115/DETC2013-13470 . ISBN 978-0-7918-5597-3Die
  10. ^ Rocklin, Matthew; Terrel, Andy (2012). „Symbolische Statistik mit SymPy“. Computing in Science & Engineering . 14 (3): 88–93 . Bibcode : 2012CSE....14c..88R . doi : 10.1109/MCSE.2012.56 . S2CID 18307629 . 
  11. ^ Asif, Mushtaq; Olaussen, Kåre (2014). „Automatischer Codegenerator für Integratoren höherer Ordnung“. Computer Physics Communications . 185 (5): 1461–1472 . arXiv : 1310.2111 . Bibcode : 2014CoPhC.185.1461M . doi : 10.1016/j.cpc.2014.01.012 . S2CID 42041635 . 
  12. ^ „Assumptions Module — SymPy 1.4 documentation“ . docs.sympy.org . Abgerufen am 5. Juli 2019 .
  13. ^ „Kontinuumsmechanik – SymPy 1.4-Dokumentation“ . docs.sympy.org . Abgerufen am 5. Juli 2019 .
  14. ^ „GitHub - symengine/symengine: SymEngine ist eine schnelle symbolische Manipulationsbibliothek, geschrieben in C++“ . GitHub . Abgerufen am 25.08.2021 .
  15. ^ „mpmath – Python-Bibliothek für Gleitkommaarithmetik mit beliebiger Genauigkeit“ . mpmath.org . Abgerufen am 25.08.2021 .
  16. ^ „GitHub – pearu/sympycore: Automatisch exportiert von code.google.com/p/sympycore“ . GitHub . Januar 2021. Abgerufen am 25.08.2021 .
  17. ^ Entwickler, SfePy. „SfePy: Einfache finite Elemente in Python – SfePy Version: 2021.2+git.13ca95f1 Dokumentation“ . sfepy.org . Abgerufen am 25.08.2021 .
  18. ^ „GitHub – pygae/galgebra: Symbolisches Paket für geometrische Algebra/Analysis für SymPy“ . GitHub . Abgerufen am 25.08.2021 .
  19. ^ „Quameon – Quantum Monte Carlo in Python“ . quameon.sourceforge.net . Abgerufen am 25.08.2021 .
  20. ^ „Willkommen in der Lcapy-Dokumentation! — Lcapy 0.76-Dokumentation“ . 16.01.2021. Archiviert vom Original am 16.01.2021 . Abgerufen am 25.08.2021 .
  21. ^ „Dokumentation zum LaTeX Expression-Projekt – Dokumentation zu LaTeX Expression 0.3.dev“ . mech.fsv.cvut.cz. Abgerufen am 25.08.2021 .
  22. ^ „Symbolische Statistik mit SymPy“ . ResearchGate . Abgerufen am 25.08.2021 .
  23. ^ „Diofants Dokumentation – Diofant 0.13.0a4.dev13+g8c5685115 Dokumentation“ . diofant.readthedocs.io . Abgerufen am 25.08.2021 .