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

DOLFIN
DOLFIN

17 Feb 15

FEniCS
FEniCS

15 Apr 15

galculator
galculator

20 Feb 15

smib
smib

10 Mar 16

Ostatní software developer Fredrik Johansson

mpmath
mpmath

14 Apr 15

Komentáře k mpmath

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