mpmath

Software screenshot:
mpmath
Podrobnosti Software:
Verze: 0.17
Datum uploadu: 12 May 15
Licence: Volný
Popularita: 81

Rating: 3.0/5 (Total Votes: 1)

mpmath je náhradou za float / komplexních typů Python a math / CMATH moduly s neomezenými přesných a exponent velikostí. Mpmath software je napsán v Pythonu zcela bez jakýchkoli vnějších závislostí, a proto běží téměř kdekoli, bez nutnosti kompilace.
Chcete-li nainstalovat, rozbalte archiv mpmath a spusťte
  python setup.py nainstalovat
Dokumentace a využití:
Importovat mpmath s
    od mpmath import *
To poskytuje Třídy MPF a MPC, které pracují analogicky jako Python plovákem a komplexní typy:
    >>> 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 ")
Pro krásnější výstupu (který také skrývá drobné chyby zaokrouhlení), použití nebo tisk str ():
    >>> Print MPF (2) / MPF (3)
    ,666666666666667
    >>> Print MPC (1 + 2j) ** 0.5
    (1,27201964951407 + 0.786151377757423j)
Přesnost je řízen vlastnostmi mpf.prec (počtem bitů) a mpf.dps (počet desetinných míst). Tyto vlastnosti jsou spojeny, takže změna jednoho automaticky aktualizuje druhé, aby odpovídaly. Nastavení Prec nebo DPS změní přesnosti, ve kterém jsou všechny operace provedeny a počet číslic se zobrazí při tisku čísel. Výchozí hodnota je
Prec = 53 a DPS = 15, stejně jako Python plave.
    >>> Mpf.dps = 30
    >>> MPF (2) / MPF (3)
    MPF ("0,66666666666666666666666666666663 ')
    >>> Print _
    ,666666666666666666666666666667
    >>> mpf.dps = 15 # obnovit výchozí
Můžete vytvářet MPFS a MPC z Pythonu čísel, nebo kombinovat MPFS a MPC s Python čísly aritmetické operace, ale uvědomte si, že pravidelná Python plave jen mít konečný přesnost. Chcete-li inicializovat MPF s full-přesné hodnoty, použijte řetězec:
    >>> MPF (0,1)
    MPF ("0,10000000000000001") # stejnou přesností jako float
    >>> Mpf.dps = 50
    >>> MPF (0,1)
    MPF ("0,1000000000000000055511151231257827021181583404541016") # nevyžádanou
    >>> MPF ("0.1")
    MPF ("0,1000000000000000000000000000000000000000000000000001") # ok
Následující standardní funkce jsou dostupné a podporují oba skutečné a komplexní argumenty:
  sqrt, exp, log, energie, cos, sin, pálením, gumový obušek, sinh, tanh,
  Acos, asin, Atan, acosh, asinh, atanh
Příklad:
    >>> Mpf.dps = 15
    >>> print cos (1)
    ,540302305868140
    >>> Mpf.dps = 50
    >>> print cos (1)
    0,54030230586813971740093660744297660373231042061792
Některé méně běžné funkce jsou také k dispozici: gamma (gama funkce), faktoriál, ERF (funkce chyba), lower_gamma / upper_gamma (funkce nekompletní gama) a zeta (funkce Riemann zeta).
Konečně, komfortní funkce hypot a atan2 jsou k dispozici (definována pouze pro reálná čísla).
Konstanty pi, e, a cgamma (Eulerova konstanta) jsou k dispozici jako speciální objekty, které se chovají jako MPFS ale jejichž hodnoty se automaticky nastaví na přesnosti.
    >>> 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 ")
Režie zaokrouhlení je částečně implementována. Například, to počítá a ověřuje na 15-místné sbližování interval pro 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     Pravda

Co je nového v této verzi:

  • Obecné
  • Nyní je možné vytvořit více kontext objekty a použití kontextu-local metod místo globálních Stát / funkcí (např MP2 = mp.clone (); mp2.dps = 50; mp2.cos (3)). Ne všechny funkce byly převedeny na kontextu metod, a tam jsou některé chyby, takže tato funkce je zatím experimentální.
  • Pokud je mpmath instalován v Sage 4.0 nebo novější, mpmath bude nyní používat sage.Integer místo Pythonu dlouho interně.
  • Odstraněny případy old-stylu celočíselné dělení z codebase.
  • runtests.py lze spustit s -coverage vytvářet statistiky pokrytí.
  • Typy a základní aritmetika
  • Pevná porovnání s -INF.
  • Změnil repr formát typu MPI intervalu, aby se eval (repr (x)) == x.
  • Vylepšený tisk intervalů, s nastavitelnou výstupní formát (přispěl Vinzent Steinberg na základě kódu Don Peterson).
  • Intervaly podporované mpmathify () a nstr () (přispěl Vinzent Steinberg).
  • MPC je teď hashable.
  • přidali další možnosti formátování na interní funkce to_str.
  • Rychlejší pure-Python odmocniny.
  • Fix koncové mezery dávat chybné hodnoty v str- & gt;. MPF konverze
  • Matematická analýza
  • Pevná nsum () s Euler-Maclaurin sčítání, které by dříve ignorovat index startovní a částku z n = 1.
  • Realizace Newtonova metoda pro findroot () (přispěl Vinzent Steinberg).
  • Lineární algebra
  • Pevná LU_decomp () uznat singulární matice (přispěl Vinzent Steinberg).
  • Jednotlivé norma funkce byly nahrazeny obecný vektor normy funkci normy (x, P) a obecný matice normy funkce mnorm (x, p).
  • Speciální funkce:
  • Některé vnitřní vyrovnávací paměti byly změněny, aby vždy mírně overallocate přesností. To řeší nejhorší-případ chování, kde dříve měli mezipaměti hodnota přepočítávat na každém volání funkce.
  • Pevná log (nepatrný počet) vracet nesmysly na vysokou přesností.
  • Pevná gama () a deriváty funkce jako dvojčlen () vrací špatné výsledky na celočíselných vstupů je dělitelné velkou silou 2.
  • Pevná asin () nevznášet výjimku na vysokou přesností (přispěl Vinzent Steinberg).
  • Optimalizované AGM kód pro přirozený logaritmus, což dříve používanou Newtonova metoda v mezilehlých přesnosti zastaralých.
  • aritmetický-geometrický průměr Funkce AGM () je nyní řádově rychlejší při nízké přesnosti.
  • Rychlejší implementace ellipk () a ellipe ().
  • Analytické pokračování ellipe () pro | x | & gt;. = 1 implementován
  • Implementována funkce log gamma (loggamma ()) s správnými pobočky řezy (pomalý, implementace zástupný symbol).
  • Pevné větve kusy hyperfac ().
  • Realizované Riemann-Siegel Z-funkce (siegelz ()).
  • Implementována funkce Riemann-Siegel theta (siegeltheta ()).
  • Realizace výpočet Gram bodů (grampoint ()).
  • Realizace výpočet Riemann funkce zeta nul (zetazero ()).
  • Realizace prvotní funkci počítání: pomalý, přesné provedení (primepi ()). a rychle přibližné verze (primepi2 ()), která dává interval ohraničující.
  • Realizace hlavní funkcí Riemann R počítání (riemannr ()).
  • Realizované čísla Bell a polynomy (zvonek ()).

  • Implementována funkce
  • expm1 ().
  • Provedeno "polyexponenciální funkce" (polyexp ()).
  • Realizace dvojče prime konstanta (twinprime) a Mertens 'konstanta (Mertens).
  • Realizace primární funkce zeta (primezeta ()).

Co je nového ve verzi 0.10:

  • Přírůstky zahrnují vykreslování podporu, matice a lineární algebry funkce, nové kořen pro vyhledávání a kvadraturní algoritmy, vylepšené interval aritmetika, a některé nové speciální funkce.
  • Mnoho vylepšení rychlosti byly spáchány (několik funkce jsou řádově rychleji než v 0.9), a různé chyby byly opraveny.
  • Důležité je, že tato řeší uvolnění mpmath pracovat s Python 2.6.

Požadavky na :

  • Python

Podobný software

JMathLib
JMathLib

3 Jun 15

BoolStuff
BoolStuff

20 Feb 15

NetworkX
NetworkX

20 Feb 15

Ostatní software developer Fredrik Johansson

mpmath
mpmath

14 Apr 15

Komentáře k mpmath

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!