Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. SymPy – Wikipedia
SymPy – Wikipedia 👆 Click Here!
aus Wikipedia, der freien Enzyklopädie
SymPy

Basisdaten

Hauptentwickler Community-Projekt, initiiert durch Aaron Meurer
Entwickler Aaron Meurer, Ondřej Čertík, Christopher P. Smith
Erscheinungsjahr 2007
Aktuelle Version 1.14.0[1]
(27. April 2025)
Betriebssystem Plattformunabhängigkeit
Programmier­sprache Python
Kategorie Computeralgebrasystem
Lizenz BSD-Lizenz
sympy.org

SymPy ist eine Python-Bibliothek für symbolisch-mathematische Berechnungen. Die Computeralgebra-Funktionen werden angeboten als

  • eigenständiges Programm
  • Bibliothek für andere Anwendungen
  • Webservice SymPy Live[2] oder SymPy Gamma[3]

SymPy ermöglicht Berechnungen und Darstellungen im Rahmen von einfacher symbolischer Arithmetik bis hin zu Differential- und Integralrechnung sowie Algebra, diskreter Mathematik und Quantenphysik. Die Ergebnisse werden auf Wunsch in der Textsatzsystemsprache TeX ausgegeben.[4]

SymPy ist freie Software und steht unter der neuen BSD-Lizenz. Die führenden Entwickler sind Ondřej Čertík und Aaron Meurer.[4]

Die SymPy-Bibliothek besteht aus einem Basissystem, das durch optionale Module erweitert werden kann. Das Basissystem, auch als Core oder Kern bezeichnet, umfasst rund 260.000 Zeilen Code.[5] Davon sind mehr als 100.000 Zeilen für umfangreiche Selbsttests vorgesehen.

Fähigkeiten

[Bearbeiten | Quelltext bearbeiten]

SymPy umfasst zahlreiche mathematische Funktionen. Die nachfolgende Übersicht zeigt die grundlegende Fähigkeit des Basissystems sowie die Möglichkeit der modularen Erweiterungen.

Basissystem

[Bearbeiten | Quelltext bearbeiten]
  • Grundrechenarten: Addition, Subtraktion, Multiplikation, Division
  • Vereinfachung
  • Erweiterung
  • Funktionen: u. a. Trigonometrie, Hyperbolische Geometrie, Exponentialfunktion, Wurzelberechnungen, Logarithmen, Absolute Werte, Kugelflächenfunktionen, Fakultäten und Gammafunktionen, Zeta-Funktionen, Polynome, Hypergeometrie
  • Substitution Auswechslung
  • ganze, rationale und Kommazahlen
  • Hypergeometrie
  • Mustererkennung

Polynome

[Bearbeiten | Quelltext bearbeiten]
  • Grundrechenarten
  • Faktorisierung
  • Platzfreie Faktorisierung
  • Gröbnerbasis
  • Partialbruchzerlegung
  • Resultante

Analytik

[Bearbeiten | Quelltext bearbeiten]
  • Grenzen
  • Differenzial- und Integralrechnung mit integriertem Risch-Algorithmus
  • Taylorreihe

Lösen von Gleichungen

[Bearbeiten | Quelltext bearbeiten]
  • Polynome
  • Gleichungssysteme
  • Algebraische Gleichungssysteme
  • Differentialgleichung
  • Differenzengleichung

Diskrete Mathematik

[Bearbeiten | Quelltext bearbeiten]
  • Binomialkoeffizient
  • Summe
  • Produkt (Mathematik)
  • Zahlentheorie: Generieren und Testen von Primzahlen, Primfaktorzerlegung
  • logische Ausdrücke

Matrix

[Bearbeiten | Quelltext bearbeiten]
  • Grundrechenarten wie z. B. Matrizenmultiplikation
  • Eigenwertproblem
  • Determinante
  • Inverse Matrix
  • Matrixen lösen

Geometrie

[Bearbeiten | Quelltext bearbeiten]
  • Punkte, Linien, Strahlen, Segmente, Ellipsen, Kreise, Polygone, …
  • Kreuzungen
  • Tangentialität
  • Ähnlichkeit

Grafische Darstellung (Plotten)

[Bearbeiten | Quelltext bearbeiten]

Zur grafischen Darstellung der Kurven und Diagramme ist die Installation der Bibliothek Matplotlib oder Pyglet erforderlich. Ansonsten erfolgt die Visualisierung textbasiert unter Nutzung der im System installierten Zeichensätze.

  • Koordinatenmodelle
  • Geometrische Entitäten
  • zwei- und dreidimensionale Darstellung
  • Interaktive Schnittstelle
  • mehrfarbige Darstellungen

