gpt4 book ai didi

python - Sympy -solve() 和solve_poly_system()

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:55 27 4
gpt4 key购买 nike

首先,

solve_poly_system( seq, *gens, **args),

有人确切知道solve_poly_system的参数是什么意思吗?

我有系统,

rd = λk
ua = λk
k = ad

其中 r、u、k 已知,a、d、λ 是变量。

当我使用solve(system, [ a, d, λ]) 时出现错误,

NotImplementedError: only zero-dimensional systems supported (finite number of solutions)

文件中出现此错误

/usr/lib/python2.7/dist-packages/sympy/solvers/polysys.py", line 148, in solve_reduced_system

当我使用solve_poly_system(system, [ a, d, λ]) 时,一切正常。

正如我所见,solve() 和solve_poly_system() 最终都使用相同的函数来求解系统。对于非双二次方程,同样的函数是solve_generic(polys, opt),然后是_solve_reduced_system(system, gens,entry=False)

谁能解释一下为什么会发生这种情况?

我想使用solve(),因为我只对正解感兴趣,所以我想使用“force”标志。

最佳答案

我解决了我的问题。

一开始,经过Mateusz Paprocki的推荐,我从 master 安装了 sympy 。这用solve()解决了问题

经过一番努力,我发现我的程序依赖于某些输入文件的读取顺序。这导致solve()和solve_poly_system()都退出并退出

NotImplementedError: only zero-dimensional systems supported (finite number of solutions)

当我更改读取输入文件的顺序时。

更具体地说,我正在使用 Hadoop 1.0.2 Streaming 。我正在阅读一些文件,每个文件都有特定的、不同的内容和结构。经过 sympy 模块的一些操作后,这个总内容给出了一个线性系统。问题就在这里。

Hadoop Streaming 不按任何特定顺序读取输入文件。为此,在一起解析不同文件时必须小心。我的“解析器”期望按一定顺序输入文件。当顺序不同时,文件的操作就会给系统带来错误的解决。因此,solve()、solve_poly_system() 引发了 NotImplementedError。这个问题的解决方案是修复我的“解析器”。

最后,从我使用它们的方式来看,solve_poly_system( seq, *gens, **args) 的参数,它们的意思是

  • seq = 序列,等于 0 的方程序列。在我的情况下,序列是一个列表

  • *gens = 在我的例子中,是一个变量列表。根据这些变量我解决了我的系统。

关于python - Sympy -solve() 和solve_poly_system(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353608/

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