Pari中的多项式

时间:2018-01-11 16:02:19

标签: polynomial-math pari pari-gp

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

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

2 个答案:

答案 0 :(得分:3)

是的,可以使用具有多个变量的多项式。例如,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的函数定义。您可以使用多项式参数fx调用y来获取多项式,也可以使用其他参数调用f。例如,f(x,y)返回多项式x^2 + y^2 - 1f(x, 3)返回x^2 + 8

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

答案 1 :(得分:1)

PARI也做电源系列。例如,1/(1-x-x^2) + O(x^20)是电力系列扩展,最多可达20个术语。您需要指定所需的术语数(PARI不会无限扩展)。使用Vec()转换为矢量。例如,Vec(1/(1-x-x^2) + O(x^20))给出了Fibonacci系列的前20个项。

多变量幂级数也是可能的,但您需要注意可变优先级。如果您使用x作为主要幂系列变量(不确定)并使用y作为辅助变量,它将起作用。另一方面,如果您想使用z作为主要变量而使用t作为辅助变量,则可能会遇到问题,具体取决于zt的顺序用过的。变量的优先级是一个混乱的问题,最好通过知道xy预定义x优先级高于y来避免变量。

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