# multiplication matrix in number field

Hello
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 vectors bellow)

- 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()`

. Then, I don't know how to do these calculations automatically within SAGE:

=> for example: how make the vector `a²=[0,0,1,0,0,0]`

become `(a+b).a²=2+a²b=[2,0,0,,0,1]`

after multiplication of `a²`

by `a+b`

given the relations `a³=2`

and `b²=3`

? ?

The answer below is more comprehensive in that it applies to any basis choice. If you want to work with respect to the tensor basis, you don't have to compute an "absolute" field (although the another basis ordering than the one you propose is easier to obtain):

Sorry for late response. Very interresting too & thanks as I alos need this approach for different usage. I might come back!