gpt4 book ai didi

python-3.x - 如何用 sympy 声明自然符号?

转载 作者:行者123 更新时间:2023-12-01 12:42:12 24 4
gpt4 key购买 nike

我知道如何声明整数符号:

from sympy import symbols


a, b, c, m, n = symbols('a b c m n', Integer=True)

但我希望符号是没有零的自然数(严格为正整数)。我该怎么做?
谢谢

编辑:

如果我计算丢番图方程,它也会给我负解,我只想要正解:
from sympy.solvers.diophantine import diophantine
from sympy import symbols


a, b, c, m, n = symbols('a b c m n', integer=True, positive=True)

a = n ** 2 - m ** 2
b = 2 * n * m
c = n ** 2 + m ** 2

diof = diophantine(n ** 2 + m * n - 500)
print(diof)

看:
{(121, 4), (499, -500), (95, -100), (499, 1), (-40, -10), (40, -50), (-499, 500), ( -95, -5), (-40, 50), (-95, 100), (5, 20), (-5, 25), (-248, 250), (-499, -1), ( 121, -125), (5, -25), (-121, 125), (-5, -20), (-121, -4), (248, -250), (95, 5), ( -248, -2), (40, 10), (248, 2)}

最佳答案

我已开通 https://github.com/sympy/sympy/issues/7444对这个。同时,您可以以老式的方式过滤解决方案。

>>> {(i, j) for i, j in diof if i > 0 and j > 0}
set([(5, 20), (40, 10), (95, 5), (121, 4), (248, 2), (499, 1)])

关于python-3.x - 如何用 sympy 声明自然符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23301941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com