۰۹ مرداد ۹۷ ، ۲۲:۴۳
کتابخانه mpmath: محاسبات با دقت دلخواه در پایتون
به منظور انجام محاسبات با دقت دلخواه، می توان از کتابخانه های متعددی مانند GNU MP استفاده کرد. یک نمونه ی خوب و سریع در پایتون، کتابخانه mpmath است.
from mpmath import mp
# mpmath is a free (BSD licensed) Python library for real and complex floating-point arithmetic with arbitrary precision.
mp.dps = 2000
from mpmath import sin, cos, acos, asin, abs
راهنمای این کتابخانه در آدرس http://mpmath.org/doc/current/ در دسترس است.
برای استفاده از آن در کنار numpy می توان از راهکار زیر استفاده نمود:
# providing wrappers for mpmath functions in numpy
from numpy import frompyfunc
sin_v = frompyfunc(sin, 1, 1)
asin_v = frompyfunc(asin, 1, 1)
cos_v = frompyfunc(cos, 1, 1)
acos_v = frompyfunc(acos, 1, 1)
همچنین برای تبدیل آن به float در مواردی که خطای
TypeError: float() argument must be a string or a number
دریافت شد؛ می تواند به این معنی باشد که حاصل از نوع مختلط بوده و لازم است به صورت زیر مشکل حل شود:
from mpmath import re
x = re(x)
پی نوشت: البته یافتن ریشه مشکل که چرا حاصلی که باید حقیقی باشد، مختلط شده است از بدیهیات است.
۹۷/۰۵/۰۹
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.