mpmath

Software screenshot:
mpmath
Dettagli del software:
Versione: 0.17
Data di caricamento: 12 May 15
Sviluppatore: Fredrik Johansson
Licenza: Libero
Popolarità: 13

Rating: nan/5 (Total Votes: 0)

mpmath è un sostituto per galleggiante / tipi complessi di Python e moduli math / CMATH con dimensioni illimitate di precisione e esponente. Il software mpmath è scritto interamente in Python, senza dipendenze esterne e, quindi, corre quasi ovunque, senza la necessità per la compilazione.
Per installare, scompattare l'archivio mpmath ed eseguire
  python setup.py install
Documentazione e utilizzo:
Import mpmath con
    da mpmath import *
Ciò fornisce le classi MPF e mpc che funzionano in modo analogo a galleggiante di Python e tipi complessi:
    >>> MPF (2) / MPF (3)
    mpf (',66666666666666663')
    >>> Mpc (0, -1)
    mpc (reali = '0', imag = '- 1')
    >>> MPF (-0,6) ** MPF (-0,2)
    mpc (reali = ',89603999408558288', imag = '- ,65101116249684809')
Per l'uscita più bella (che nasconde anche piccoli errori di arrotondamento), uso di stampa o str ():
    >>> Print MPF (2) / MPF (3)
    0,666666666666667
    >>> Mpc stampa (1 + 2 undecies) ** 0.5
    (1,27201964951407 + 0.786151377757423j)
La precisione è controllata dalle proprietà mpf.prec (numero di bit) e mpf.dps (numero di cifre decimali). Queste proprietà sono collegate, in modo da cambiare uno aggiorna automaticamente l'altro in modo che corrisponda. Impostazione prec o dps cambia la precisione con cui tutte le operazioni sono effettuate e il numero di cifre da visualizzare durante la stampa i numeri. Il valore predefinito è
prec = 53 e dps = 15, lo stesso che galleggia Python.
    >>> Mpf.dps = 30
    >>> MPF (2) / MPF (3)
    mpf ('0,66666666666666666666666666666663')
    >>> Print _
    ,666666666666666666666666666667
    >>> mpf.dps = 15 # ripristino di default
È possibile creare MPFS e PPM da numeri Python, o combinare MPFS e PPM con i numeri Python in operazioni aritmetiche, ma essere consapevoli che regolare Python galleggia solo hanno precisione finita. Per inizializzare un MPF ​​con un valore di fondo di precisione, utilizzare una stringa:
    >>> MPF (0,1)
    mpf ('0,10000000000000001') # stessa precisione come float
    >>> Mpf.dps = 50
    >>> MPF (0,1)
    mpf ('0,1000000000000000055511151231257827021181583404541016') # junk
    >>> Mpf ('0.1')
    mpf ('0,1000000000000000000000000000000000000000000000000001') # ok
Le seguenti funzioni standard sono disponibili e sostenere entrambi gli argomenti reali e complesse:
  sqrt, exp, log, potenza, cos, sin, tan, manganello, Sinh, tanh,
  acos, asin, atan, acosh, asinh, atanh
Esempio:
    >>> Mpf.dps = 15
    >>> cos stampa (1)
    ,540302305868140
    >>> Mpf.dps = 50
    >>> cos stampa (1)
    0,54030230586813971740093660744297660373231042061792
Alcune funzioni meno comuni sono anche disponibili: gamma (funzione gamma), fattoriale, erf (funzione errore), lower_gamma / upper_gamma (funzione gamma incompleta) e zeta (funzione zeta di Riemann).
Infine, le funzioni comfort hypot e atan2 sono disponibili (definite per solo numeri reali).
La costanti pi, e, e cgamma (di Eulero costante) sono disponibili come oggetti speciali che si comportano come MPFS, ma i cui valori regolerà automaticamente la precisione.
    >>> Mpf.dps = 15
    >>> Pi stampa
    3,14159265358979
    >>> Mpf.dps = 50
    >>> Pi stampa
    3,1415926535897932384626433832795028841971693993751
    >>> Mpf.dps = 15
    >>> E ** (- pi * 1j)
    mpc (reale = '- 1', imag = '- 1.2289836075083701E-16')
    >>> Mpf.dps = 50
    >>> E ** (- pi * 1j)
    mpc (reale = '- 1', imag = '1,0106 [...] E-51')
Arrotondamento Regia è parzialmente attuato. Ad esempio, questo calcola e verifica un intervallo di approssimazione 15 cifre per 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     True

