大佬教程收集整理的这篇文章主要介绍了Sympy sqrt 函数“包含一组生成器的元素”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试使用 sympy 的 solvers.solve_poly_system 但是当我使用 sqrt 函数求解方程时,出现以下错误:
sympy.polys.polyerrors.polynomialError: sqrt(x1) contains an element of the set of generators.
这是有问题的代码:
@H_404_8@# An array of variables is declared as symbols in sympy. This has already worked to solve equations/derivatives.
for x in range(len(coordArr)):
coordArr[x][0] = symbols(xCoords[x],real = TruE)
coordArr[x][1] = symbols(yCoords[x],real = TruE)
# Then a specific system of equations using the variables in the array is fed into the system solver.
print(sympy.solvers.solve_poly_system([(5*(sympy.sqrt(coordArr[0][0])*2 + 2 - 3)),(2*(coordArr[0][1] - 3))],coordArr[0][0],coordArr[0][1]))
在此之后,我收到错误消息。我发现一些 other similar 帖子似乎可以通过使用 sympy.sqrt 解决,但我做了同样的事情并继续收到相同的错误。感谢您的帮助。
当您使用的生成器在表达式中未显示为整数幂时,您将看到此错误:
>>> Poly(sqrt(X) + x,X)
...
sympy.polys.polyerrors.PolynomialError: sqrt(X) contains an element of the set of generators.
如果您不提供生成器,Poly 将创建一个具有两个生成器的多项式:x
和 sqrt(X)
。我的建议是对方程组使用 solve
或 nonlinsolve
。
>>> solve((5*(sqrt(X)*2 + 2 - 3),2*(y - 3)),(x,y))
{x: 1/4,y: 3}
>>> nonlinsolve((5*(sqrt(X)*2 + 2 - 3),y))
FiniteSet((1/4,3))
以上是大佬教程为你收集整理的Sympy sqrt 函数“包含一组生成器的元素”全部内容,希望文章能够帮你解决Sympy sqrt 函数“包含一组生成器的元素”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。