使用 时factor
,Pari 打印多项式的因子及其多重性。然而,当使用 时,polcyclofactors
多项式的分圆因子被列为向量,没有多重性。
polcyclofactors
仅简单地分解多项式时,有没有办法模仿?那么,只是将多项式的因子显示为向量,而不用担心多重性?
使用 时factor
,Pari 打印多项式的因子及其多重性。然而,当使用 时,polcyclofactors
多项式的分圆因子被列为向量,没有多重性。
polcyclofactors
仅简单地分解多项式时,有没有办法模仿?那么,只是将多项式的因子显示为向量,而不用担心多重性?
是的。该函数factor
返回一个两列矩阵。如果您只对素数感兴趣,而不是多重性,您可以只选择第一列:
例如:
factor(120)[,1]
如果你只对你会做的多样性感兴趣[,2]
。如果您需要将结果作为向量而不是列向量(这两种类型大多可以互换),那么您还需要添加一个转换:
Vec(factor(120)[,1])
虽然,我用整数做了我的例子,但它也适用于多项式。
Vec(factor((1+x)^7*(1+x^2)^3)[,1])
安德鲁回答的一个变体:您可以使用 将矩阵转换为其列的向量Vec
,然后(多)将各个列分配给新变量,以便
[P] = Vec(factor(120));
设置P
为不可约因子的向量和
[P, E] = Vec(factor(120));
集P
和E
分别为不可约因子和多重性。但是更混乱的 factor()[,1] 构造会快一点(因为调用Vec
会导致额外的副本)。