Selbstreferenzielle Polynome

12

Für jeden gegebenen Grad ist nes möglich, (mindestens einen) ein ganzzahliges Polynom pso zu konstruieren, dass p(k)( pausgewertet in k) der Koeffizient des Terms x^kim Polynom für alle ist 0 <= k <= n. Um sie einzigartig zu machen, muss der Leitkoeffizient (der Koeffizient von x^n) positiv und minimal sein.

Diese Polynome haben einige interessante Eigenschaften. Sie finden einige Referenzen in dem Thread, der mich zu dieser Herausforderung inspiriert hat . Sie finden diese Polynome auch unter https://oeis.org/A103423

Eine der a priori unerwarteten Eigenschaften ist das Verhalten der Wurzeln in Abhängigkeit von n:

Bildbeschreibung hier eingeben

source (von / u / zorngov und / u / EpicSauceSc2)

Aufgabe

Bei einer nichtnegativen Ganzzahl nwird das selbstreferenzielle Integralpolynom des Grades nmit einem minimalen positiven Leitkoeffizienten ausgegeben .

Einzelheiten

Die Ausgabe kann in jeder vom Menschen lesbaren Form, als Zeichenfolge x^2-x-1oder auch als Liste von Koeffizienten erfolgen [1,-1,-1]. (Die Reihenfolge der Koeffizienten kann auch umgekehrt sein, sie muss nur konsistent sein.)

Erste paar Ausgaben

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 
Fehler
quelle
Herzlichen Glückwunsch zu Ihrem goldenen Abzeichen!
Luis Mendo
@ LuisMendo Danke, anscheinend bin ich ein Fanatiker.
Fehler

Antworten:

2

Salbei , 74 Bytes

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

Das -iund [-n..0]könnte iund [0..n], wenn nicht für den positiven Leitkoeffizienten erforderlich.

Probieren Sie es auf Sage Cell

Anders Kaseorg
quelle
2

Mathematica, 55 Bytes

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

Ausgabe sind die Listenkoeffizienten, beginnend mit dem konstanten Term. Beispiel:

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}}

Dies findet den Vektor einfach so, dass (A - I)v = 0er dem MAPLE-Code in OEIS ähnelt. Die NullSpaceMethode scheint immer die minimale positive Zahl für das letzte Element auszuwählen, die der Aufgabenbeschreibung entspricht.

Die x^c-…/.x->rIndirektion soll verhindern haben 0^0 == Indeterminate.

kennytm
quelle