mpmath

Logiciel capture d'écran:
mpmath
Détails logiciels:
Version: 0.17
Date de transfert: 12 May 15
Développeur: Fredrik Johansson
Licence: Gratuit
Popularité: 13

Rating: nan/5 (Total Votes: 0)

mpmath est un remplacement pour flotteur / types complexes de Python et modules math / cmath avec précision et exposant tailles illimitées. Le logiciel de mpmath est entièrement écrit en Python sans dépendances externes et fonctionne donc presque partout, sans la nécessité pour la compilation.
Pour l'installer, décompressez l'archive et exécuter mpmath
  python setup.py install
Documentation et utilisation:
Importer mpmath avec
    de mpmath import *
Cette fournit les classes MPF et mpc qui fonctionnent de manière analogue à flottant de Python et des types complexes:
    >>> MPF (2) / MPF (3)
    MPF (',66666666666666663')
    >>> Mpc (0, -1)
    mpc (réels = '0', imag = '- 1')
    >>> MPF (-0,6) ** MPF (-0,2)
    mpc (réels = ',89603999408558288', imag = '- ,65101116249684809')
Pour une sortie plus jolie (qui cache aussi de petites erreurs d'arrondi), l'utilisation print ou str ():
    >>> Print MPF (2) / MPF (3)
    0,666666666666667
    >>> Print mpc (1 + 2j) ** 0,5
    (1,27201964951407 + 0.786151377757423j)
La précision est contrôlée par (le nombre de bits) et mpf.dps des propriétés (nombre de décimales). Ces propriétés sont liées, afin de changer l'un met automatiquement à jour l'autre pour correspondre. Réglage prec ou dps change la précision à laquelle toutes les opérations sont effectuées et le nombre de chiffres à afficher lors de l'impression des numéros. La valeur par défaut est
prec = 53 = 15 et dps, le même que python flotte.
    >>> Mpf.dps = 30
    >>> MPF (2) / MPF (3)
    MPF ('0,66666666666666666666666666666663')
    >>> Print _
    ,666666666666666666666666666667
    >>> mpf.dps = 15 # restaurer par défaut
Vous pouvez créer mpfs et les PPM à partir des numéros Python, ou de combiner mpfs et les PPM avec des nombres Python dans des opérations arithmétiques, mais sachez que régulière Python flotte seulement avoir une précision finie. Pour initialiser un mpf avec une valeur pleine précision, utiliser une chaîne:
    >>> MPF (0,1)
    MPF («0,10000000000000001 ') même précision de # comme flotteur
    >>> Mpf.dps = 50
    >>> MPF (0,1)
    MPF («0,1000000000000000055511151231257827021181583404541016 ') # indésirable
    >>> MPF ('0,1')
    MPF («0,1000000000000000000000000000000000000000000000000001 ') # ok
Les fonctions standard suivantes sont disponibles et prennent en charge les arguments réels et complexes:
  sqrt, exp, log, puissance, cos, sin, tan, cosh, sinh, tanh,
  acos, asin, atan, acosh, asinh, atanh
Exemple:
    >>> Mpf.dps = 15
    >>> cos d'impression (1)
    ,540302305868140
    >>> Mpf.dps = 50
    >>> cos d'impression (1)
    0,54030230586813971740093660744297660373231042061792
Certaines fonctions moins communes sont également disponibles: gamma (fonction gamma), factorielle, erf (fonction d'erreur), lower_gamma / upper_gamma (fonction gamma incomplète) et zeta (fonction zêta de Riemann).
Enfin, les fonctions de confort et hypot atan2 sont disponibles (définis pour que des nombres réels).
Les constantes pi, e, et Cgamma (la constante d'Euler) sont disponibles comme des objets spéciaux qui se comportent comme mpfs mais dont les valeurs ajuster automatiquement à la précision.
    >>> Mpf.dps = 15
    >>> Print pi
    3.14159265358979
    >>> Mpf.dps = 50
    >>> Print pi
    3,1415926535897932384626433832795028841971693993751
    >>> Mpf.dps = 15
    >>> E ** (- pi * 1j)
    mpc (réel = '- 1', imag = '- 1.2289836075083701E-16')
    >>> Mpf.dps = 50
    >>> E ** (- pi * 1j)
    mpc (réel = '- 1', imag = '1,0106 [...] E-51')
Réalisé arrondi est partiellement mise en œuvre. Par exemple, ce calcule et vérifie un intervalle de rapprochement de 15 chiffres pour pi:
    >>> 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     Vrai

Ce qui est nouveau dans cette version:

  • Général
  • Il est maintenant possible de créer plusieurs objets de contexte et utiliser des méthodes à la place de l'État / des fonctions globales du contexte local (par exemple mp2 = mp.clone (); mp2.dps = 50; mp2.cos (3)). Pas toutes les fonctions ont été convertis à des méthodes de contexte, et il ya quelques bugs, cette fonctionnalité est actuellement expérimentale.
  • Si mpmath est installé dans Sage 4.0 ou version ultérieure, mpmath va maintenant utiliser sage.Integer lieu de Python longue interne.
  • Suppression des instances de la division entière de style ancien de la base de code.
  • runtests.py peut être exécuté avec -Couverture pour générer des statistiques de couverture.
  • Types et l'arithmétique de base
  • comparaison fixe avec -inf.
  • format repr Changement du type d'intervalle de MPI pour faire eval (repr (x)) == x.
  • Amélioration de l'impression d'intervalles, avec format de sortie configurable (contribué par Vinzent Steinberg basé sur le code de Don Peterson).
  • Intervalles soutenus par mpmathify () et NSTR () (contribution de Vinzent Steinberg).
  • mpc est maintenant hashable.
  • Ajout de plus d'options de mise en forme à l'to_str de fonctionnement interne.
  • pur-Python racine carrée rapide.
  • Fix espaces blancs donnant de fausses valeurs dans str- & gt;. Conversion MPF ​​
  • Calcul
  • NSUM fixe () avec Euler-Maclaurin sommation qui, auparavant, ne pas tenir compte de l'indice de départ et somme de n = 1.
  • Mise en œuvre de la méthode de Newton pour findroot () (contribution de Vinzent Steinberg).
  • Algèbre linéaire
  • LU_decomp () de reconnaître matrices singulières (apportés par Vinzent Steinberg).
  • Correction
  • Les différentes fonctions de normalisation ont été remplacés par la fonction norme générique vecteur de norme (x, p) et la fonction générique norme matricielle mnorm (x, p).
  • Fonctions spéciales:
  • Certains caches internes ont été changés à la précision toujours légèrement overallocate. Cela corrige le pire des cas un comportement où, auparavant, la valeur mise en cache a dû être recalculée à chaque appel de fonction.
  • journal fixe (petit nombre) retour bêtises à haute précision.
  • Correction gamma () et les fonctions dérivés tels que binomiale () de retourner des résultats incorrects aux entrées entières étant divisible par une grande puissance de 2.
  • asin fixe () de ne pas soulever une exception à haute précision (contribué par Vinzent Steinberg).
  • Optimisé le code AGA pour le logarithme naturel, ce qui rend la méthode de Newton précédemment utilisé au précisions intermédiaires obsolètes.
  • La fonction de moyenne arithmétique agm-géométrique () est maintenant un ordre de grandeur plus rapide à faible précision.
  • implémentations plus rapides de ellipk () et ellipe ().
  • prolongement analytique de ellipe () pour | x | & gt;. = 1 mis en œuvre
  • Mise en œuvre la fonction de log gamma (loggamma ()) avec des coupes de branches correctes (lent, la mise en œuvre de l'espace réservé).
  • coupures de branche fixe de hyperfac ().
  • Mise en œuvre de la fonction Z-Riemann-Siegel (siegelz ()).
  • Mise en œuvre de la fonction thêta de Riemann-Siegel (siegeltheta ()).
  • Mise en place de points de calcul Gram (grampoint ()).
  • Mise en œuvre du calcul de Riemann zéros de la fonction zeta (zetazero ()).
  • Mise en œuvre de la fonction de comptage premier: une lente, version exacte (primepi ()). et une version approximative rapide (primepi2 ()) qui donne un intervalle de sélection.
  • Mise en œuvre du premier fonction de comptage de Riemann R (riemannr ()).
  • numéros et des polynômes (cloche ()) de Bell en œuvre.
  • Mise en œuvre de la fonction expm1 ().
  • Mise en œuvre de la «fonction polyexponentielle '(polyexp ()).
  • Mise en œuvre de la constante premiers jumeaux (twinprime) et constants (Mertens) de Mertens.
  • Mise en œuvre de la fonction de Premier zeta (primezeta ()).

Ce qui est nouveau dans la version 0.10:

  • Les ajouts comprennent le soutien de traçage, de matrices et de fonctions d'algèbre linéaire, de nouvelles racines d'enquête et en quadrature algorithmes, amélioré l'arithmétique d'intervalle, et quelques nouvelles fonctions spéciales.
  • De nombreuses améliorations de la vitesse ont été commis (quelques fonctions sont un ordre de grandeur plus rapide que dans 0,9), et de divers bugs ont été corrigés.
  • surtout, cette version corrige mpmath de travailler avec Python 2.6.

Exigences :

  • Python

Logiciel similaire

D'autres logiciels de développeur Fredrik Johansson

mpmath
mpmath

14 Apr 15

Commentaires à mpmath

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!