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

Reply via email to