在Python中寻找参数化可变长度的线性丢番图方程的界线

如何解决在Python中寻找参数化可变长度的线性丢番图方程的界线

使用SymPy's Diophantine模块,可以为任何线性双色子方程获得参数化版本。然后,可以通过对每个参数项进行迭代来找到方程的解,如the solution to this particular question所示。

但是,该问题的解决方法是通过手动来找到每个参数的范围,以在两个变量的问题中进行迭代以获得正整数解。我的程序应该为具有可变项数的线性diophantine方程找到自然数解(最多期望3到大约12个),因此它必须能够确定每个参数本身要迭代的范围。所有条款都累加了最终的整数目标,例如:

12*A + B + 14*C + 16*D + 31*E - 507
(t_0,t_0 + t_1,t_0 + t_1 + t_2,-23*t_0 + t_1 + 3*t_2 + 31*t_3 + 1014,11*t_0 - t_1 - 2*t_2 - 16*t_3 - 507)

定义嵌套循环的数量非常简单(遍历解决方案集并使用SymPy的free_symbols函数提取所有嵌套循环),并且itertools具有product函数来设置这种嵌套循环,如图{{3}所示}。我想找到的是每个t参数的范围,这样我就找到了所有自然数解,并且 dont 陷入了无限循环。我该怎么办?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 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元字符(。)和普通点?