KASH - a sample session

The examples are taken from the ICM 98 Mathematical Software Session.


The KANT Group: [members] [publications] [database] [links] - [Institut für Mathematik, TU Berlin]
KANT/KASH: [webkash] [doc] [copyright] [acknowledgement] [examples] [download] [ftp]
Examples:[Number Fields] [Function Fields]

An example with Number Fields:

            KK      K         AAAAA         SSSSSS      HH       HH
            KK    KK        AA    AA      SS      S    HH       HH
           KK   K          AA     AA     SS            HH       HH 
          KK  KK          AA      AA     SS           HH       HH  
          KKKK           AA      AA       SSSSS       HHHHHHHHHHH  
         KKKK           AA       AA         SSSSS    HH       HH   
         KK KK         AAAAAAAAAAA             SS   HH       HH    
        KK    KK       AA       AA             SS   HH       HH    
       KK       K     AA       AA     S      SS    HH       HH     
       KK        KK   AA       AA nt   SSSSSS      HH       HH ell 
                                                                   
     Shell of the KANT V4 Software, Jan 99 Version 2.0                    
                                                                         
     Copyright (c) 1994-99 by Prof. Dr. M. E. Pohst,                     
     Technische Universitaet Berlin. All rights reserved.                
                                                                         
     For registration and support send an email to kant@math.tu-berlin.de
     --------------------------------------------------------------------
     KANT V4 bases on Magma developed by Prof. J. Cannon,                
     Copyright (c) 1999 Prof. J. Cannon, University of Sydney.           
     Shell bases on GAP developed by Lehrstuhl D Mathematik, RWTH Aachen,
     Copyright (c) 1992 Lehrstuhl D Mathematik, RWTH Aachen.             
                                                                         
     Enter "?" for help and "quit;" to leave KASH                    
                                                                         
kash> o := OrderMaximal(x^3+15*x^2-15*x+15);
   F[1]
    |
   F[2]
  /
 /
Q
F  [ 1]     Given by transformation matrix
F  [ 2]     x^3 + 15*x^2 - 15*x + 15
Discriminant: -51300 

kash> OrderTransformationMatrix(o);
[ 2, [2 0 1]
    [0 2 0]
    [0 0 1] ]
kash> OrderBasis(o);
[ 1, [0, 1, 0], [1, 0, 1] / 2 ]
kash> OrderClassGroup(o);
[ 15, [ 15 ] ]
kash> OrderClassGroupCyclicFactors(o);
[ [ <6, [2, -2, -1]>, 15 ] ]
kash> Factor(3*o);
[ [ <3, [0, 1, 0]>, 3 ] ]
kash> Factor(OrderIndex(o));
[ [ 2, 1 ] ]
kash> Factor(2*o);          
[ [ <
        [2 1 1]
        [0 1 0]
        [0 0 1]
        >
        , 1 ], [ <
        [2 1 0]
        [0 1 0]
        [0 0 1]
        >
        , 2 ] ]
kash> RayClassGroup(8*o);  
[ 240, [ 2, 30, 4 ] ]
kash> cf := RayClassField(8*o);
[ x^2 + [9, 144, -289], x^2 + [1, 9, -18], 
  x^4 + [272, -272, -36]*x^2 + [88850, 18000, 1550], 
  x^3 - 3*x + [-2434, 2064, 276], 
  x^5 + [-18645, 79490, 10045]*x^3 + [-5711327974318765, 7122229407918915, 931\
482556489095]*x^2 + [-15671409715172665724630205, -4030083652339238297310135, \
-379902199340888458926870]*x + [6961222327660536862249512557665314, -112469937\
11282851751693307464944145, -1454919873294020910169537881155470] ]
kash> O := OrderMaximal(cf[3]);
      F[1]
       |
      F[2]
        /
       /
   E1[1]
    |
   E1[2]
  /
 /
Q
F  [ 1]     Given by transformation matrix
F  [ 2]     x^4 + [272, -272, -36]*x^2 + [88850, 18000, 1550]
E 1[ 1]     Given by transformation matrix
E 1[ 2]     x^3 + 15*x^2 - 15*x + 15
Discriminant: <
[ 256    0 -164]
[   0  256 -124]
[   0    0    1]
>
 
Coef. Ideals are: <1>   <
[2 0 0]
[0 2 0]
[0 0 1]
/2>
        <
[73384 36692 52944]
[    0 36692 25592]
[    0     0     1]
/73384>
        <
