mpmath е заместител на плувка / на територията видове Питон и математика / cmath модули с неограничени прецизни и експонента размери. Софтуерът на mpmath е написана изцяло на Python, без никакви външни зависимости и по този начин работи почти навсякъде, без да е необходимо за компилация.
За да инсталирате, разопаковате архива mpmath и тичам
питон setup.py инсталиране
Документация и използване:
Внос mpmath с
от mpmath внос *
Това осигурява MPF класове и MPC, които работят аналогично на плувка Пайтън и сложни типове:
>>> MPF (2) / MPF (3)
MPF (",66666666666666663)
>>> MPC (0, -1)
MPC (реални = '0', на изображения = "- 1")
>>> MPF (-0.6) ** MPF (-0.2)
MPC (реални = ',89603999408558288 ", на изображения =' - 0.65101116249684809")
За по-красива изход (които също крие малки грешки закръгляване), използване за печат или ул ():
>>> Печат MPF (2) / MPF (3)
0.666666666666667
>>> Печат MPC (1 + 2й) ** 0.5
(1.27201964951407 + 0.786151377757423j)
Точността се контролира от свойствата mpf.prec (брой битове) и mpf.dps (брой знаци след десетичната запетая). Тези свойства са свързани, така че промяна на един актуализира автоматично на друг, за да съвпадат. Създаване Prec или ДПС променя прецизността, с която всички операции се извършват и броя на цифрите, за да се покаже, когато се печата номера. По подразбиране е
Prec = 53 и ДПС = 15, същите като Python плува.
>>> Mpf.dps = 30
>>> MPF (2) / MPF (3)
MPF ("0,66666666666666666666666666666663)
>>> Печат _
0.666666666666666666666666666667
>>> mpf.dps = 15 # възстанови по подразбиране
Можете да създадете mpfs и MPCS от Python номера, или да комбинират mpfs и MPCS с Python числа в аритметични операции, но имайте предвид, че редовната Python плува само ограничен прецизност. За да се инициализира с MPF с пълна точност стойност, използвайте низ:
>>> MPF (0.1)
MPF (".10000000000000001") # същата точност като плувка
>>> Mpf.dps = 50
>>> MPF (0.1)
MPF ("0,1000000000000000055511151231257827021181583404541016") # боклуци
>>> MPF ("0.1")
MPF ("0,1000000000000000000000000000000000000000000000000001") # OK
Следните стандартни функции са достъпни и подкрепят както реални и комплексни аргументи:
SQRT, отл, влезте, власт, защото грехът, тен, палка, Sinh, tanh,
ACOS, ASIN, Атан, acosh, asinh, atanh
Пример:
>>> Mpf.dps = 15
>>> печат COS (1)
0.540302305868140
>>> Mpf.dps = 50
>>> печат COS (1)
0,54030230586813971740093660744297660373231042061792
Някои по-общи функции също са на разположение: гама (гама-функция), факторен, ЕБФ (функция за грешка), lower_gamma / upper_gamma (непълна гама функция) и зета (функция на Риман Зита).
На последно място, функциите на удобството hypot и ATAN2 са налични (определени само за реални числа).
Константи пи, Е и cgamma The (Ойлер постоянна) са достъпни като специални предмети, които се държат като mpfs но чиито стойности автоматично регулиране на точността.
>>> Mpf.dps = 15
>>> Печат пи
3.14159265358979
>>> Mpf.dps = 50
>>> Печат пи
3,1415926535897932384626433832795028841971693993751
>>> Mpf.dps = 15
>>> Д ** (- пи * 1й)
MPC (недвижими = "- 1", на изображения = '- 1.2289836075083701E-16 ")
>>> Mpf.dps = 50
>>> Д ** (- пи * 1й)
MPC (недвижими = "- 1", на изображения = '1,0106 [...] E-51 ")
Режисьор закръгляване се изпълнява частично. Например, това изчислява и проверява на 15-цифрения интервал сближаване за пи:
>>> 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 <пи
Какво ново в тази версия:
- General
- сега е възможно да създадете няколко контекстни предмети и да използва контекстно-местния методи вместо глобални държавни / функции (например mp2 = mp.clone (); mp2.dps = 50; mp2.cos (3)). Не всички функции са превърнати в методите контекст и има някои бъгове, така че тази функция в момента е експериментално.
- Ако mpmath е инсталирана в Sage 4.0 или по-късно, mpmath сега ще използвате sage.Integer вместо Python дълго вътрешно.
- Премахнати случаи на стар стил целочислено деление от програмния код.
- runtests.py може да се управлява с -coverage за изготвяне на статистика за покритие.
- Видове и основни аритметични
- Фиксирана сравнение с -inf.
- Променени Repr формат от типа MPI интервал да направи Оценка (токсично за възпроизводството (х)) == х.
- Подобрена печат на интервали, с конфигурируеми изходен формат (идващ от Vinzent Steinberg базира на код от Дон Peterson).
- Интервалите подкрепен от mpmathify () и nstr () (идващ от Vinzent Steinberg).
- MPC сега е hashable.
- Добавена повече опции за форматиране на вътрешната функция to_str.
- Faster чист-Python квадратен корен.
- Fix зад празно дава грешни стойности в str- & GT;. MPF преобразуване
- Calculus
- Фиксирана nsum () с Ойлер-Maclaurin сумиране, които преди не обръща внимание на стартовата индекс и сумата от п = 1.
- Изпълнено метод на Нютон за findroot () (идващ от Vinzent Steinberg).
- линейна алгебра
- Фиксирана LU_decomp (), за да се признае в единствено матрици (идващ от Vinzent Steinberg).
- Различните функции норми са заменени с функция норма на родовия вектор норма (X, стр) и функция mnorm родовото матричен норма (х, р).
- Специални функции:
- Някои вътрешни скривалища бяха променени, за да винаги леко overallocate прецизност. Това определя най-лошия случай поведението, където преди кешираната стойност трябваше да се преизчисли по всяко извикване на функция.
- Фиксирана дневник (малка номер) връщане глупост при висока точност.
- Фиксирана гама () и деривативни функции като биномно () връщат грешни резултати при целочислени входове са неделими от голяма мощност от 2.
- Фиксирана ASIN () да не повдига изключение на висока точност (идващ от Vinzent Steinberg).
- Оптимизиран за AGM код за натурален логаритъм, което прави от преди Нютон при междинни уточнения остарели.
- средната функция ОСА Средноаритметичната-геометрична () сега е с един порядък по-бързо при ниска точност.
- По-бърз реализации на ellipk () и ellipe ().
- Analytic продължаването на ellipe (), за да | х | & GT;. = 1 реализирани
- Изпълнено лог гама функция (loggamma ()) с правилните съкращения браншови (бавно, изпълнение контейнер).
- Фиксирани съкращения клон на hyperfac ().
- Изпълнено на Z-функцията на Риман-Siegel (siegelz ()).
- Изпълнено функцията тета Риман-Siegel (siegeltheta ()).
- Изпълнено изчисляване на Грам точки (grampoint ()).
- Изпълнено изчисляване на Риман Зита функция нули (zetazero ()).
- Изпълнено функцията на нулевия броене: бавен, точната версия (primepi ()). и бърз приблизителна версия (primepi2 ()), която дава интервал очертаващ.
- Изпълнено функцията на Риман R-председател броене (riemannr ()).
- Реализирани номера Бел и полиноми (звънец ()).
- Изпълнено () функцията expm1.
- приложили "полиекспонентно функцията" (polyexp ()).
- Изпълнено близнак премиер константа (twinprime) и Mertens "постоянни (Мертенс).
- Изпълнено функцията председател зета (primezeta ()).
Какво ново във версия 0.10:
- Допълнения включват заговор подкрепа, матрици и линейни функции алгебра, нови кореноплодни проучвателна и квадратура алгоритми, засилено интервал аритметиката, както и някои нови специални функции.
- Много подобрения на скоростта са извършени (няколко функции са с един порядък по-бързо, отколкото в 0.9), както и различни бъгове са фиксирани.
- Важно е, че тази версия поправки mpmath да работят с Python 2.6.
<силни> Изисквания
- Python
Коментари не е намерена