我需要从这个公式中找到Dp
和Dq
:
我尝试使用ContFrac
lib执行此任务:
pip install ContFrac
import contfrac
find_number = 2140e225
value = (1,math.sqrt(find_number))
conv = list(contfrac.convergents(value))
print(conv)
但输出是奇数,因为数字太大:
0 + 1/(my_sqrt)
Symphy中的方法也不起作用,返回0
print(continued_fraction((1//sqrN)))
更新1:
我在玩Symphy时发现我应该使用这个库sqrt
实现
from sympy import sqrt
lm = continued_fraction((1 / sqrt(number)))
lz = flatten(lm)
print(list(continued_fraction_convergents(lz)))
但这些将导致内部异常:
PrecisionExhausted: Try simplifying the input, using chop=True, or providing a higher maxn for evalf
但正如我所见,我无法为continued_fraction
操作培养人才。
我也无法将数字作为十进制数传递:
decimal.getcontext().prec = 125
lm = continued_fraction((1 / sqrt(decimal.Decimal(find_number))))
ValueError: expecting a rational or quadratic irrational, not 2.16152455423408e-125
刚刚找到一个要点。它给出了与Wolfram的Alpha
Convergents[]
相同的值。然而,我不确定第5个元素之后的精度,因为Wolfram只给出该点的值相关问题 更多 >
编程相关推荐