问题描述
我在通用数字字段筛选中挣扎:第 2 轮!像往常一样:英语不是我的第一语言,所以“对不起,英语不好”。 所以:我正在尝试实现这个算法,并在很大程度上依赖于 sympy。 但我的部分工作也基于 Pr 的代码。 William Stein (https://wstein.org/misc/aly-lll/gnfs.html),2007 年用 python/sympy/sage 编写。
def find_kernel_vectors(M):
return M.kernel().basis_matrix().rows() [1]
它将应用矩阵:
M = Matrix(GF(2),len(sel),ev) [2]
其中 sel
是一个列表,ev
是矩阵的系数,每个系数都是 0 或 1。
然而,当我复制粘贴它,添加from sympy import Matrix,GF
时,我遇到了很多麻烦。
执行 [2] 后,我收到错误消息 GF(2) is not an integer
我查找了如何在 sympy 中使用矩阵,并从我收集的内容中查找了可接受输入中的系数列表。
所以我决定将 M 定义如下,以便能够测试 [1] :
M = Matrix(ev)
在执行 1 时,我收到错误消息 MutableDenseMatrix has no attribute kernel
问题是,这样的事情不是第一次发生,因为 Pr。 Stein 正在使用 2007 版的 python/sympy/sage 进行编码。
我真的不认为 [2] 的问题是一个实际问题,因为正如我所说,我的矩阵的系数已经是 0 或 1(即 GF(2) 的元素),但是我不确定。但我确信 [1] 是一个我不知道要解决的大问题。
我相信这一切都归结为 2007 年 sage/sympy/python 到现代 python 之间的翻译,所以如果有人知道怎么做,它会保存我的代码。
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)