Я пытаюсь получить вектор полиномов, но внутри этого вектора каждый полином определен функцией в 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]
.
Есть ли способ сделать это довольно аккуратно?
Обновление:
У меня есть функция, которая принимает полином от двух переменных (скажем, х и у) , заменяет одну из этих переменных (скажем, y) на exp (I * t), а затем интегрирует ее между 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
, я не могу придумать какой-либо другой способ go о попытке решить эту проблему.
Есть идеи?