Cosa c'è di nuovo in questa versione:

  • Generale
  • È ora possibile creare più oggetti di contesto e utilizzare metodi al contesto locale invece di stato / funzioni globali (ad es mp2 = mp.clone (); mp2.dps = 50; mp2.cos (3)). Non tutte le funzioni sono state convertite in metodi di contesto, e ci sono alcuni bug, per cui questa caratteristica è attualmente sperimentale.
  • Se mpmath è installato in Sage 4.0 o versione successiva, mpmath userà sage.Integer invece di Python lungo internamente.
  • istanze Eliminato di vecchio stile divisione intera dal codebase.
  • runtests.py può essere eseguito con -copertura per generare statistiche di copertura.
  • Tipi e aritmetica di base
  • confronto fisso con -inf.
  • formato repr Cambiato del tipo di intervallo mpi fare eval (repr (x)) == x.
  • Migliorata la stampa di intervalli, con il formato di output configurabile (contributo di Vinzent Steinberg basata sul codice di Don Peterson).
  • Intervalli supportati da mpmathify () e NSTR () (contributo di Vinzent Steinberg).
  • MPC è ora hashable.
  • Aggiunto opzioni di formattazione per la funzione to_str interno.
  • Faster puro-Python radice quadrata.
  • Fix spazio bianco in coda dando valori errati in Str- & gt;. Conversione MPF
  • Calculus
  • NSUM fisso () con Eulero-Maclaurin somma che in precedenza ignorare la indice iniziale e somma da n = 1.
  • Implementato il metodo di Newton per findroot () (contributo di Vinzent Steinberg).
  • Algebra lineare
  • fissi LU_decomp () per riconoscere le matrici singolari (fornite da Vinzent Steinberg).
  • Le varie funzioni norma sono stati sostituiti dalla norma norma vettoriale generica funzione (x, p) e la funzione mnorm norma generica matrice (x, p).
  • Funzioni speciali:
  • Alcuni cache interne sono state modificate per precisione sempre leggermente overallocate. Questo risolve comportamento nel caso peggiore dove in precedenza il valore memorizzato nella cache ha dovuto essere ricalcolato ad ogni chiamata di funzione.
  • Registro fisso (piccolo numero) restituire nonsense ad alta precisione.
  • gamma fisso () e le funzioni derivati ​​quali binomio () di restituire i risultati errati a ingressi interi essere divisibile per una grande potenza di 2.
  • asin fisso () che non solleva un'eccezione ad alta precisione (contributo di Vinzent Steinberg).
  • Ottimizzato il codice AGM per il logaritmo naturale, rendendo il metodo di Newton utilizzato in precedenza a precisioni intermedi obsoleti.
  • La funzione media aritmetica AGM-geometrico () è ora un ordine di grandezza più veloce a bassa precisione.
  • implementazioni più veloci di ellipk () e ellipe ().
  • prolungamento analitico di ellipe () per | x | & gt;. = 1 implementate
  • Implementata la funzione log gamma (loggamma ()) con tagli filiali corretti (lento, implementazione segnaposto).
  • tagli filiali fisse di hyperfac ().
  • Implementata la Z-funzione di Riemann-Siegel (siegelz ()).
  • Implementata la funzione theta di Riemann-Siegel (siegeltheta ()).
  • calcolo Implementata di punti Gram (grampoint ()).
  • calcolo Implementata di Riemann zeri della funzione zeta (zetazero ()).
  • Implementato la funzione di conteggio primaria: un lento, versione esatta (primepi ()). e una versione approssimativa veloce (primepi2 ()) che fornisce un intervallo di delimitazione.
  • Implementata la funzione di Riemann R primo conteggio (riemannr ()).
  • numeri e polinomi (campana ()) Campana implementate.
  • Implementata la funzione expm1 ().
  • Implementata la 'funzione poliesponenziale' (polyexp ()).
  • ha attuato il primo costante gemello (twinprime) e Mertens 'costante (Mertens).
  • Implementata la funzione zeta primaria (primezeta ()).

Cosa c'è di nuovo nella versione 0.10:

  • aggiunte includono plottaggio supporto, le matrici e le funzioni di algebra lineare, nuovi radice-inchiesta e di quadratura algoritmi, una maggiore intervallo di aritmetica, e alcune nuove funzioni speciali.
  • Molti miglioramenti di velocità sono stati impegnati (alcune funzioni sono un ordine di grandezza più veloce rispetto a 0,9), e vari bug sono stati corretti.
  • È importante sottolineare che, Questa release corregge mpmath per lavorare con Python 2.6.

Requisiti

  • Python

Programmi simili

levmar
levmar

15 Apr 15

L2P
L2P

3 Jun 15

DanCalculator
DanCalculator

20 Feb 15

Altri software di sviluppo Fredrik Johansson

mpmath
mpmath

14 Apr 15

Commenti a mpmath

I commenti non trovato
Aggiungi commento
Accendere le immagini!