[2201520       0   16252]
[      0 2201520 2190420]
[      0       0       1]
/22015200>
kash> Oa := OrderAbs(last);
Generating polynomial: x^12 + 252*x^10 + 270228*x^8 + 17100464*x^6 + 988070250\
0*x^4 - 8768250000*x^2 + 900000000
Discriminant: 1096525468516111753576746954096533490575014602113919108763170720\
956439558494861511210143107016899109883503601254400000000000000000000000000000\
000000000000000 
kash> OrderSubfield(last);
[ Generating polynomial: x^3 + 15*x^2 - 15*x + 15
    Discriminant: -205200 
    , 
  Generating polynomial: x^6 - 252*x^5 + 270228*x^4 - 17100464*x^3 + 988070250\
0*x^2 + 8768250000*x + 900000000
     ]
kash> Galois(Oa);
"[4^2]S(3)"

An example with Algebraic Function Fields:

            KK      K         AAAAA         SSSSSS      HH       HH
            KK    KK        AA    AA      SS      S    HH       HH
           KK   K          AA     AA     SS            HH       HH 
          KK  KK          AA      AA     SS           HH       HH  
          KKKK           AA      AA       SSSSS       HHHHHHHHHHH  
         KKKK           AA       AA         SSSSS    HH       HH   
         KK KK         AAAAAAAAAAA             SS   HH       HH    
        KK    KK       AA       AA             SS   HH       HH    
       KK       K     AA       AA     S      SS    HH       HH     
       KK        KK   AA       AA nt   SSSSSS      HH       HH ell 
                                                                   
     Shell of the KANT V4 Software, Jan 99 Version 2.0                    
                                                                         
     Copyright (c) 1994-99 by Prof. Dr. M. E. Pohst,                     
     Technische Universitaet Berlin. All rights reserved.                
                                                                         
     For registration and support send an email to kant@math.tu-berlin.de
     --------------------------------------------------------------------
     KANT V4 bases on Magma developed by Prof. J. Cannon,                
     Copyright (c) 1999 Prof. J. Cannon, University of Sydney.           
     Shell bases on GAP developed by Lehrstuhl D Mathematik, RWTH Aachen,
     Copyright (c) 1992 Lehrstuhl D Mathematik, RWTH Aachen.             
                                                                         
     Enter "?" for help and "quit;" to leave KASH                    
                                                                         
kash> AlffInit(FF(3,2), "x");     
"Defining global variables: k, w, kx, kxf, kxy, x, y, AlffGlobals"
kash> $+x^5 + x^4 + x^3 + x^2;                                     
y^4 + (2*x^5 + x^4 + 2*x^3 + x^2)*y^2 + x^8 + 2*x^6 + x^5 + x^4 + x^\
3 + x^2
kash> F := Alff(f);
Algebraic function field defined over GF(3^2) by
y^4 + (2*x^5 + x^4 + 2*x^3 + x^2)*y^2 + x^8 + 2*x^6 + x^5 + x^4 + x^\
3 + x^2
kash> AlffGenus(F);
7
kash> o := AlffOrderMaxFinite(F);
Finite order over GF(3^2) defined by
y^4 + (2*x^5 + x^4 + 2*x^3 + x^2)*y^2 + x^8 + 2*x^6 + x^5 + x^4 + x^\
3 + x^2
 and transformation matrix
[x^4 + x^2 + 2*x               0               0               0]
[              0 x^4 + x^2 + 2*x               0       2*x^2 + x]
[              0               0     x^3 + x + 2               0]
[              0               0               0               1]
den: x^4 + x^2 + 2*x
kash> X := AlffElt(o, x);
x
kash> Y := AlffElt(o,  [0, 1, 0, 0]);
[ 0, 1, 0, 0 ]
kash> Eval(f, Y);
0
kash> 1/Y;
[ 0, x + 2, 0, 2 ] / (x^4 + x^2 + 2*x)
kash> AlffSignature(F);
[ [ 2, 1 ], [ 2, 1 ] ]
kash> u := AlffUnitsFund(o)[1];
[ 2*x^22 + 2*x^20 + 2*x^19 + 2*x^16 + x^15 + x^14 + 2*x^12 + x^11 + \
x^9 + 2*x^7 + 2*x^6 + 2*x^5 + 2*x^4 + 2*x^3 + x^2 + 2*x + 1, 0, x^20\
 + 2*x^19 + 2*x^18 + 2*x^17 + x^16 + x^15 + 2*x^14 + x^11 + x^8 + x^\
5 + 2*x^4 + 2*x^3 + 2*x^2 + x + 1, 0 ]
kash> AlffEltNorm(u);
1
kash> AlffDivisor(u);
Alff divisor
[ [ Alff place < 1/x, [ 0, 1, w^6, 1 ] >, 48 ],
[ Alff place < 1/x, [ 2, w, 1, 0 ] >, -48 ] ]

