Самостоятельные полиномы

12

Для каждой данной степени nможно построить (по крайней мере, один) интегральный многочлен pтакой, что p(k)( pоцененный в k) является коэффициентом члена x^kв многочлене для всех 0 <= k <= n. Чтобы сделать их уникальными, мы требуем, чтобы ведущий коэффициент (коэффициент x^n) был положительным и минимальным.

Эти многочлены обладают некоторыми интересными свойствами, вы можете найти некоторые ссылки в теме, которые вдохновили меня на решение этой задачи . Вы также можете найти эти полиномы в https://oeis.org/A103423

Одним из априорных неожиданных свойств является то, как корни ведут себя в зависимости от n:

введите описание изображения здесь

источник (авторы / u / zorngov и / u / EpicSauceSc2)

задача

Для заданного неотрицательного целочисленного nвывода самоссылочный интегральный полином степени nс минимальным положительным ведущим коэффициентом.

Детали

Вывод может быть в любой читаемой человеком форме, в виде строки x^2-x-1или также в виде списка коэффициентов [1,-1,-1]. (Порядок коэффициентов может быть и наоборот, он просто должен быть последовательным.)

Первые несколько выходов

n=0: 1
n=1: x
n=2: x^2-x-1
n=3: 10*x^3-29*x^2-6*x+19
n=4: 57*x^4-325*x^3+287*x^2+423*x-19
n=5: 12813*x^5-120862*x^4+291323*x^3+44088*x^2-355855*x-227362 
flawr
источник
Поздравляю с вашим золотым значком!
Луис Мендо
@ LuisMendo Спасибо, видимо, я фанатик.
flawr

Ответы:

2

Sage , 74 байта

lambda n:kernel(matrix(n+1,[j^-i-(-i==j)for i in[-n..0]for j in[0..n]])).0

-iИ [-n..0]может быть iи [0..n], если бы не требование коэффициента положительной ведущей.

Попробуйте на Sage Cell

Андерс Касеорг
источник
2

Mathematica, 55 байт

NullSpace@Table[x^c-Boole[r==c]/.x->r,{r,0,#},{c,0,#}]&

Выходными данными являются коэффициенты списка, начиная с постоянного члена. Пример:

In[1084] := Do[Print[%1077[n] // StandardForm], {n, 0, 7}]

{{1}}

{{0,1}}

{{-1,-1,1}}

{{19,-6,-29,10}}

{{-19,423,287,-325,57}}

{{-227362,-355855,44088,291323,-120862,12813}}

{{145991969,64989065,-123338281,-85635661,79841909,-18146731,1286795}}

{{-5958511844199,3384370785404,8437850634901,489428412300,-4499161007143,1776194531596,-258931801371,13131073916}}

Это просто находит такой вектор, который (A - I)v = 0похож на код MAPLE в OEIS. NullSpaceМетод , кажется, всегда выбирает минимальное положительное число для последнего элемента, который совпадает с описанием задачи.

x^c-…/.x->rКосвенности, чтобы предотвратить имея 0^0 == Indeterminate.

kennytm
источник