假设我有多项式f(x) = x^n + x + a
。我为n
设置了一个值,并想要0 <= a <= A
,其中A
是我设置的其他值。这意味着我将总共拥有A
个不同的多项式,因为a
可以是0
和A
之间的任何值。
使用MATLAB,我发现了这些可简化的A多项式的数量。例如,假设我设置了n=5
和A=10^6
。这将告诉我这些5级10^6
多项式中有多少是可约的。我使用循环完成此操作,该循环适用于A
的低值。但是对于我需要的较大值(即A=10^6
),这将花费非常长且不切实际的时间。代码如下。有人可以帮我有意义地优化它吗?
syms x
A = (10^6);
n = 5;
s = 0;
a = s:A;
total = 0;
parfor i = 0:A
if feval(symengine, 'irreducible', x^n + x+i) == false
total = total + 1;
i
end
end
total