Sympy

Screenshot der Software:
Sympy
Softwarebeschreibung:
Version: 0.7.2
Upload-Datum: 20 Feb 15
Entwickler: Ondrej Certik
Lizenz: Frei
Popularität: 54

Rating: 4.5/5 (Total Votes: 2)

Sympy ist ein Open Source symbolische Verarbeitungsprogramm, in reinem Python geschrieben.
Sympy hat das Ziel, eine voll funktions CAS in Python zu werden, während der Code so einfach wie möglich gehalten, so kann es leicht erweiterbar und verständlich sein

Eigenschaften .

  • Grundrechenarten *, /, +, -
  • grundlegende Vereinfachung (wie ein * b * b + 2 * b * a * b - & gt; 3 * a * b ^ 2)
  • Expansion (wie (a + b) ^ 2 - & gt; a ^ 2 + 2 * a * b + b ^ 2)
  • Funktionen (exp, ln, sin, cos, tan, ...)
  • komplexe Zahlen (wie exp (I * x) .evalc () - & gt; cos (x) + I * sin (x))
  • Differenzierung
  • taylor Serie
  • Grundsubstitution (wie x- & gt; ln (x))
  • beliebiger Genauigkeit Ganzzahlen und rationalen
  • Standard (python) schwimmt

Was ist neu in dieser Pressemitteilung:.

  • SymPy unterstützt jetzt Python 3 und PyPy
  • Diese Version enthält auch wichtige neue Funktionen in der Kombinatorik, definitive Integration, Zufallsvariablen, Matrix Ausdrücke, Sätze, die klassische Mechanik, Quantenmechanik, kommutativen Algebra, Plotten, und Differentialgeometrie.
  • Es gab auch Hunderte von Bugfixes im gesamten Code-Basis.

