[back] [prev] [next] [index] [root]

 


IdealLowerHNFTrans

the transformation matrix from the original basis to the basis in lower HNF

Syntax:

M:=IdealLowerHNFTrans(I);

matrix
  M  
ideal
  I  

See also:  IdealBasisLowerHNF

Description:

This returns the transformation matrix when transforming the original basis (which can bee seen with IdealBasis) to the basis in lower HNF (which can bee seen with IdealBasisLowerHNF). Once computed the transformation matrix is stored in the ideal data structure so it has not to be computed again.


Example:


kash> O:=OrderMaximal(Order(Poly(Zx,[1,4,1,-4,-3,7])));
Generating polynomial: x^5 + 4*x^4 + x^3 - 4*x^2 - 3*x + 7
Discriminant: 28442269 

kash> I:=Ideal(O,Mat(Z,[[1,2,1,4,6],[3,8,4,6,2],[6,4,3,3,8],
> [3,2,7,9,5],[0,2,8,8,4]]),1);
<
[1 2 1 4 6]
[3 8 4 6 2]
[6 4 3 3 8]
[3 2 7 9 5]
[0 2 8 8 4]
>

kash> IdealBasis(I)[2]*IdealLowerHNFTrans(I);
[   1    0    0    0    0]
[   0    1    0    0    0]
[   0    0    1    0    0]
[   0    1    0    3    0]
[ 512  910  858 1672 1678]
kash> IdealBasisLowerHNF(I);
> [ 1, [   1    0    0    0    0]
    [   0    1    0    0    0]
    [   0    0    1    0    0]
    [   0    1    0    3    0]
    [ 512  910  858 1672 1678] ]


<- back[back] [prev] [next] [index] [root]