Physik

[Bearbeiten | Quelltext bearbeiten]
  • Einheiten
  • Klassische Mechanik
  • Quantenmechanik
  • Paraxiale Optik
  • Pauli-Matrizen

Statistik

[Bearbeiten | Quelltext bearbeiten]
  • Normalverteilung
  • Stetige Gleichverteilung
  • Wahrscheinlichkeit

Kombinatorik

[Bearbeiten | Quelltext bearbeiten]
  • Permutation
  • Kombination (Kombinatorik)
  • Partition (Mengenlehre)
  • Teilmenge
  • Permutationsgruppe: Polyhedral, Rubik, Symmetric, …
  • Prüfer-Code und Gray-Code

Ausgabeformate

[Bearbeiten | Quelltext bearbeiten]
  • Quellcodeformate: ASCII/Unicode pretty-printing, TeX
  • Programmcode: C, Fortran, Python

Performanceverbesserung

[Bearbeiten | Quelltext bearbeiten]
  • Gmpy verwendet das SymPy-Polynom-Modul für schnellere Bodentypen, die zu einer deutlichen Leistungssteigerung bestimmter Berechnungen führen.

Beispiele

[Bearbeiten | Quelltext bearbeiten]

Diese Beispiele können interaktiv z. B. in IDLE ausgeführt werden.

PrettyPrint Formatierung

>>>from sympy import pprint, Symbol, sin, exp, sqrt, series

>>>x = Symbol("20")

>>>#PPrint benutzt standardmäßig Unicodezeichen
>>>pprint( 10**exp(x),use_unicode=True)

  ⎛ 20⎞
  ⎝ℯ  ⎠
10

>>>#Gleiche Darstellung ohne Unicodes
>>>pprint( 10**exp(x),use_unicode=False)
  / 20\
  \e  /
10

>>>#Reihenentwicklung
>>>pprint((1/sin(x)).series(x, 0, 4))
              3
1    20   7⋅20     ⎛  4⎞
── + ── + ───── + O⎝20 ⎠
20   6     360

>>>#Wurzel
>>>pprint(sqrt((10**x)))
   ______
  ╱   20
╲╱  10

Plotten

>>> from sympy import symbols, cos,sin
>>> from sympy.plotting import plot3d

>>> x,y = symbols('x y')
>>> plot3d(sin(3*x)*cos(5*y)+y, (x, -2, 2), (y, -2, 2))

Ausmultiplizieren von Termen

from sympy import init_printing, Symbol, expand, pprint
init_printing()

a = Symbol('a')
b = Symbol('b')
e = (a + b)**5

pprint(e)
print("=")
pprint(e.expand())

Lösen algebraischer Gleichungen

from sympy.solvers import solve
from sympy import Symbol
x = Symbol('x')

print("Lösung von: x**2 - 1 = 0 ")
print(solve(x**2 - 1, x))

print("Lösung von: x**2 - 6*x + 9 = 0 ")
print(solve(x**2 - 6*x + 9, x))

Integrieren

from sympy import *

init_printing()
x = Symbol('x')
pprint(integrate(x**2 + 7*x + 5, x))

Zahlentheorie

from sympy.ntheory import factorint
print("Primfaktorzerlegung der Zahl 2000 = (2**4) * (5**3) ")
print(factorint(2000))
print("65537 ist eine Primzahl")
print(factorint(65537))

print("Primzahlen im Bereich 60 bis 90 ausgeben")
from sympy import sieve
print(list(sieve.primerange(60, 90)))

Rechnen mit Matrizen

from sympy import *
M = Matrix(([1,2,3],[4,5,6],[7,8,10]))

print("Addition von Matrizen")
pprint(M+M)

print("Multiplikation von Matrizen")
pprint(M*M)

print("Determinante")
pprint(M.det())

print("inverse")
pprint(M.inv(method="LU"))

Literatur

[Bearbeiten | Quelltext bearbeiten]
  • Ronan Lamy: Instant SymPy Starter. mitp, ISBN 978-1-78216-362-6 (englisch). 

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • Offizielle Website

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ Release 1.14.0. 27. April 2025 (abgerufen am 1. Mai 2025).
  2. ↑ SymPy Live
  3. ↑ SymPy Gamma
  4. ↑ a b About Sympy. Abgerufen am 1. August 2018 (englisch). 
  5. ↑ The SymPy Open Source Project on Open Hub. Abgerufen am 3. August 2018. 
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=SymPy&oldid=254601065“
Kategorien:
  • Python-Bibliothek
  • Python (Programmiersprache)
  • Freies Computeralgebrasystem
  • Mathematikbibliothek

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id