mpmath

Screenshot der Software:
mpmath
Softwarebeschreibung:
Version: 0.17
Upload-Datum: 12 May 15
Entwickler: Fredrik Johansson
Lizenz: Frei
Popularität: 13

Rating: nan/5 (Total Votes: 0)

mpmath ist ein Ersatz für Pythons float / komplexen Typen und Mathematik / cmath Module mit unbegrenzter Präzision und Exponent Größen. Die mpmath Software ist komplett in Python ohne externe Abhängigkeiten geschrieben und somit läuft fast überall, ohne die Notwendigkeit einer Zusammenstellung.
Zu installieren, entpacken Sie das Archiv und starten mpmath
  python setup.py install
Dokumentation und Nutzung:
Import mpmath mit
    von mpmath import *
Dies bietet die Klassen MPF ​​und mpc, die analog zu Pythons float und komplexe Typen zu arbeiten:
    >>> Mpf (2) / MPF (3)
    MPF (',66666666666666663')
    >>> MPC (0, -1)
    mpc (real = '0', imag = '- 1')
    >>> MPF (-0,6) ** MPF (-0,2)
    mpc (real = ',89603999408558288', imag = '- ,65101116249684809')
Für schönere Ausgabe (dass auch versteckt kleine Rundungsfehler), Verwendung oder Druck str ():
    >>> Print MPF (2) / MPF (3)
    0,666666666666667
    >>> Print mpc (1 + 2j) ** 0,5
    (1,27201964951407 + 0.786151377757423j)
Die Genauigkeit wird durch die Eigenschaften mpf.prec (Anzahl der Bits) und mpf.dps (Anzahl der Nachkommastellen) gesteuert. Diese Eigenschaften sind verknüpft, so dass die Änderung eines automatisch der andere zum Spiel aktualisiert. Einstellen prec oder dps ändert die Präzision bei der alle Operationen durchgeführt und die Anzahl der Ziffern beim Drucken Nummern angezeigt. Der Standardwert ist
prec = 53 und dps = 15, die gleiche wie Python schwimmt.
    >>> Mpf.dps = 30
    >>> Mpf (2) / MPF (3)
    MPF ('0,66666666666666666666666666666663')
    >>> Print _
    ,666666666666666666666666666667
    >>> Mpf.dps = 15 # Wiederherstellung auf die Standard
Sie können MPFS und Mittelmeer-Partnerländern aus Python Nummern zu erstellen, oder kombinieren MPFS und Mittelmeer-Partnerländern mit Python Zahlen in arithmetischen Operationen, aber bewusst sein, dass regelmäßige Python schwimmt nur endlicher Genauigkeit. Um eine MPF mit einem Full-Genauigkeitswert zu initialisieren, verwenden Sie eine Zeichenfolge:
    >>> MPF (0.1)
    MPF ('0,10000000000000001') # gleichen Genauigkeit wie float
    >>> Mpf.dps = 50
    >>> MPF (0.1)
    MPF ('0,1000000000000000055511151231257827021181583404541016') # Junk
    >>> MPF ("0.1")
    MPF ('0,1000000000000000000000000000000000000000000000000001') # ok
Folgende Standardfunktionen zur Verfügung und unterstützt reale und komplexe Argumente:
  sqrt, exp, log, Strom, cos, sin, tan, cosh, sinh, tanh,
  acos, asin, atan, acosh, asinh, atanh
Beispiel:
    >>> Mpf.dps = 15
    >>> Print cos (1)
    0,540302305868140
    >>> Mpf.dps = 50
    >>> Print cos (1)
    0,54030230586813971740093660744297660373231042061792
Einige seltene Funktionen zur Verfügung: Gamma (Gammafunktion), Fakultät, erf (Fehlerfunktion), lower_gamma / upper_gamma (unvollständige Gamma-Funktion) und zeta (Riemannschen Zetafunktion).
Schließlich werden die Komfortfunktionen hypot und atan2 verfügbar sind (nur für reelle Zahlen definiert).
Die Konstanten pi, e und Cgamma (Euler-Konstante) sind als spezielle Objekte, die wie MPFS verhalten, aber deren Werte automatisch auf die Genauigkeit einzustellen.
    >>> Mpf.dps = 15
    >>> Print pi
    3,14159265358979
    >>> Mpf.dps = 50
    >>> Print pi
    3,1415926535897932384626433832795028841971693993751
    >>> Mpf.dps = 15
    >>> E ** (- pi * 1j)
    mpc (real = '- 1', imag = '- 1.2289836075083701E-16')
    >>> Mpf.dps = 50
    >>> E ** (- pi * 1j)
    mpc (real = '- 1', imag = '1,0106 [...] E-51')
Regie Rundung teilweise umgesetzt. Beispielsweise kann diese berechnet und überprüft für pi eine 15-stellige Näherung Intervall:
    >>> Mpf.dps = 15
    >>> Mpf.round_down (); pi1 = + pi
    >>> Mpf.round_up (); pi2 = + pi
    >>> Pi1
    MPF ('3,1415926535897931')
    >>> Pi2
    MPF ('3,1415926535897936')
    >>> Mpf.dps = 30
    >>> Pi1     True

