我可以在 sympy.nsolve 中使用其他求解器来求解非线性方程组吗?

如何解决我可以在 sympy.nsolve 中使用其他求解器来求解非线性方程组吗?

我在 mpmath.findroot 中有一段认使用多维牛顿法求解非线性方程组的代码

from sympy import symbols,nonlinsolve,IndexedBase,Sum,Tuple
import sympy
from random import random
from pprint import pprint
import numpy
q0,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11 = symbols('q0,q11')

unitary_energy_condition = q0**2 + q1**2 + q2**2 + q3**2 + q4**2 + q5**2 + q6**2 + q7**2 + q8**2 + q9**2 + q10**2 + q11**2 - 1
print(unitary_energy_condition)

symlet_equation1 = q0 + q1 + q2 + q3 + q4 + q5 + q6 + q7 + q8 + q9 + q10 + q11
symlet_equation2 = -5*q0 - 4*q1 - 3*q2 - 2*q3 - q4 + q6 + 2*q7 + 3*q8 + 4*q9 + 5*q10 + 6*q11
symlet_equation3 = 25*q0 + 16*q1 + 9*q2 + 4*q3 + q4 + q6 + 4*q7 + 9*q8 + 16*q9 + 25*q10 + 36*q11
symlet_equation4 = -125*q0 - 64*q1 - 27*q2 - 8*q3 - q4 + q6 + 8*q7 + 27*q8 + 64*q9 + 125*q10 + 216*q11

orthogonality_equation1 = q0*q2 + q10*q8 + q11*q9 + q1*q3 + q2*q4 + q3*q5 + q4*q6 + q5*q7 + q6*q8 + q7*q9

orthogonality_equation2 = q0*q4 + q10*q6 + q11*q7 + q1*q5 + q2*q6 + q3*q7 + q4*q8 + q5*q9

orthogonality_equation3 = q0*q6 + q10*q4 + q11*q5 + q1*q7 + q2*q8 + q3*q9

orthogonality_equation4 = q0*q8 + q10*q2 + q11*q3 + q1*q9

orthogonality_equation5 = q0*q10 + q11*q1

matching_condition_1 = 0.01*q0 + 0.01*q10 + 0.01*q11 + 0.02*q1 + 0.01*q2 + 0.05*q3 + 0.23*q4 + 0.62*q5 + 0.9*q6 + 0.98*q7 + 0.88*q8 + 0.02*q9
matching_condition_2 = 0.01*q0 + 0.02*q10 + 0.01*q11 + 0.01*q1 + 0.02*q2 + 0.01*q3 + 0.05*q4 + 0.23*q5 + 0.62*q6 + 0.9*q7 + 0.98*q8 + 0.88*q9

v = [q0,q11]

nsol = [random()/100 for i in v]

ans = sympy.nsolve([unitary_energy_condition,symlet_equation1,symlet_equation2,symlet_equation3,symlet_equation4,orthogonality_equation1,orthogonality_equation2,orthogonality_equation3,orthogonality_equation4,orthogonality_equation5,matching_condition_1,matching_condition_2],v,nsol,maxsteps=100)

print(ans)

如何使用其他数值方法(如 scipy 方法)来求解同一系统? 谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?