Pari GP函数“读取”产生***嵌套太深的表达式

时间:2019-09-16 17:42:57

标签: pari pari-gp

我让Pari计算一些多项式并将它们写到文件中。现在我想重新读一遍,我遇到了

***表达嵌套太深。

文件中没有循环,只是第n行上的{P [n] =(q中的某些(Laurent)多项式);}。

文件只有500 KB,我读过大得多的文件。

我尝试检查是否有错误并且找不到它们。接下来,我尝试简化文件并读入前100个多项式。这行得通,然后我尝试只加载其中一个较大的多项式。它不起作用,然后我删除了文件中的某些术语,发现如果删除的术语足够,它可以读入。

例如我输入

default(parisize,10000000000);
P=vector(1000,i,0);
\r {filename}

default(parisize,10000000000);
P=vector(1000,i,0);
read(filename)

文件只有表格的一行

P[139]=(q^152352 + ... + 33495418*q^1184)/q^76176

这里是可以阅读的

文件只有一行完全相同,除了给定的额外+1

P[139]=(q^152352 + ... + 33495418*q^1184+1)/q^76176

无法读取。

1 个答案:

答案 0 :(得分:0)

我建议在要累加的术语列表中每100或1000个术语加括号,以便将一组内的加号的数量限制为合理的数量。似乎表达式解析器在遇到每个+时递归地调用它自己。您可以通过插入括号来减少递归的深度。