【发布时间】:2016-11-05 18:05:43
【问题描述】:
我对 sympy 还很陌生。我试图用 linsolve() 求解一个线性方程组。这产生了一个可以用以下两行重现的解决方案。
d = symbols("d")
solution = sets.FiniteSet((d + 1, -d + 4, -d + 5, d))
我的解决方案遵守限制,所有四个值都必须是正整数。这发生在 d = 0、1、2、3、4 时。
我能够使用固定 d(例如 d = 0)评估解决方案
solution.subs({d : 0})
我希望将一组解决方案自动限制为有效的解决方案。数学上等于与 \mathbb{N^0}^4 的交集。在实践中,我想从
获得类似的输出for d_fixed in range(5):
solution.subs({d : d_fixed})
我。 e.
{(1, 4, 5, 0)}
{(2, 3, 4, 1)}
{(3, 2, 3, 2)}
{(4, 1, 2, 3)}
{(5, 0, 1, 4)}
我该怎么做?
【问题讨论】:
-
你可以直接与自然数相交,但似乎有a bug。
标签: python-2.7 sympy