Was ist neu in dieser Pressemitteilung:

  • Allgemein
  • Es ist nun möglich, mehrere Kontextobjekte zu erstellen und kontext lokalen Methoden anstelle von globalen Zustand / Funktionen (zB MP2 = mp.clone (); mp2.dps = 50; mp2.cos (3)). Nicht alle Funktionen sind kontext Verfahren umgewandelt worden, und es gibt einige Fehler, so ist diese Funktion derzeit noch experimentell.
  • Wenn mpmath in Sage 4.0 oder höher installiert ist, mpmath verwenden nun sage.Integer statt lange Python intern.
  • Entfernt Instanzen der alten Stil Ganzzahl-Division aus der Codebasis.
  • runtests.py mit -coverage die Deckung Statistiken zu erstellen ausgeführt werden.
  • Typen und Grundrechen
  • Feste Vergleich mit -inf.
  • geändert repr Format des MPI Intervalltyp zu eval (repr (x)) == x.
  • machen
  • Verbesserte Druck von Intervallen, mit konfigurierbaren Ausgabeformat (von Vinzent Steinberg trugen auf Basis von Code von Don Peterson).
  • Die Intervalle von mpmathify () und nstr () (von Vinzent Steinberg beigetragen) unterstützt.
  • MPC ist jetzt hashable.
  • Hinzugefügt mehr Formatierungsoptionen auf die interne Funktion to_str.
  • Schneller pure-Python Quadratwurzel.
  • Fix nachfolgende Leerzeichen geben falsche Werte in STR- & gt;. MPF Umwandlung
  • Calculus
  • Feste nsum () mit Euler-Maclaurin Summation, die zuvor ignorieren würde den Startindex und Summe von n = 1.
  • Implementiert Newton-Verfahren für findroot () (von Vinzent Steinberg beigetragen).
  • Lineare Algebra
  • Feste LU_decomp (), um singuläre Matrizen (von Vinzent Steinberg beigetragen) zu erkennen.
  • Die verschiedenen Norm Funktionen wurden durch die generische Vektor Normfunktion norm (x, p) und dem generischen Matrixnorm Funktion mnorm (x, p) ersetzt wird.
  • Sonderfunktionen:
  • Einige internen Caches wurden stets etwas overallocate Präzision geändert. Dies behebt Worst-Case-Verhalten, wo zuvor die zwischengespeicherten Wert musste auf jedem Funktionsaufruf neu berechnet werden.
  • Feste log (kleine Zahl) Rück Unsinn mit hoher Präzision.
  • Feste gamma () und Ableitungsfunktionen wie binomische () zurück falschen Ergebnissen bei Integer-Eingänge unterteilbar ist von einem großen Potenz von 2.
  • Feste asin () nicht auf eine Ausnahme mit hoher Genauigkeit (von Vinzent Steinberg beigetragen) zu erhöhen.
  • Optimiert die AGM-Code für den natürlichen Logarithmus, so dass die bisher verwendeten Newton-Verfahren bei mittleren Genauigkeiten überholt.
  • Die arithmetisch-geometrischen Mittels Funktion agm () ist jetzt um eine Größenordnung schneller bei niedrigen Präzision.
  • Schnellere Implementierungen ellipk () und ellipticE ().
  • Analytische Fortsetzung ellipticE () auf | x | & gt;. = 1 umgesetzt
  • Implementiert die Log Gamma-Funktion (loggamma ()) mit der richtigen Verzweigungsschnitte (langsam, Platzhalter-Implementierung).
  • Feste Verzweigungsschnitte von hyperfac ().
  • Implementiert die Riemann-Siegel-Z-Funktion (siegelz ()).
  • Implementiert die Riemann-Siegel-Theta-Funktion (siegeltheta ()).
  • Implementiert Berechnung der Gram Punkte (grampoint ()).
  • Implementiert Berechnung der Riemannschen Zetafunktion Nullen (zetazero ()).
  • Implementiert die Hauptfunktion Zählung: eine langsame, genaue Version (primepi ()). und eine schnelle ungefähre Version (primepi2 ()), die einen Begrenzungsintervall gibt.
  • Implementiert die Riemannsche R prime Zählfunktion (riemannr ()).
  • Implementiert Bell-Zahlen und Polynome (Glocke ()).
  • Implementiert die expm1) Funktion (.
  • Implementiert die "polyexponentielle Funktion '(polyexp ()).
  • Implementiert die twin prime Konstante (Twinprime) und Mertens 'Konstante (Mertens).
  • Implementiert der Minister Zeta-Funktion (primezeta ()).

Was ist neu in Version 0.10:

  • Die Zugänge umfassen Plotten Unterstützung, Matrizen und lineare Algebra-Funktionen, neue root-Befund und Quadratur-Algorithmen, erweiterten Intervallarithmetik, und einige neue Sonderfunktionen.
  • Viele Geschwindigkeitsverbesserungen begangen worden sind (einige Funktionen sind um eine Größenordnung schneller als in 0.9) und verschiedene Fehler wurden behoben.
  • Es ist wichtig, mpmath Diese Version behebt, mit Python 2.6 zu arbeiten.

Anforderungen :

  • Python

Ähnliche Software

Andere Software von Entwickler Fredrik Johansson

mpmath
mpmath

14 Apr 15

Kommentare zu mpmath

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