kash> pl1 := AlffPlaceSplit(F, x+1);
[ Alff place < x + 1, [ w^2, w^3, w^6, 1 ] >, 
  Alff place < x + 1, [ w^6, w^3, w^2, 1 ] >, 
  Alff place < x + 1, [ 0, w^3, 2, 1 ] >, 
  Alff place < x + 1, [ 0, 1, w^5, 1 ] > ]
kash> pl2 := AlffPlaceSplit(F, x^2+w);
[ Alff place < x^2 + w, [ w*x + w^7, 1, 0, 0 ] >, 
  Alff place < x^2 + w, [ w^5*x + w^3, 1, 0, 0 ] > ]
kash> p1 := pl1[1];
Alff place < x + 1, [ w^2, w^3, w^6, 1 ] >
kash> p2 := pl2[1];
Alff place < x^2 + w, [ w*x + w^7, 1, 0, 0 ] >
kash> D := 8*p1 - p2;
Alff divisor
[ [ Alff place < x + 1, [ w^2, w^3, w^6, 1 ] >, 8 ],
[ Alff place < x^2 + w, [ w*x + w^7, 1, 0, 0 ] >, -1 ] ]

kash> AlffDivisorDeg(D);
6
kash> AlffDivisorLDim(D);
0
kash> D := 10*p1 - p2;
Alff divisor
[ [ Alff place < x + 1, [ w^2, w^3, w^6, 1 ] >, 10 ],
[ Alff place < x^2 + w, [ w*x + w^7, 1, 0, 0 ] >, -1 ] ]

kash> AlffDivisorLDim(D);
2
kash> B := AlffDivisorLBasis(D);
[ [ w^6*x^10 + w^7*x^9 + 2*x^8 + w*x^6 + w^7*x^5 + w^3*x^4 + w*x^3 +\
 w^3*x^2 + w^3*x + w^2, w^5*x^7 + w^5*x^6 + w*x^5 + w^6*x^4 + w*x^2 \
+ w^7*x + 1, w^3*x^6 + x^5 + w^5*x^4 + w^6*x^3 + 2*x^2 + x + w^7, w^\
7*x^6 + w*x^5 + w^2*x^4 + 2*x^3 + 2*x^2 + w^7*x + w^3 ] / (x^10 + x^\
9 + x + 1), 
  [ w*x^10 + w^5*x^9 + w^5*x^8 + x^7 + w^3*x^6 + w^7*x^5 + w^6*x^4 +\
 w^5*x^3 + w^3*x^2 + x + w^7, w^6*x^8 + x^7 + w^5*x^6 + 2*x^5 + w^7*\
x^4 + 2*x^2 + 2*x + w^2, w^6*x^6 + w^7*x^5 + w^2*x^4 + w^6*x^2 + w*x\
 + w^2, w^2*x^7 + w*x^6 + 2*x^5 + w*x^4 + w^2*x^2 + w*x + w^5 ] / (x\
^10 + x^9 + x + 1) ]
kash> D1 := AlffDivisor(B[1]);
Alff divisor
[ [ Alff place < x + 1, [ w^2, w^3, w^6, 1 ] >, -10 ],
[ Alff place < x + w^2, [ w^6, 1, 0, 0 ] >, 1 ],
[ Alff place < x + 2, [ w^3, 1, 0, 0 ] >, 1 ],
[ Alff place < x^2 + w, [ w*x + w^7, 1, 0, 0 ] >, 1 ],
[ Alff place < x^6 + x^5 + x^3 + w^6*x^2 + w*x + w, [ w^5*x^5 + w*x^\
4 + w^5*x^3 + w*x^2 + w^6*x + 1, 1, 0, 0 ] >, 1 ] ]

kash> AlffPlacesDegOneNum(F);
36
kash> AlffPlacesDegOneNumBound(F);
43

Examples:[Number Fields] [Function Fields]


Last modified: 2008-09-03 11:13 UTC
The Kant Project