Given two integral numbers, say a
and b
such that a^3=2
and b^2=3
, I want to check "by hand" that a+b
is again integral over Z. To do that, I want to build the matrix of the linear transform "m
: multiplication by a+b
on the number field Q(a,b)
since a+b
is obviously an eigenvalue, i.e. root of it's caracteristic polynomial which then SAGE can compute for me). Then I can check that (a+b).minpoly()
gives the same result as P(X)=(M-XI).determinant()
and then after coercision within Q.<x>=QQ[], P=Q(P)
, check P.is_irreducible()
, meaning a+b
integral.
Thus, given a basis (1,a,a²,b,ab,a²b) for Q(a,b), one can determine the matrix "by hand": each column is the image of each element times a+b
: (transpose the following rows in columns)
- 1st is:
(a+b).1=[0,1,0,1,0,0]
, - 2d is
(a+b).a=[0,0,1,0,1,0]
, - 3d is
(a+b).a²=[2,0,0,0,0,1]
, - 4th is
(a+b).b=[3,0,0,0,1,0]
, - 5th is
(a+b).ab=[0,3,0,0,0,1]
, - 6th is
(a+b).a²b=[0,0,3,2,0,0]
One can define the extension k.<a,b>=NumberField([x³-2,x²-3])
, isomorphic to z⁶-9*z⁴-4*z³+27*z²-36*z-23
(via k.absolute_field()
but then I don't know how to do these calculations automatically within SAGE:
how make the vector 1=[1,0,0,0,0,0]
become [0,1,0,1,0,0]
after multiplication by a+b
given the relations a³=2
and b²=3
? ?