Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/alnuth/tst/   (GAP Algebra Version 4.15.1©)  Datei vom 5.3.2022 mit Größe 10 kB image not shown  

Quelle  examples.tst   Sprache: unbekannt

 
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

gap> START_TEST("Testing examples from Alnuth");  

# example 1
gap> F := ExampleMatField(1);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4+4*x_1^3-394*x_1^2-796*x_1+2101
gap> basis := Basis(F, 
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ],
> [ [ -1110 ], [ 5, -5, -511 ], [ 3, -4, -711 ], [ 3, -3, -47 ] ],
>   [ [ 9, -10, -1322 ], [ -121721, -33 ], [ -111828, -44 ], 
>       [ -91318, -28 ] ], 
>   [ [ -357, -11 ], [ 7, -9, -1322 ], [ 6, -9, -1322 ], 
>      [ 5, -7, -1017 ] ] ]);;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> RelationLatticeOfUnits(F,GeneratorsOfGroup(ug));
[ [ 2000 ] ]

# example 2
gap> F := ExampleMatField(2);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4-18*x_1^3-286*x_1^2+2178*x_1+14641
gap> basis := Basis(F, 
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [ [ -1110 ], [ -4, -9, -511 ], [ -6, -8, -711 ], 
>       [ -5, -8, -511 ] ], 
>   [ [ -9, -18, -1322 ], [ 152921, -33 ], [ 253428, -44 ], 
>       [ 121915, -22 ] ], 
>   [ [ 697, -11 ], [ -11, -17, -1322 ], [ -12, -17, -1322 ], 
>       [ -8, -12, -916 ] ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# example 3
gap> F := ExampleMatField(3);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4+4*x_1^3-90*x_1^2-188*x_1+1669
gap> basis := Basis( F, 
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [ [ -4670 ], [ -31, -60, -3577 ], [ -35, -48, -4166 ], 
>       [ -34, -53, -3375 ] ], 
>   [ [ -11, -15, -1022 ], [ 3360 ], [ 7108, -11 ], 
>       [ -3, -5012 ] ], 
>   [ [ 4108, -11 ], [ -15, -27, -1833 ], [ -18, -25, -2133 ], 
>       [ -13, -20, -1426 ] ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# example 4
gap> F := ExampleMatField(4);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4-8*x_1^3-550*x_1^2-1936*x_1-1331
gap> basis := Basis( F, 
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [ [ 0, -110 ], [ -1, -4, -511 ], [ -144, -11 ], [ -110, -2 ] ]
>     , 
>   [ [ 089, -22 ], [ -28, -1, -11 ], [ 3, -10, -522 ],
>       [ 1, -5, -615 ] ],
>   [ [ 1, -5, -311 ], [ 1, -9, -722 ], [ -297, -22 ], [ -132, -7 ]
>      ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# example 5
gap> F := ExampleMatField(5);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4+4*x_1^3-40*x_1^2-88*x_1+244
gap> basis := Basis( F,
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [ [ 14895101, -165 ], [ -257, -165, -175286 ], [ 966567, -110 ], 
>       [ -64, -40, -4370 ] ], 
>   [ [ 354923102437, -3982 ], [ -6147, -4001, -42216897 ], 
>       [ 219514301508, -2464 ], [ -1560, -1015, -10711750 ] ], 
>   [ [ 299919532060, -3366 ], [ -5195, -3383, -35685830 ], 
>       [ 185312061272, -2079 ], [ -1319, -859, -9061480 ] ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# example 6
gap> F := ExampleMatField(6);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4-34*x_1^2+49
gap> basis := Basis( F,
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [ [ -6, -2, -30 ], [ 151815, -33 ], [ 11167, -22 ], 
>       [ 142113, -37 ] ], 
>   [ [ -2, -11, -422 ], [ -27, -36, -2466 ], [ -15, -22, -933 ],
>       [ -31, -47, -2683 ] ],
>   [ [ 295526, -99 ], [ 8211868, -209 ], [ 375525, -88 ],
>       [ 10215582, -270 ] ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# example 7
gap> F := ExampleMatField(7);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4-9118*x_1^3+39843*x_1^2-9118*x_1+1
gap> basis := Basis( F,
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [ [ -16591/25, -4204252/75, -1139984/125933941/25 ], 
>       [ 127557/1002685042/252183967/125, -3578691/50 ], 
>       [ 16039760/32155, -35325/4 ], 
>       [ 47976/254036224/253282924/125, -2689776/25 ] ], 
>   [ [ -172958/5, -227281196/75, -61682584/12550500116/25 ],
>       [ 1325391/20145139966/25118170042/125, -193493841/50 ],
>       [ 32695/42148280/3116606, -1909325/4 ],
>       [ 498078/5218173052/25177632124/125, -145429076/25 ] ],
>   [ [ -1572318/25, -137719084/25, -22425524/2591800234/25 ],
>       [ 3012234/25263839042/2542962292/25, -703475043/100 ],
>       [ 29725/21301735211968, -867705 ],
>       [ 4527973/251189801372/7564580524/25, -264364324/25 ] ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# example 8
gap> F := ExampleMatField(8);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4-2693461698*x_1^3+915480803*x_1^2-183198*x_1+1
gap> basis := Basis( F,
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [ [ 350938712911/2941500326345/222032258785/4912381906785/28 ], 
>       [ -321440829383/245, -824530541, -48432850131/98, -6804693081/14 ], 
>       [ -1895565335102/441, -8103883972/3, -238010709389/147, -33439903349/21 
>          ], [ 423681072037/105253583828510639636697/72989684151/2 ] ], 
>   [ [ 4296545420323143572/1471800113708794452685/98539482234887109565/49
>           1061142474502207065/98 ], 
>       [ -23612415601847672819/735, -989283921486886210/49
>           -592963764782450491/49, -1166338752161250809/98 ], 
>       [ -232074212936617048906/2205, -9723159685193494472/147
>           -5827933970510514158/147, -1910556664266896923/49 ], 
>       [ 3458087129618678238/35434648032727934931/7260522311384860087/7
>           256219085901701948/7 ] ], 
>   [ [ -359040394192145849/98, -225639486739431445/98
>       -270490678428289125/196, -266022798598028295/196 ],
>       [ 2959753770581068096/735124004119958269647/4974326437761644025/49,
>           73098737073176767/49 ],
>       [ 3232209784961308454/2451218772319845216676/147,
>           243505363658010411/49239483218757603493/49 ],
>       [ -433462064765870443/35, -54481979964874243/7, -65311563750512469/14,
>          -64232767911560593/14 ] ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# example 9
gap> F := ExampleMatField(9);
<rational matrix field of unknown degree>
gap> DegreeOverPrimeField(F);
4
gap> DefiningPolynomial(F);
x_1^4-50691194176*x_1^3+13505436470112846*x_1^2-5255736770373376*x_1+1
gap> basis := Basis( F,
> [ [ [ 1000 ], [ 0100 ], [ 0010 ], [ 0001 ] ], 
>   [
>       [ 851504247972/229, -1937936674346/229, -603837909603/229
>           1577056081004/229 ], 
>       [ 589771389309/458, -671133447401/229, -209117560764/229
>           546155850465/229 ], 
>       [ -314679082561/2292148551139301/687223154956025/229
>           -582817030683/229 ], 
>       [ 260652277735/458, -889841242682/687, -92421808448/229
>           241378880370/229 ] ], 
>   [
>       [ 479595170949875358661/229, -3274539508376250773645/687,
>           -340102839979551252617/229888252880017494540431/229 ],
>       [ 166089147656173639110/229, -378003163829060810519/229,
>           -235562800592787808287/458307611862433136447321/229 ],
>       [ -177237322072221156244/2291210126057694719416842/687,
>           125687079941754647751/229, -328259272238145784528/229 ],
>       [ 73403753002708619935/229, -167059987151745488349/229,
>           -104107907570323308205/458135950274239559405325/229 ] ],
>   [
>       [ -168577244280151879851/2291150997507992512356939/687,
>           119545823245159623469/229, -312220038497649730859/229 ],
>       [ -116760353367458396067/458265735501720229196779/458,
>           41400049650414034161/229, -216250551372975665307/458 ],
>       [ 62298749337598187302/229, -425358152864100770527/687,
>           -44178888490966125184/229115382820501957885815/229 ],
>       [ -51602698069330099209/458352328555032045040059/1374,
>           18296915011903387616/229, -95572782957948415617/458 ] ] ] );;
gap> ForAll(BasisVectors(basis), mat-> IsIntegerOfNumberField(F, mat));
true
gap> ForAll(BasisVectors(MaximalOrderBasis(F)), 
>           mat-> ForAll( Coefficients( basis, mat ), IsInt));
true
gap> ug := UnitGroup(F);
<matrix group with 4 generators>
gap> Size(ug);
infinity

# no more examples
gap> F := ExampleMatField(10);
fail
gap> STOP_TEST( "examples.tst", 10000000);   

[Dauer der Verarbeitung: 0.12 Sekunden, vorverarbeitet 2026-06-04]