Was ist neu in Version 0.7.1:

  • Wichtige Änderungen:
  • Python 2.4 wird nicht mehr unterstützt. SymPy überhaupt nicht in Python 2.4 zu arbeiten. Wenn Sie noch brauchen, um SymPy unter Python 2.4 aus irgendeinem Grund zu benutzen, müssen Sie SymPy 0.7.0 oder früher verwenden.
  • Die Pyglet Plotter-Bibliothek ist jetzt ein (optional) externe Abhängigkeit. Bisher lieferten wir eine Version von Pyglet mit SymPy, aber das war alt und Buggy. Der Plan ist, schließlich machen das Plotten in SymPy viel mehr modular, so dass es unterstützt viele Backends, aber das ist noch nicht geschehen ist. Denn jetzt wird nur noch Pyglet direkt unterstützt. Man beachte, dass Pyglet ist nur eine optionale Abhängigkeit und wird nur für die Darstellung benötigt werden. Der Rest SymPy noch ohne Abhängigkeiten verwendet werden (mit Ausnahme der Python).
  • isympy arbeitet jetzt mit dem neuen IPython 0,11.
  • mpmath wurde auf 0,17 aktualisiert. Siehe die entsprechenden Release-Notes zu mpmath http://mpmath.googlecode.com/svn/trunk/CHANGES.
  • Es wurde ein Subs Objekt für die Darstellung von nicht ausgewerteten Substitutionen. Auf diese Weise können wir endlich stellen Derivate an einem Punkt bewertet, dh, diff (f (x), x) .subs (x, 0) gibt Subs (Derivative (f (_x), _x), (_x,), (0, )). Dies bedeutet auch, dass SymPy kann nun vollständig der Kettenregel zu berechnen, wenn diese Funktionalität erforderlich ist, wie etwa mit f (g (x)). Diff (x).
  • Hypergeometrische Funktionen / Meijer G-Funktionen:
  • Hinzugefügt Klassen hyper () und meijerg (), um Hypergeometrische und Meijer G-Funktionen darstellen, sind. Sie unterstützen die numerische Auswertung (mit mpmath) und symbolische Differenzierung (nicht in Bezug auf die Parameter).
  • Hinzugefügt einen Algorithmus zum Umschreiben hypergeometrischen und meijer g-Funktionen in Form von mehr vertraut mit dem Namen Sonderfunktionen. Es ist über den Funktions hyperexpand zugänglich () oder auch über expand_func (). Dieser Algorithmus erkennt viele elementare Funktionen, sowie vollständigen und unvollständigen Gamma-Funktionen, Bessel-Funktionen und Fehlfunktionen. Es kann leicht erweitert werden, um mehrere Klassen von Sonderfunktionen zu behandeln.
  • Sets:
  • hinzugekommen FiniteSet Klasse zu python-Set Verhalten imitieren und gleichzeitig mit vorhandenen Intervalle und Gewerkschaften
  • Interaktion
  • FiniteSets und Intervalle zu interagieren, so dass beispiels Intervall (0, 10) - FiniteSet (0, 5) erzeugt (0, 5) U (5, 10]
  • FiniteSets behandeln auch nicht-numerische Objekte, so kann man sich vorstellen {1, 2, "eins", "zwei", {a, b}}
  • hinzugekommen ProductSet in kartesische Produkte Mengen verarbeiten
  • Erstellen Sie mit dem * Operator, dh TwoDice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) oder quadratische = Intervall (0, 1) * Intervall (0, 1)
  • funktioniert pow Betreiber auch wie erwartet: R 3 = Intervall (-oo, oo) ** 3; (3, -5, 0) in R3 == true
  • Subtraktion, gewerkschaft, Mess alle Arbeiten unter komplexen Kreuzungen berücksichtigt.
  • , um Gruppen Hinzugefügt as_relational Verfahren, Herstellung boolean Anweisungen mit Und, Oder, Gl, Lt, Gt, etc ...
  • geändert reduce_poly_inequalities zu Vereinigungen von Mengen und nicht Listen Mengen zurückgeben
  • Iterables:
  • hinzugekommen Erzeugung Routinen für Integer-Partitionen und Binär-Partitionen. Die Routine für ganzzahlige Partitionen dauert 3 Argumente, die Nummer selbst, die maximal mögliche Element in den erzeugten Partitionen und der maximal möglichen Anzahl von Elementen, die in der Partition liegen wird erlaubt. Binary Partitionen werden nur von Zweierpotenzen, die aus.
  • Hinzugefügt Erzeugungsroutine für Multi-Set-Partitionen. Bei einer Multimenge, den Algorithmus implementiert werden alle möglichen Partitionen dieser Mehrmenge zu generieren.
  • hinzugekommen Erzeugung Routinen zur Glocke Permutationen, Störungen und Involutionen. Eine Glocke Permutation ist eine, in der die Zyklen, die sie zusammen bestehen aus ganzen Zahlen in einer abnehmenden Reihenfolge. Eine Störung ist eine Permutation, so daß die i-te Element nicht an der i-ten Position. Eine Rückbildung ist eine Permutation, dass, wenn mit sich selbst multipliziert ergibt die identische Permutation.
  • hinzugekommen Erzeugungsroutine für den uneingeschränkten Halsketten. Eine uneingeschränkte Halskette ist ein ein-stellige Zeichenkette von n Zeichen, die jeweils von möglichen Typen. Diese wurden durch die Parameter n und k in der Routine geprägt.
  • hinzugekommen Erzeugungsroutine für orientierte Wälder. Dies ist eine Implementierung des Algorithmus S in TAOCP Vol. 4A
  • xyz Spin Basen:
  • Die darstellen, umzuschreiben und InnerProduct Logik wurde verbessert, um zwischen zwei Spin-Grundlagen zu arbeiten. Dies wurde durch die Nutzung der Wigner-D-Matrix, in der WignerD Klasse implementiert, bei der Festlegung der Änderungen zwischen den verschiedenen Grundlagen erfolgen. Einen Zustand, also stellen (JzKet (1,0), Basis = Jx), kann die Vektordarstellung geben irgend erhalten in jeder der x / y / z-Basen für numerische Werte von j und m in der Spin werden Eigenzustand. Ebenso Umschreiben Staaten in verschiedenen Basen, dh JzKet (1,0) .rewrite ("Jx '), werden die Zustände als lineare Kombination von Elementen der gegebenen Basis zu schreiben. Da dies beruht auf der Funktion darstellen, das funktioniert nur für numerische j und m-Wert. Das innere Produkt von zwei Eigenzustände in verschiedenen Basen können ausgewertet werden, dh InnerProduct (JzKet (1,0), JxKet (1,1)). Wenn zwei verschiedene Grundlagen verwendet werden, wird einem Zustand in den anderen Basis umgeschrieben, so dass diese Zahlenwerte von j und m erfordert, aber innerproducts von Staaten in der gleichen Basis noch symbolisch erfolgen.
  • Die Rotation.D und Rotation.d Methoden, die Wigner-D-Funktion und die Wigner Klein d Funktion, die, geben eine Instanz des WignerD-Klasse, die mit der doit () Methode ausgewertet werden können, um die entsprechende Matrix geben Element der Wigner-D-Matrix.
  • Weitere Änderungen:
  • Wir nutzen jetzt MathJax in unserer Dokumentation. MathJax macht LaTeX Mathematik entierly im Browser mit Javascript. Das bedeutet, dass die Mathematik ist viel besser lesbar als die vorherige png Mathematik, welche Bilder verwendet. MathJax nur auf modernen Browsern unterstützt, so LaTeX Mathematik in der Dokumentation dürfen nicht auf älteren Browsern.
  • nroots () Jetzt können Sie die Genauigkeit der Berechnungen setzen
  • Unterstützung für gmpy und mpmath der Arten zu sympify ()
  • Fix einige Bugs mit lambdify ()
  • Fehler behoben mit as_independent und nichtkommutative Symbole.
  • Fehler behoben mit collect (Ausgabe 2516)
  • Viele Fixes im Zusammenhang mit SymPy Python zu portieren 3. Dank unserer GSoC Schüler Vladimir Peric, diese Aufgabe so gut wie abgeschlossen.
  • Einige Leute wurden rückwirkend an die Autoren-Datei hinzugefügt.
  • Es wurde ein Löser für einen Spezialfall der Riccati-Gleichung in der ODE-Modul.
  • Iterierte Derivate sind ziemlich in einer übersichtlichen Weise gedruckt.
  • Fix einen Fehler bei der Integration von Funktionen mit mehreren DiracDeltas.
  • Unterstützung für Matrix.norm (), die für Matrizen (nicht nur Vektoren) funktioniert hinzufügen.
  • Verbesserungen der Gröbner-Basen-Algorithmus.
  • Plot.saveimage unterstützt jetzt eine StringIO outfile
  • Expr.as_ordered_terms unterstützt jetzt nicht lex Ordnungen.
  • diff Kanonisiert nun die Reihenfolge der Differenzierung Symbole. Dies ist so, es können Ausdrücke wie f (x, y) .diff (x, y) zu vereinfachen - f (x, y) .diff (y, x). Wenn Sie ein Objekt ohne Derivative Sortieren der Argumente erstellen möchten, sollten Sie sie explizit erstellen mit Derivative, so dass Sie Derivative (f (x, y), x, y)! = Ableitung (f (x, y) zu erhalten, y, x). Beachten Sie, dass intern, Derivate, die berechnet werden können, sind immer in der Reihenfolge, dass sie in bestimmten berechnet.
  • Hinzugefügt Funktionen is_sequence () und iterable () zur Bestimmung, ob etwas eine geordnete iterable oder normale iterable auf.
  • Aktiviert eine Option im Sphinx, die eine Quelle Link fügt neben jeder Funktion, die auf eine Kopie des Quellcodes für diese Funktion verknüpft.

Was ist neu in Version 0.7.0:

  • Dies ist ein Major-Release, das viel neue Funktionen hinzufügt .
  • Die größte Veränderung ist die neue Polys, die viel leistungsfähiger und schneller sind. Dies wirkt sich auf viele Teile des SymPy einschließlich der Löser und Vereinfachung.
  • Eine weitere große Neuerung ist der neue Quantum-Modul, das als Folge der beiden Google Summer of Code-Projekten hinzugefügt wurde.
  • Abgesehen von diesen großen Veränderungen gibt es viele Veränderungen in ganz SymPy.
  • Diese Version hat auch ein paar meist geringfügige Abwärtskompatibilität Pausen.

Was ist neu in Version 0.6.3:

  • portiert zu python2.6 (alle Tests bestanden) und Jython (alle Tests bestehen, mit Ausnahme der in Abhängigkeit von der & quot; ast & quot; Modul).
  • True Division wurde behoben (alle Tests bestehen, mit dem & quot; -Qnew & quot; Python Option)
  • .
  • buildbot.sympy.org geschaffen; sympy nun regelmäßig auf Python 2.4, 2.5 getestet und 2.6 auf beiden i386 und amd64.
  • py.bench:. Py.test basierten Benchmarking
  • bin / Test: eine einfache py.test artigen Test-Framework, ohne externe Abhängigkeiten und mit schön farbigen Ausgabe
  • .
  • Die meisten Grenzen jetzt funktionieren.
  • Faktorisierung über Z [x] wurde erheblich verbessert.
  • Stückweise Funktion hinzugefügt wurde. nsimplify () implementiert.
  • Symbole und Syntax var wurden vereinheitlicht.
  • C-Druck.

Anforderungen :

  • Python

Ähnliche Software

mtest
mtest

12 May 15

PDL
PDL

15 Apr 15

GetDP
GetDP

14 Apr 15

Convex Processing
Convex Processing

12 May 15

Kommentare zu Sympy

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!