--matrice compagna di un polinomio,  costruzione per colonne
R=QQ[x]
I=ideal(x^5+x+1)
bb=sub(basis (R/I),R)
d=numcols bb
--prima colonna della matrice compagna
comp=sub(contract(transpose bb,(bb_(0,0))*x%I),x=>0_QQ)
--aggiungo le colonne
for i from 1 to (d-1) do comp=comp|sub(contract(transpose bb,(bb_(0,i))*x%I),x=>0_QQ)
comp

---calcolo degli autovalori approssimati
sol=eigenvalues comp