--matrice compagna di un polinomio 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 ---costruzione della matrice bezoutiante (matrice della forma traccia) b=mutableMatrix(R,d,d) for i from 0 to d-1 do for j from 0 to d-1 do b_(i,j)=trace(comp^(i+j)) bez=matrix b det(bez-x*id_(R^{d:0})) --tre variazioni, segnatura (3,2), una radice reale ---forma traccia per B_h h=x-5 b=mutableMatrix(R,d,d) for i from 0 to d-1 do for j from 0 to d-1 do b_(i,j)=trace((comp-5)*comp^(i+j)) bezh=matrix b bez det(bez-x*id_(R^{d:0}))