mpmath limitsiz dəqiq və eksponent ölçüləri ilə Python nin float / kompleks növləri və riyaziyyat / cmath modulları üçün bir əvəz edir. mpmath proqram hər hansı bir xarici bağımlılıkları olmadan Python tamamilə yazılı və beləliklə tərtibi üçün ehtiyac olmadan, demək olar ki, hər yerdə çalışır.
Yüklemek üçün, mpmath arxiv açmaq və run
python bərpa setup.py
Documentation və istifadə:
Idxal mpmath
mpmath idxal * olan
Bu Python float və mürəkkəb növ Analoji iş dərsləri MPF və MPC təmin edir:
>>> MPF (2) / MPF (3)
MPF (0,66666666666666663)
>>> MPC (0 -1)
MPC (real = "0", iMag = '- 1)
>>> MPF (-0.6) ** MPF (-0.2)
MPC (real = '0,89603999408558288, iMag =' - 0,65101116249684809)
Gözəlləşir çıxış üçün istifadə çap və ya küç () (həmçinin kiçik yuvarlaqlaşdırma səhvlər gizlədir):
>>> Çap MPF (2) / MPF (3)
0,666666666666667
>>> Çap MPC (1 + 2j) ** 0.5
(+ 0.786151377757423j 1.27201964951407)
dəqiq xassələri mpf.prec (bit sayı) və mpf.dps (ondalık sayı) tərəfindən nəzarət olunur. Bu xassələri bağlı, belə ki, bir dəyişən avtomatik uyğun digər yenilikləri var. Prec və ya DPS qurulması bütün əməliyyatları həyata keçirilir və nömrələr çap rəqəm sayı keçirmək üçün olan dəqiq dəyişir. default
trans Python üzüb gedirdi eyni = 15 53 və DPS =.
>>> Mpf.dps = 30
>>> MPF (2) / MPF (3)
MPF (0,66666666666666666666666666666663)
>>> Çap _
0,666666666666666666666666666667
>>> Mpf.dps = 15 # default bərpa
Siz Python nömrələri mpfs və mpcs yaratmaq, və ya hesab əməliyyatları Python nömrələri ilə mpfs və mpcs birləşdirmək, lakin müntəzəm Python yalnız üzüb gedirdi məhdud dəqiq var ki, xəbərdar ola bilər. Tam dəqiq dəyəri ilə MPF başlamaq üçün bir string istifadə:
>>> MPF (0.1)
float kimi MPF (0,10000000000000001) # eyni dəqiqliyi
>>> Mpf.dps = 50
>>> MPF (0.1)
MPF (0,1000000000000000055511151231257827021181583404541016) # junk
>>> MPF (0.1)
MPF (0,1000000000000000000000000000000000000000000000000001) # ok
Aşağıdakı standart funksiyaları, həm də real və kompleks dəlilləri mövcuddur və dəstək:
exp, sqrt, log, elektrik, cos, günah, tan, cosh, sinh, tanh,
acos, asin, atan, asinh, acosh atanh
Misal:
>>> Mpf.dps = 15
>>> Çap cos (1)
0,540302305868140
>>> Mpf.dps = 50
>>> Çap cos (1)
0,54030230586813971740093660744297660373231042061792
Bəzi daha az ümumi funksiyaları mövcuddur: qamma (qamma funksiyası), faktöryel, ERF (səhv funksiyası), lower_gamma / upper_gamma (natamam qamma funksiyası) və Zeta (Riemann zeta funksiyası).
Nəhayət, mövcud hypot və atan2 rahatlığı funksiyaları (real nömrələri yalnız müəyyən).
sabitləri pi, e, və cgamma (Euler daim) dəyərlər avtomatik dəqiq tənzimləmək mövcud xüsusi mpfs kimi davranmaq obyektləri lakin.
>>> Mpf.dps = 15
>>> Çap pi
3,14159265358979
>>> Mpf.dps = 50
>>> Çap 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)
Rejissor yuvarlaqlaşdırma qismən həyata keçirilir. Məsələn, bu hesablayır və pi üçün 15-rəqəmli uyğunlaşdırılması interval yoxlayır:
>>> 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
Bu azad Yeni nədir:
- Baş
- Bu çox kontekstində obyektlər yaratmaq və əvəzinə qlobal dövlət / funksiyaları kontekstində yerli üsulları istifadə etmək üçün indi mümkündür (məsələn, mp2 = mp.clone (); mp2.dps = 50; mp2.cos (3)). Bütün funksiyaları kontekstində üsulları çevrilmişdir edilmişdir, və bəzi hataları var, belə ki, bu xüsusiyyət hazırda eksperimental.
- mpmath artıq uzun məcburi yerinə Python sage.Integer istifadə edəcək.
- silindi hallarda.
- runtests.py əhatə statistika yaratmaq üçün Əhatə dairəsi ilə davam edə bilər.
- növləri və əsas hesab
- Sabit müqayisə.
- MPI interval növü dəyişdi Repr format eval (Repr (x)) == x. etmək
- fasilələrlə Təkmilləşdirilmiş çap.
- mpmathify () və MTRŞ () (Vinzent Steinberg töhfəsi) tərəfindən dəstəklənən intervalları.
- edir.
- daxili funksiyası to_str daha biçimlendirme variantları Added.
- Faster saf-Python kvadrat kök.
- ağ str- & gt yanlış dəyərlər verilməsi arxada Fix. MPF dönüşüm
- Riyaziyyat
- Sabit nsum ().
- həyata findroot üçün Newton metodu ().
- Xətti cəbr
- Sabit LU_decomp () (Vinzent Steinberg töhfəsi) tək matrisleri tanımaq üçün.
- müxtəlif norma funksiyaları ümumi vektor norma funksiyası normasına yaxın (x, p) və ümumi matrix norma funksiyası mnorm (x, p) ilə əvəz edilmişdir.
- Xüsusi funksiyaları:
- Bəzi daxili önbelleğe həmişə qədər overallocate dəqiq dəyişdirilib. Bu cached dəyəri hər funksiyası zəng recomputed idi əvvəl ən pis halda davranış giderir.
- Sabit log (kiçik nömrəsi).
- Sabit qamma () və bu kimi 2 böyük gücü ilə bölünən olan tam giriş yanlış nəticələr qaytarılması) (binomial. Törəmə funksiyaları
- Sabit asin () deyil (Vinzent Steinberg töhfəsi) yüksək dəqiqliklə bir istisna qaldırmaq.
- .
- arithmetic-həndəsi orta funksiyası AGM () gücündə bir sifariş daha sürətli aşağı dəqiq indi.
- ellipk () və ellipe Faster tətbiq ().
- ellipe analitik davamı () üçün | x | & gt;. = 1 həyata li>
Doğru filial parçalar (yavaş, tutucu icra) ilə - Həyata log qamma funksiyası (loggamma ()).
- hyperfac Sabit filialı parçalar ().
- Həyata Riemann-Siegel Z-funksiyası (siegelz ()).
- Həyata Riemann-Siegel teta funksiyası (siegeltheta ()).
- Gram bal həyata hesablanması (grampoint ()).
- Riemann zeta funksiyası adet sıfır həyata hesablanması (zetazero ()).
- Baş hesablanması funksiyası tətbiq: yavaş, dəqiq versiyası (primepi ()). və bounding interval verir ki, sürətli təxmini versiyası (primepi2 ()).
- Həyata Riemann R baş hesablanması funksiyası (riemannr ()).
- Həyata Bell nömrələri və polinomiyaller (zəng ()).
- tətbiq expm1 () funksiyası.
- (polyexp ()).
- Həyata əkiz baş sabit (twinprime) və Mertens "sabit (Mertens).
- Həyata baş Zeta funksiyası (primezeta ()).
Mpmath Sage 4.0 və ya daha sonra yüklü varsa
Codebase köhnə stil tam bölgüsü
-inf Ilə
(Don Peterson tərəfindən kodu əsasında Vinzent Steinberg töhfəsi) yapılandırılabilir çıxış format ilə
MPC indi Hashable
N = 1 başlanğıc indeksi və məbləği ignore əvvəl ki Euler-Maclaurin toplama ilə
(Vinzent Steinberg töhfəsi)
Yüksək dəqiqlik də cəfəngiyatdır qaytarılması
Köhnəlmiş aralıq precisions əvvəllər istifadə Newton metodu edilməsi, təbii logarithm üçün AGM kodu optimaldır
"Polyexponential funksiyası" həyata
nədir versiyası 0,10 Yeni
- Əlavələr yeni hiylələri dəstək, matrisleri və xətti cəbr funksiyaları daxildir kök-tapmaq və dördün alqoritmlər, inkişaf etmiş interval hesab, və bəzi yeni xüsusi funksiyaları.
- Bir çox sürətli təkmilləşdirilməsi (bir neçə funksiyaları sürətli 0.9 daha gücündə bir sifariş var) törədilib, müxtəlif bugs müəyyən edilmişdir.
- Vacibdir ki, bu azad düzeltmelerini Python 2.6 ilə işləmək üçün mpmath.
tələblər
- Python
Şərhlər tapılmadı