On 19 abr, 12:07, "samuele.anni" <[email protected]> wrote: > Hello, > I'm trying to implement an algorithm for complete my thesis work about > congruence between modular forms and Galois representation. > A step of the algorithm I am working on consists in replacing a > generator of the number field with a fixed value obtained, clearly the > command substitute cannot work because the elements of the matrix are > algebraic integers of the number field so nothing is seen as a > “variable”. The only thing that comes in my mind is to find a way to > convert my vector into a polynomial vector substituing to alpha a > variable x, but I cannot find a way to do this. > > >>sage: K.<alpha> = NumberField(x^4 - 30*x^2 - 40*x + 5);K > > Number Field in alpha with defining polynomial x^4 - 30*x^2 - 40*x + 5 > > >>sage: A=[alpha - 1, 1/2*alpha^3 - 5/2*alpha^2 - 1/2*alpha + 17/2, -alpha^3 > >>+4*alpha^2 + alpha - 10, alpha^2 - 2*alpha - 3, 2*alpha^3 - 8*alpha^2 > >>-4*alpha + 22, -2*alpha^3 + 8*alpha^2 + 2*alpha - 18, -2*alpha^3 +8*alpha^2 > >>+ 3*alpha - 21, 3/2*alpha^3 - 15/2*alpha^2 + 3/2*alpha + 33/2,-3/2*alpha^3 > >>+ 11/2*alpha^2 + 7/2*alpha - 27/2, 2*alpha^3 - 7*alpha^2 -4*alpha + 15, > >>-1/2*alpha^3 + 1/2*alpha^2 + 5/2*alpha - 1/2, -alpha^3 +6*alpha^2 - alpha - > >>16, -alpha^3 + 3*alpha^2 + 6*alpha - 12, 3/2*alpha^3- 11/2*alpha^2 - > >>5/2*alpha + 21/2, -3*alpha^3 + 13*alpha^2 + 5*alpha -35]; > >>sage: A1=[A[i].substitute(alpha=12) for i in range(0, len(A))];A1 > > [alpha - 1, 1/2*alpha^3 - 5/2*alpha^2 - 1/2*alpha + 17/2, -alpha^3 + > 4*alpha^2 + alpha - 10, alpha^2 - 2*alpha - 3, 2*alpha^3 - 8*alpha^2 - > 4*alpha + 22, -2*alpha^3 + 8*alpha^2 + 2*alpha - 18, -2*alpha^3 + > 8*alpha^2 + 3*alpha - 21, 3/2*alpha^3 - 15/2*alpha^2 + 3/2*alpha + > 33/2, -3/2*alpha^3 + 11/2*alpha^2 + 7/2*alpha - 27/2, 2*alpha^3 - > 7*alpha^2 - 4*alpha + 15, -1/2*alpha^3 + 1/2*alpha^2 + 5/2*alpha - > 1/2, -alpha^3 + 6*alpha^2 - alpha - 16, -alpha^3 + 3*alpha^2 + 6*alpha > - 12, 3/2*alpha^3 - 11/2*alpha^2 - 5/2*alpha + 21/2, -3*alpha^3 + > 13*alpha^2 + 5*alpha - 35] > > Does anybody know a way to solve my problem? > Thanks for the help Samuele
If x is an element of K, x.polynomial() returns a representation of x as a polynomial (the representative of x of minimal degree thinking K=QQ[x]/f(x)) So, you can do sage: A1=[x.polynomial()(12) for x in A];A1 [11, 1013/2, -1150, 117, 2278, -2298, -2289, 3093/2, -3543/2, 2415, -1525/2, -892, -1236, 3561/2, -3287] -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
