Polinomial Referensi Mandiri

12

Untuk setiap derajat tertentu ndimungkinkan untuk membangun (setidaknya satu) polinomial integral psedemikian rupa sehingga p(k)( pdievaluasi dalam k) adalah koefisien dari istilah x^kdalam polinomial untuk semua 0 <= k <= n. Untuk membuatnya unik, kami membutuhkan koefisien terkemuka (koefisien x^n) untuk menjadi positif dan minimal.

Polinomial ini memiliki beberapa sifat menarik, Anda dapat menemukan beberapa referensi di utas yang menginspirasi saya untuk melakukan tantangan ini . Anda juga dapat menemukan polinomial tersebut di https://oeis.org/A103423

Salah satu sifat tak terduga a priori adalah bagaimana akarnya berperilaku tergantung pada n:

masukkan deskripsi gambar di sini

sumber (oleh / u / zorngov dan / u / EpicSauceSc2)

Tugas

Diberikan noutput integer nonnegatif polinomial integral referensial diri ndengan koefisien memimpin positif minimal.

Detail

Outputnya bisa dalam bentuk apa pun yang dapat dibaca manusia, sebagai string x^2-x-1, atau juga sebagai daftar koefisien [1,-1,-1]. (Urutan koefisien juga bisa sebaliknya, hanya perlu konsisten.)

Beberapa keluaran pertama

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 
cacat
sumber
Selamat atas lencana emas Anda!
Luis Mendo
@LuisMendo Terima kasih, tampaknya saya seorang fanatik.
flawr

Jawaban:

2

Sage , 74 byte

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

The -idan [-n..0]bisa idan [0..n], jika bukan untuk persyaratan koefisien terkemuka positif.

Cobalah di Sage Cell

Anders Kaseorg
sumber
2

Mathematica, 55 byte

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

Output adalah koefisien daftar, mulai dari istilah konstan. Contoh:

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

Ini hanya menemukan vektor sedemikian rupa (A - I)v = 0, mirip dengan kode MAPLE di OEIS. The NullSpaceMetode tampaknya selalu memilih angka positif minimal untuk elemen terakhir, yang cocok dengan deskripsi tugas.

The x^c-…/.x->rtipuan adalah untuk mencegah memiliki 0^0 == Indeterminate.

kennytm
sumber
0

Pari / GP , 64 byte

n->a=matkerint(Mat([powers(i,n)|i<-[0..n]]~)-1);a*sign(a[n+1,1])

Mengembalikan koefisien sebagai vektor kolom.

Cobalah online!

alephalpha
sumber