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]
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)"
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