应用于多项式的大矩阵时,症状函数性能的降级

时间:2018-05-17 18:48:28

标签: python sympy

在升级sympy(1.0-> 1.1.1)和mpmath(0.19-> 1.0.0)之后发生这种情况。

poly_mat = eval(poly_mat_str) det = poly_mat.det(method="berkowitz")

其中poly_mat_str是一些复数多项式矩阵的字符串repr(下面链接中的示例)。观察到降解,因为大大增加了所得的尺寸和计算时间。请注意,较小的多项式矩阵似乎不受影响,请参阅票证以获取更多信息。

下表显示了我的机器上三个多项式的计算时间和结果大小的变化,可在此处找到:example polynomials

enter image description here

1 个答案:

答案 0 :(得分:0)

这是由于在进行了sympy重构之后(显然)发生了更改。需要使用PolyMatrix类型创建多项式矩阵。以下代码可同时在1.0和1.1.1上运行:

try:
    from sympy.polys.polymatrix import PolyMatrix as sym_matrix
except ImportError:
    from sympy.matrices import Matrix as sym_matrix

然后使用sym_matrix创建矩阵。