علی شکیبا

دفتر یادداشت دیجیتال برای هر چیز مفید!

۱ مطلب با کلمه‌ی کلیدی «محاسبات سریع» ثبت شده است

به منظور انجام محاسبات با دقت دلخواه، می توان از کتابخانه های متعددی مانند 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)

پی نوشت: البته یافتن ریشه مشکل که چرا حاصلی که باید حقیقی باشد، مختلط شده است از بدیهیات است.

۰ نظر موافقین ۱ مخالفین ۰ ۰۹ مرداد ۹۷ ، ۲۲:۴۳
علی شکیبا