Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  GOrbitByKOrbitsPrepare.g   Sprache: unbekannt

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

#
# This is used by
#  GOrbitByKOrbitsSearch35.g
# and
#  GOrbitByKOrbitsVerify.g
# and prepares the groups and representations.
# It uses the files
#   chainworker.g
#   fi23m7.g
# and the MeatAxe ASCII-format matrices
#   fi23.1494.1.t
#   fi23.1494.2.t
#

# The random seed:
Reset(GlobalRandomSource,
45, [ 66318732863959052223361821989103237245480264566285
      24003703826490287592746601803619459468801024032135
      1062932162726461312645610224376190780312412252218659575208
      7068251022894751617399221017517822425078815073030390
      21057594212849192619450896620131135063569414185485910
      627861502139861028891335094904086252860454247700982
      23311399075685846196780518745709347958751130274620
      247708693183364378826007772838546418454767520423483
      750417632357362035426510749075195100648387114539755 ] ]
);

# First fetch the group in the right representation:
LoadPackage("orb");
LoadPackage("cvec");
LoadPackage("atlasrep");

# Read in some stuff:
ReadPackage("orb","examples/fi23m7/chainworker.g");
ReadPackage("orb","examples/fi23m7/fi23m7.g");     # the slps
Print("Reading matrices...\n");
n1 := Filename(DirectoriesPackageLibrary("orb","examples/fi23m7"),
               "fi23.1494.1.t");
n2 := Filename(DirectoriesPackageLibrary("orb","examples/fi23m7"),
               "fi23.1494.2.t");
ggens := [ScanMeatAxeFile(n1),ScanMeatAxeFile(n2)];
Print("Have fi23 matrices over F2 with dim 1494.\n");
ngens := ResultOfStraightLineProgram(s,ggens);
Print("Have generators of normalizer.\n");
sygens := ResultOfStraightLineProgram(syslp,ngens);
l := List(ngens,x->VectorSpace(GF(2),NullspaceMat(x+x^0)));
i := Intersection(l);
v := GeneratorsOfVectorSpace(i)[1];
Print("Have fixed vector.\n");

l := CalcChain(sygens,sychain,[]);
lllll := l;
u2gens := l[8];
u1gens := l[4];
sr := State(GlobalRandomSource);
SetInfoLevel(InfoMeatAxe,1);
re := ChopDirectSum(u2gens,sychain.r.r.r.r.r);
ChopDirectSumAfterBurner(re);
plan := [1..re.len];
plan := Difference(plan,[52,58,145]);
Append(plan,[52,58,145]);
PermutedSummands(re,plan);
dim := Length(ggens[1]);
codim2 := 30;

Print("Doing first basechange...\n");
ggens := List(ggens,x->re.bas*x*re.basi);
ngens := List(ngens,x->re.bas*x*re.basi);
u2gens := List(u2gens,x->re.bas*x*re.basi);
u1gens := List(u1gens,x->re.bas*x*re.basi);
u1gensf2 := List(u1gens,x->x{[dim-codim2+1..dim]}{[dim-codim2+1..dim]});
v := v * re.basi;
Print("Running MeatAxe 2nd time...\n");

re2 := ChopDirectSum(u1gensf2,sychain.r.r.r.r.r.r.r.r.r);
ChopDirectSumAfterBurner(re2);
plan2 := Difference([1..15],re2.representatives);
Append(plan2,re2.representatives);
PermutedSummands(re2,plan2);
bas := u2gens[1]^0;
bas{[dim-codim2+1..dim]}{[dim-codim2+1..dim]} := re2.bas;
codim1 := 10;
basi := bas^-1;
Print("Doing second basechange...\n");
ggens := List(ggens,x->bas*x*basi);
ngens := List(ngens,x->bas*x*basi);
u2gens := List(u2gens,x->bas*x*basi);
u1gens := List(u1gens,x->bas*x*basi);
v := v * basi;

# adjust to necessities for "OrbitBySuborbit":
ggensp := AtlasGenerators([ "Fi23", [ "F23G1-p31671B0.m1", "F23G1-p31671B0.m2" ], 131671 ]).generators;
ngensp := ResultOfStraightLineProgram(s,ggensp);
Print("Finding smaller degree permutation representation...\n");
ii := SmallerDegreePermutationRepresentation(Group(ngensp):cheap);
Print("done.\n");
ngensp := GeneratorsOfGroup(Image(ii));
sygensp := ResultOfStraightLineProgram(syslp,ngensp);
lll := CalcChain(sygensp,sychain,[]);
u1gensp := lll[4];
u2gensp := lll[8];

for i in [1..Length(u1gens)] do
    u1gens[i] := Reversed(List(u1gens[i],Reversed));
    ConvertToMatrixRep(u1gens[i]);
od;
for i in [1..Length(u2gens)] do
    u2gens[i] := Reversed(List(u2gens[i],Reversed));
    ConvertToMatrixRep(u2gens[i]);
od;
for i in [1..Length(ngens)] do
    ngens[i] := Reversed(List(ngens[i],Reversed));
    ConvertToMatrixRep(ngens[i]);
od;
for i in [1..Length(ggens)] do
    ggens[i] := Reversed(List(ggens[i],Reversed));
    ConvertToMatrixRep(ggens[i]);
od;
v := Reversed(v);

cu1gens := List(u1gens,CMat);
cu2gens := List(u2gens,CMat);
cngens := List(ngens,CMat);
cggens := List(ggens,CMat);
v := CVec(v);


[Dauer der Verarbeitung: 0.7 Sekunden, vorverarbeitet 2026-06-18]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik