Pari 中的多项式
Polynomials in Pari
我在处理 Pari 中的多项式和在文档中找到正确的命令时遇到了一些问题。
- 是否可以用多个变量定义多项式,例如f(x,y)=x^2+y^2-1
- 如何在特定值处评估先前定义的多项式(通过使用 Pol() )?
是的,可以使用具有多个变量的多项式。例如 x^2 + y^2 - 1
是变量 x
和 y
中的多项式。使用 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
不是多项式,而是具有两个形式参数 x
和 y
的函数定义。您可以使用多项式参数 x
和 y
调用 f
以获得多项式,也可以使用其他参数调用 f
。例如,f(x,y)
returns 多项式 x^2 + y^2 - 1
和 f(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
作为次要变量,你可能 运行 进入问题取决于哪个顺序 z
和 t
首先使用。变量的优先级是一个混乱的问题,最好通过知道 x
和 y
预定义为 x
比 y
具有更高的优先级来避免。
(如果您有更多问题,请提交新问题 - 我真的不希望这成为一个关于所有 PARI 功能的博客!)
我在处理 Pari 中的多项式和在文档中找到正确的命令时遇到了一些问题。
- 是否可以用多个变量定义多项式,例如f(x,y)=x^2+y^2-1
- 如何在特定值处评估先前定义的多项式(通过使用 Pol() )?
是的,可以使用具有多个变量的多项式。例如 x^2 + y^2 - 1
是变量 x
和 y
中的多项式。使用 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
不是多项式,而是具有两个形式参数 x
和 y
的函数定义。您可以使用多项式参数 x
和 y
调用 f
以获得多项式,也可以使用其他参数调用 f
。例如,f(x,y)
returns 多项式 x^2 + y^2 - 1
和 f(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
作为次要变量,你可能 运行 进入问题取决于哪个顺序 z
和 t
首先使用。变量的优先级是一个混乱的问题,最好通过知道 x
和 y
预定义为 x
比 y
具有更高的优先级来避免。
(如果您有更多问题,请提交新问题 - 我真的不希望这成为一个关于所有 PARI 功能的博客!)