我正在尝试获取多项式向量,但在向量中每个多项式都由 Pari 中的函数定义。
例如,我希望能够输出这种形式的向量:
[f(x) = x-1 , f(x) = x^2 - 1, f(x) = x^3 - 1, f(x) = x^4 - 1, f(x) = x^5 - 1]
一个简单的向量构造vector( 5, n, f(x) = x^n-1)
不起作用,输出[(x)->my(i=1);x^i-1, (x)->my(i=2);x^i-1, (x)->my(i=3);x^i-1, (x)->my(i=4);x^i-1, (x)->my(i=5);x^i-1]
.
有没有办法非常巧妙地做到这一点?
更新:
我有一个函数,它在两个变量(比如 x 和 y)中采用多项式,用 exp(I*t) 替换其中一个变量(比如 y),然后在 t=0 和 t=1 之间积分,给出一个x 中的单变量多项式: int(T)=intnum(t=0,1,T(x,exp(I*t)))
由于这是定义的方式,我必须明确定义多项式T(x,y)=...
,然后计算int(T)
。简单地放入多项式,比如int(x*y)-1
,返回:
*** at top-level: int(x*y-1)
*** ^----------
*** in function int: intnum(t=0,1,T(x,exp(I*t)))
*** ^--------------
*** not a function in function call
*** Break loop: type 'break' to go back to GP prompt
我希望能够为许多多项式执行此操作,而不必T(x,y)=...
为每个多项式手动键入。我的计划是尝试使用该apply
功能来做到这一点(因此,将所有多项式放在一个向量中 - 举个简单的例子,vector(5, n, x^n*y-1)
)。但是,由于我定义的方式int
,我需要将向量中的每个条目定义为T(x,y)=...
,这是我最初的问题产生的地方。
定义T(x,y)=vector(5, n, x^n*y-1)
似乎对我想要计算的内容没有帮助。而且由于如何int
定义,我想不出任何其他方法来尝试解决这个问题。
有任何想法吗?