程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Sympy sqrt 函数“包含一组生成器的元素”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Sympy sqrt 函数“包含一组生成器的元素”?

开发过程中遇到Sympy sqrt 函数“包含一组生成器的元素”的问题如何解决?下面主要结合日常开发的经验,给出你关于Sympy sqrt 函数“包含一组生成器的元素”的解决方法建议,希望对你解决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 将创建一个具有两个生成器的多项式:xsqrt(X)。我的建议是对方程组使用 solvenonlinsolve

>>> 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,请注明来意。
标签:sqrt