0

使用 时factor,Pari 打印多项式的因子及其多重性。然而,当使用 时,polcyclofactors多项式的分圆因子被列为向量,没有多重性。

polcyclofactors仅简单地分解多项式时,有没有办法模仿?那么,只是将多项式的因子显示为向量,而不用担心多重性?

4

2 回答 2

1

是的。该函数factor返回一个两列矩阵。如果您只对素数感兴趣,而不是多重性,您可以只选择第一列:

例如:

factor(120)[,1]

如果你只对你会做的多样性感兴趣[,2]。如果您需要将结果作为向量而不是列向量(这两种类型大多可以互换),那么您还需要添加一个转换:

Vec(factor(120)[,1])

虽然,我用整数做了我的例子,但它也适用于多项式。

Vec(factor((1+x)^7*(1+x^2)^3)[,1])
于 2019-09-30T17:32:38.800 回答
0

安德鲁回答的一个变体:您可以使用 将矩阵转换为其列的向量Vec,然后(多)将各个列分配给新变量,以便

[P] = Vec(factor(120));

设置P为不可约因子的向量和

[P, E] = Vec(factor(120));

PE分别为不可约因子和多重性。但是更混乱的 factor()[,1] 构造会快一点(因为调用Vec会导致额外的副本)。

于 2021-08-15T13:35:38.243 回答