Pari 中的多项式

Polynomials in Pari

我在处理 Pari 中的多项式和在文档中找到正确的命令时遇到了一些问题。

  1. 是否可以用多个变量定义多项式,例如f(x,y)=x^2+y^2-1
  2. 如何在特定值处评估先前定义的多项式(通过使用 Pol() )?

是的,可以使用具有多个变量的多项式。例如 x^2 + y^2 - 1 是变量 xy 中的多项式。使用 subst 计算特定值的多项式。例如,subst(x^2 + y^2 - 1, y, 3) 给出 x^2 + 8

PARI 假设任何未定义的变量都是多项式。上面的工作是因为 x 和 y 没有被赋予另一个定义。因此,最好避免将 x 和 y 用于其他用途。例如,如果您输入 x=5,则 x 被定义为 5,并且将不再被解释为多项式。

现在 f(x,y)=x^2+y^2-1 不是多项式,而是具有两个形式参数 xy 的函数定义。您可以使用多项式参数 xy 调用 f 以获得多项式,也可以使用其他参数调用 f。例如,f(x,y) returns 多项式 x^2 + y^2 - 1f(x, 3) returns x^2 + 8.

Pol() 的目的是将其他东西(例如向量)转换为多项式。例如,Pol([3,1,5]) 给出 3*x^2 + x + 5.

PARI 也做幂级数。例如 1/(1-x-x^2) + O(x^20) 是最多 20 项的幂级数展开。您需要指定所需的项数(PARI 不会无限扩展)。使用 Vec() 转换为向量。例如,Vec(1/(1-x-x^2) + O(x^20)) 给出斐波那契数列的前 20 项。

多元幂级数也是可以的,但是需要注意变量的优先级。如果您使用 x 作为主要幂级数变量(不确定)并且使用 y 作为次要变量,它将起作用。另一方面,如果你想使用 z 作为主要变量和 t 作为次要变量,你可能 运行 进入问题取决于哪个顺序 zt 首先使用。变量的优先级是一个混乱的问题,最好通过知道 xy 预定义为 xy 具有更高的优先级来避免。

(如果您有更多问题,请提交新问题 - 我真的不希望这成为一个关于所有 PARI 功能的博客!)