Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346############################################################################# #### ## #W doL28.g ACE Research Example Greg Gamble ## ## Provides some easy applications of the pgrelfind.g functions, using the ## perfect simple group L_2(8). ## #Y Copyright (C) 2000 Centre for Discrete Mathematics and Computing #Y Department of Computer Science & Electrical Eng. #Y University of Queensland, Australia. ## ACEResExample := rec(filename := "doL28.g", print := false); if IsBound(IsACEResExampleOK) and IsACEResExampleOK() then Print("gap> Print(\"L2_8:\\n\", L2_8, \"\\n\");\n"); Print("L2_8:\n", L2_8, "\n"); L28 := ACE_PRINT_AND_EVAL( "L28", Concatenation( "TranslatePresentation([a,b], L2_8.rels, L2_8.sgens,\n", " ", " [a^3*b, a^2*b])" ) ); ACEResExample.options := [ "ACEworkspace := 2 * 10^3", "head := x*y*x*y*x*y^-1*x*y*x*y", "Ntails := 256", "maxTailLength := 6", "minMiddleLength := 4", "maxMiddleLength := 20", "Nrandom := 1000", "Nrandom := len -> 1000 * (LogInt(len + 1, 2) + 1)"]; ACEResExample.option := ValueOption("optex"); if ACEResExample.option = fail then ACEResExample.option := []; elif IsPosInt(ACEResExample.option) then ACEResExample.option := [ ACEResExample.option ]; fi; if IsList(ACEResExample.option) and IsSubset([1 .. Length(ACEResExample.options)], ACEResExample.option) then L28n := ACE_PRINT_AND_EVAL( "L28n", Concatenation( "PGRelFind(L28.fgens, L28.rels, L28.sgens\n", " : ", JoinStringsWithSeparator( List(ACEResExample.option, i -> ACEResExample.options[i]), ",\n "), ")" ) ); Print("\nWould you like to try another option example?\n"); else Print("Error, illegal value for option `optex'.\n", "Usage: 'ACEReadResearchExample(\"doL28.g\" [: optex := <n>]);'\n", " 'ACEReadResearchExample(\"doL28.g\" [: optex := <list>);'\n", "where <n> is an integer, or <list> is a list of integers,\n", "in the range [1 .. ", Length(ACEResExample.options), "]\n"); fi; Print("\nThe table below indicates the equivalent action of ", "'optex := <n>':\n\n", " Value of <n> Equivalent to\n", " ------------ -------------\n"); ACEResExample.i := 1; repeat Print(" ", ACEResExample.i, " '", ACEResExample.options[ACEResExample.i], "'\n"); ACEResExample.i := ACEResExample.i + 1; until ACEResExample.i > Length(ACEResExample.options); Print("\nNote: `optex' may also be a list containing a subset ", "of the above <n>.\n"); elif ACEResExample.print then ## Begin Print("L2_8:\n", L2_8, "\n"); L28 := TranslatePresentation([a,b], L2_8.rels, L2_8.sgens, [a^3*b, a^2*b]); # Using option "ACEworkspace" (default is 10^6) L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : ACEworkspace := 2 * 10^3); # Using option "head" (default is x*y*x*y*x*y^-1) L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : head := x*y*x*y*x*y^-1*x*y*x*y); # Using option "Ntails" ... Ntails should be <= 2048 (default) L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : Ntails := 256); # Using option "maxTailLength" (overrides Ntails if used) L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : maxTailLength := 6); # Using option "minMiddleLength" (default is 0) L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : minMiddleLength := 4); # Using option "maxMiddleLength" (default is 30) L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : maxMiddleLength := 20); # Using option "Nrandom" (default is 0 = sequential and exhaustive) L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : Nrandom := 1000); # Using option "Nrandom" again ... but this time Nrandom is a function # of middle length L28n := PGRelFind(L28.fgens, L28.rels, L28.sgens : Nrandom := len -> 1000 * (LogInt(len + 1, 2) + 1)); ## End else Print("Error, ACEReadResearchExample: functions and variables undefined.\n", "Please type: 'ACEReadResearchExample();'\n", "and try again.\n"); fi; #E doL28.g . . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here