\chapcontents {\tocstrut }{Copyright Notice}{19}
\chapcontents {1}{About the GAP Reference Manual}{20}
\seccontents {1.1}{Manual Conventions} {20}
\seccontents {1.2}{Credit} {21}
\chapcontents {2}{The Help System}{22}
\seccontents {2.1}{Invoking the Help} {22}
\seccontents {2.2}{Browsing through the Sections} {22}
\seccontents {2.3}{Changing the Help Viewer} {23}
\seccontents {2.4}{The Pager Command} {25}
\chapcontents {3}{Running GAP}{27}
\seccontents {3.1}{Command Line Options} {27}
\seccontents {3.2}{Advanced Features of GAP} {29}
\seccontents {3.3}{Running GAP under MacOS} {31}
\seccontents {3.4}{The .gaprc file} {33}
\seccontents {3.5}{Completion Files} {34}
\seccontents {3.6}{Testing for the System Architecture} {34}
\seccontents {3.7}{The Compiler} {35}
\seccontents {3.8}{Suitability for Compilation} {35}
\seccontents {3.9}{Compiling Library Code} {36}
\seccontents {3.10}{CRC Numbers} {36}
\seccontents {3.11}{Saving and Loading a Workspace} {37}
\chapcontents {4}{The Programming Language}{38}
\seccontents {4.1}{Language Overview} {38}
\seccontents {4.2}{Lexical Structure} {39}
\seccontents {4.3}{Symbols} {39}
\seccontents {4.4}{Whitespaces} {40}
\seccontents {4.5}{Keywords} {40}
\seccontents {4.6}{Identifiers} {41}
\seccontents {4.7}{Expressions} {41}
\seccontents {4.8}{Variables} {42}
\seccontents {4.9}{More About Global Variables} {43}
\seccontents {4.10}{Function Calls} {45}
\seccontents {4.11}{Comparisons} {46}
\seccontents {4.12}{Arithmetic Operators} {47}
\seccontents {4.13}{Statements} {48}
\seccontents {4.14}{Assignments} {49}
\seccontents {4.15}{Procedure Calls} {49}
\seccontents {4.16}{If} {50}
\seccontents {4.17}{While} {51}
\seccontents {4.18}{Repeat} {51}
\seccontents {4.19}{For} {52}
\seccontents {4.20}{Break} {54}
\seccontents {4.21}{Continue} {54}
\seccontents {4.22}{Function} {54}
\seccontents {4.23}{Return} {57}
\seccontents {4.24}{The Syntax in BNF} {58}
\chapcontents {5}{Functions}{60}
\seccontents {5.1}{Information about a function} {60}
\seccontents {5.2}{Calling a function with a list argument that is interpreted as several arguments} {61}
\seccontents {5.3}{Functions that do nothing} {61}
\seccontents {5.4}{Function Types} {62}
\chapcontents {6}{Main Loop and Break Loop}{63}
\seccontents {6.1}{Main Loop} {63}
\seccontents {6.2}{View and Print} {64}
\seccontents {6.3}{Break Loops} {66}
\seccontents {6.4}{Variable Access in a Break Loop} {70}
\seccontents {6.5}{Error} {71}
\seccontents {6.6}{ErrorCount} {71}
\seccontents {6.7}{Leaving GAP} {72}
\seccontents {6.8}{Line Editing} {72}
\seccontents {6.9}{Editing Files} {73}
\seccontents {6.10}{Editor Support} {74}
\seccontents {6.11}{SizeScreen} {74}
\chapcontents {7}{Debugging and Profiling Facilities}{75}
\seccontents {7.1}{Recovery from NoMethodFound-Errors} {75}
\seccontents {7.2}{ApplicableMethod} {76}
\seccontents {7.3}{Tracing Methods} {77}
\seccontents {7.4}{Info Functions} {78}
\seccontents {7.5}{Assertions} {79}
\seccontents {7.6}{Timing} {80}
\seccontents {7.7}{Profiling} {80}
\seccontents {7.8}{Information about the version used} {83}
\seccontents {7.9}{Test Files} {83}
\seccontents {7.10}{Debugging Recursion} {83}
\seccontents {7.11}{Global Memory Information} {85}
\chapcontents {8}{Options Stack}{87}
\chapcontents {9}{Files and Filenames}{89}
\seccontents {9.1}{Portability} {89}
\seccontents {9.2}{GAP Root Directory} {89}
\seccontents {9.3}{Directories} {90}
\seccontents {9.4}{Filename} {91}
\seccontents {9.5}{Special Filenames} {92}
\seccontents {9.6}{File Access} {92}
\seccontents {9.7}{File Operations} {93}
\chapcontents {10}{Streams}{96}
\seccontents {10.1}{Categories for Streams and the StreamsFamily} {96}
\seccontents {10.2}{Operations applicable to All Streams} {97}
\seccontents {10.3}{Operations for Input Streams} {98}
\seccontents {10.4}{Operations for Output Streams} {100}
\seccontents {10.5}{File Streams} {102}
\seccontents {10.6}{User Streams} {103}
\seccontents {10.7}{String Streams} {103}
\seccontents {10.8}{Input-Output Streams} {104}
\seccontents {10.9}{Dummy Streams} {105}
\seccontents {10.10}{Handling of Streams in the Background} {105}
\chapcontents {11}{Processes}{107}
\seccontents {11.1}{Process} {107}
\seccontents {11.2}{Exec} {108}
\chapcontents {12}{Objects and Elements}{109}
\seccontents {12.1}{Objects} {109}
\seccontents {12.2}{Elements as equivalence classes} {109}
\seccontents {12.3}{Sets} {110}
\seccontents {12.4}{Domains} {110}
\seccontents {12.5}{Identical Objects} {110}
\seccontents {12.6}{Mutability and Copyability} {111}
\seccontents {12.7}{Duplication of Objects} {113}
\seccontents {12.8}{Other Operations Applicable to any Object} {114}
\chapcontents {13}{Types of Objects}{115}
\seccontents {13.1}{Families} {115}
\seccontents {13.2}{Filters} {116}
\seccontents {13.3}{Categories} {117}
\seccontents {13.4}{Representation} {119}
\seccontents {13.5}{Attributes} {120}
\seccontents {13.6}{Setter and Tester for Attributes} {121}
\seccontents {13.7}{Properties} {123}
\seccontents {13.8}{Other Filters} {124}
\seccontents {13.9}{Types} {124}
\chapcontents {14}{Integers}{125}
\seccontents {14.1}{Elementary Operations for Integers} {126}
\seccontents {14.2}{Quotients and Remainders} {128}
\seccontents {14.3}{Prime Integers and Factorization} {130}
\seccontents {14.4}{Residue Class Rings} {132}
\chapcontents {15}{Number Theory}{134}
\seccontents {15.1}{Prime Residues} {134}
\seccontents {15.2}{Primitive Roots and Discrete Logarithms} {135}
\seccontents {15.3}{Roots Modulo Integers} {136}
\seccontents {15.4}{Multiplicative Arithmetic Functions} {138}
\seccontents {15.5}{Miscellaneous} {139}
\chapcontents {16}{Rational Numbers}{141}
\seccontents {16.1}{Elementary Operations for Rationals} {141}
\chapcontents {17}{Combinatorics}{143}
\seccontents {17.1}{Combinatorial Numbers} {143}
\seccontents {17.2}{Combinations, Arrangements and Tuples} {145}
\seccontents {17.3}{Fibonacci and Lucas Sequences} {151}
\seccontents {17.4}{Permanent of a Matrix} {152}
\chapcontents {18}{Cyclotomic Numbers}{153}
\seccontents {18.1}{Operations for Cyclotomics} {153}
\seccontents {18.2}{Infinity} {156}
\seccontents {18.3}{Comparisons of Cyclotomics} {157}
\seccontents {18.4}{ATLAS Irrationalities} {157}
\seccontents {18.5}{Galois Conjugacy of Cyclotomics} {160}
\seccontents {18.6}{Internally Represented Cyclotomics} {162}
\chapcontents {19}{Unknowns}{163}
\chapcontents {20}{Booleans}{165}
\seccontents {20.1}{Fail} {165}
\seccontents {20.2}{Comparisons of Booleans} {165}
\seccontents {20.3}{Operations for Booleans} {166}
\chapcontents {21}{Lists}{168}
\seccontents {21.1}{List Categories} {168}
\seccontents {21.2}{Basic Operations for Lists} {170}
\seccontents {21.3}{List Elements} {170}
\seccontents {21.4}{List Assignment} {172}
\seccontents {21.5}{IsBound and Unbind for Lists} {174}
\seccontents {21.6}{Identical Lists} {174}
\seccontents {21.7}{Duplication of Lists} {176}
\seccontents {21.8}{Membership Test for Lists} {177}
\seccontents {21.9}{Enlarging Internally Represented Lists} {177}
\seccontents {21.10}{Comparisons of Lists} {178}
\seccontents {21.11}{Arithmetic for Lists} {178}
\seccontents {21.12}{Filters Controlling the Arithmetic Behaviour of Lists} {179}
\seccontents {21.13}{Additive Arithmetic for Lists} {180}
\seccontents {21.14}{Multiplicative Arithmetic for Lists} {182}
\seccontents {21.15}{Mutability Status and List Arithmetic} {184}
\seccontents {21.16}{Finding Positions in Lists} {185}
\seccontents {21.17}{Properties and Attributes for Lists} {188}
\seccontents {21.18}{Sorting Lists} {189}
\seccontents {21.19}{Sorted Lists and Sets} {191}
\seccontents {21.20}{Operations for Lists} {193}
\seccontents {21.21}{Advanced List Manipulations} {200}
\seccontents {21.22}{Ranges} {201}
\seccontents {21.23}{Enumerators} {203}
\chapcontents {22}{Boolean Lists}{204}
\seccontents {22.1}{Boolean Lists Representing Subsets} {204}
\seccontents {22.2}{Set Operations via Boolean Lists} {205}
\seccontents {22.3}{Function that Modify Boolean Lists} {206}
\seccontents {22.4}{More about Boolean Lists} {207}
\chapcontents {23}{Row Vectors}{208}
\seccontents {23.1}{Operators for Row Vectors} {208}
\seccontents {23.2}{Row Vectors over Finite Fields} {210}
\seccontents {23.3}{Coefficient List Arithmetic} {211}
\seccontents {23.4}{Shifting and Trimming Coefficient Lists} {212}
\seccontents {23.5}{Functions for Coding Theory} {213}
\seccontents {23.6}{Vectors as coefficients of polynomials} {213}
\chapcontents {24}{Matrices}{215}
\seccontents {24.1}{Categories of Matrices} {215}
\seccontents {24.2}{Operators for Matrices} {216}
\seccontents {24.3}{Properties and Attributes of Matrices} {218}
\seccontents {24.4}{Matrix Constructions} {220}
\seccontents {24.5}{Random Matrices} {222}
\seccontents {24.6}{Matrices Representing Linear Equations and the Gaussian Algorithm} {222}
\seccontents {24.7}{Eigenvectors and eigenvalues} {223}
\seccontents {24.8}{Elementary Divisors} {224}
\seccontents {24.9}{Echelonized Matrices} {224}
\seccontents {24.10}{Matrices as Basis of a Row Space} {226}
\seccontents {24.11}{Triangular Matrices} {227}
\seccontents {24.12}{Matrices as Linear Mappings} {227}
\seccontents {24.13}{Matrices over Finite Fields} {228}
\seccontents {24.14}{Special Multiplication Algorithms for Matrices over GF(2)} {231}
\seccontents {24.15}{Block Matrices} {232}
\chapcontents {25}{Integral matrices and lattices}{233}
\seccontents {25.1}{Linear equations over the integers and Integral Matrices} {233}
\seccontents {25.2}{Normal Forms over the Integers} {234}
\seccontents {25.3}{Determinant of an integer matrix} {237}
\seccontents {25.4}{Decompositions} {237}
\seccontents {25.5}{Lattice Reduction} {238}
\seccontents {25.6}{Orthogonal Embeddings} {240}
\chapcontents {26}{Strings and Characters}{242}
\seccontents {26.1}{Special Characters} {244}
\seccontents {26.2}{Internally Represented Strings} {245}
\seccontents {26.3}{Recognizing Characters} {246}
\seccontents {26.4}{Comparisons of Strings} {246}
\seccontents {26.5}{Operations to Produce or Manipulate Strings} {247}
\seccontents {26.6}{Character Conversion} {249}
\seccontents {26.7}{Operations to Evaluate Strings} {250}
\seccontents {26.8}{Calendar Arithmetic} {251}
\chapcontents {27}{Records}{254}
\seccontents {27.1}{Accessing Record Elements} {255}
\seccontents {27.2}{Record Assignment} {255}
\seccontents {27.3}{Identical Records} {256}
\seccontents {27.4}{Comparisons of Records} {257}
\seccontents {27.5}{IsBound and Unbind for Records} {258}
\seccontents {27.6}{Record Access Operations} {259}
\chapcontents {28}{Collections}{260}
\seccontents {28.1}{Collection Families} {260}
\seccontents {28.2}{Lists and Collections} {261}
\seccontents {28.3}{Attributes and Properties for Collections} {265}
\seccontents {28.4}{Operations for Collections} {267}
\seccontents {28.5}{Membership Test for Collections} {269}
\seccontents {28.6}{Random Elements} {269}
\seccontents {28.7}{Iterators} {270}
\chapcontents {29}{Orderings}{273}
\seccontents {29.1}{Building new orderings} {273}
\seccontents {29.2}{Properties and basic functionality} {274}
\seccontents {29.3}{Orderings on families of associative words} {275}
\chapcontents {30}{Domains and their Elements}{279}
\seccontents {30.1}{Operational Structure of Domains} {279}
\seccontents {30.2}{Equality and Comparison of Domains} {280}
\seccontents {30.3}{Constructing Domains} {280}
\seccontents {30.4}{Changing the Structure} {281}
\seccontents {30.5}{Changing the Representation} {282}
\seccontents {30.6}{Domain Categories} {282}
\seccontents {30.7}{Parents} {283}
\seccontents {30.8}{Constructing Subdomains} {284}
\seccontents {30.9}{Operations for Domains} {284}
\seccontents {30.10}{Attributes and Properties of Elements} {285}
\seccontents {30.11}{Comparison Operations for Elements} {288}
\seccontents {30.12}{Arithmetic Operations for Elements} {289}
\seccontents {30.13}{Relations Between Domains} {290}
\seccontents {30.14}{Useful Categories of Elements} {292}
\seccontents {30.15}{Useful Categories for all Elements of a Family} {294}
\chapcontents {31}{Mappings}{296}
\seccontents {31.1}{Creating Mappings} {297}
\seccontents {31.2}{Properties and Attributes of (General) Mappings} {298}
\seccontents {31.3}{Images under Mappings} {299}
\seccontents {31.4}{Preimages under Mappings} {300}
\seccontents {31.5}{Arithmetic Operations for General Mappings} {302}
\seccontents {31.6}{Mappings which are Compatible with Algebraic Structures} {302}
\seccontents {31.7}{Magma Homomorphisms} {302}
\seccontents {31.8}{Mappings that Respect Multiplication} {303}
\seccontents {31.9}{Mappings that Respect Addition} {304}
\seccontents {31.10}{Linear Mappings} {304}
\seccontents {31.11}{Ring Homomorphisms} {305}
\seccontents {31.12}{General Mappings} {305}
\seccontents {31.13}{Technical Matters Concerning General Mappings} {305}
\chapcontents {32}{Relations}{307}
\seccontents {32.1}{General Binary Relations} {307}
\seccontents {32.2}{Properties and Attributes of Binary Relations} {307}
\seccontents {32.3}{Binary Relations on Points} {309}
\seccontents {32.4}{Closure Operations and Other Constructors} {309}
\seccontents {32.5}{Equivalence Relations} {310}
\seccontents {32.6}{Attributes of and Operations on Equivalence Relations} {310}
\seccontents {32.7}{Equivalence Classes} {311}
\chapcontents {33}{Magmas}{312}
\seccontents {33.1}{Magma Categories} {312}
\seccontents {33.2}{Magma Generation} {313}
\seccontents {33.3}{Magmas Defined by Multiplication Tables} {314}
\seccontents {33.4}{Attributes and Properties for Magmas} {315}
\chapcontents {34}{Words}{318}
\seccontents {34.1}{Categories of Words and Nonassociative Words} {318}
\seccontents {34.2}{Comparison of Words} {320}
\seccontents {34.3}{Operations for Words} {320}
\seccontents {34.4}{Free Magmas} {321}
\seccontents {34.5}{External Representation for Nonassociative Words} {322}
\chapcontents {35}{Associative Words}{323}
\seccontents {35.1}{Categories of Associative Words} {323}
\seccontents {35.2}{Free Groups, Monoids and Semigroups} {324}
\seccontents {35.3}{Comparison of Associative Words} {326}
\seccontents {35.4}{Operations for Associative Words} {327}
\seccontents {35.5}{Operations for Associative Words by their Syllables} {328}
\seccontents {35.6}{Representations for Associative Words} {329}
\seccontents {35.7}{The External Representation for Associative Words} {331}
\seccontents {35.8}{Straight Line Programs} {331}
\seccontents {35.9}{Straight Line Program Elements} {335}
\chapcontents {36}{Rewriting Systems}{336}
\seccontents {36.1}{Operations on rewriting systems} {336}
\seccontents {36.2}{Operations on elements of the algebra} {337}
\seccontents {36.3}{Properties of rewriting systems} {338}
\seccontents {36.4}{Rewriting in Groups and Monoids} {338}
\seccontents {36.5}{Developing rewriting systems} {339}
\chapcontents {37}{Groups}{341}
\seccontents {37.1}{Group Elements} {341}
\seccontents {37.2}{Creating Groups} {341}
\seccontents {37.3}{Subgroups} {343}
\seccontents {37.4}{Closures of (Sub)groups} {345}
\seccontents {37.5}{Expressing Group Elements as Words in Generators} {345}
\seccontents {37.6}{Cosets} {346}
\seccontents {37.7}{Transversals} {347}
\seccontents {37.8}{Double Cosets} {348}
\seccontents {37.9}{Conjugacy Classes} {349}
\seccontents {37.10}{Normal Structure} {351}
\seccontents {37.11}{Specific and Parametrized Subgroups} {352}
\seccontents {37.12}{Sylow Subgroups and Hall Subgroups} {354}
\seccontents {37.13}{Subgroups characterized by prime powers} {356}
\seccontents {37.14}{Group Properties} {356}
\seccontents {37.15}{Numerical Group Attributes} {359}
\seccontents {37.16}{Subgroup Series} {359}
\seccontents {37.17}{Factor Groups} {362}
\seccontents {37.18}{Sets of Subgroups} {363}
\seccontents {37.19}{Subgroup Lattice} {365}
\seccontents {37.20}{Specific Methods for Subgroup Lattice Computations} {367}
\seccontents {37.21}{Special Generating Sets} {370}
\seccontents {37.22}{1-Cohomology} {370}
\seccontents {37.23}{Schur Covers and Multipliers} {373}
\seccontents {37.24}{Tests for the Availability of Methods} {373}
\chapcontents {38}{Group Homomorphisms}{375}
\seccontents {38.1}{Creating Group Homomorphisms} {375}
\seccontents {38.2}{Operations for Group Homomorphisms} {377}
\seccontents {38.3}{Efficiency of Homomorphisms} {378}
\seccontents {38.4}{Homomorphism for very large groups} {379}
\seccontents {38.5}{Nice Monomorphisms} {380}
\seccontents {38.6}{Group Automorphisms} {380}
\seccontents {38.7}{Groups of Automorphisms} {382}
\seccontents {38.8}{Calculating with Group Automorphisms} {383}
\seccontents {38.9}{Searching for Homomorphisms} {384}
\seccontents {38.10}{Representations for Group Homomorphisms} {386}
\chapcontents {39}{Group Actions}{387}
\seccontents {39.1}{About Group Actions} {387}
\seccontents {39.2}{Basic Actions} {388}
\seccontents {39.3}{Orbits} {390}
\seccontents {39.4}{Stabilizers} {392}
\seccontents {39.5}{Elements with Prescribed Images} {393}
\seccontents {39.6}{The Permutation Image of an Action} {393}
\seccontents {39.7}{Action of a group on itself} {395}
\seccontents {39.8}{Permutations Induced by Elements and Cycles} {396}
\seccontents {39.9}{Tests for Actions} {397}
\seccontents {39.10}{Block Systems} {398}
\seccontents {39.11}{External Sets} {399}
\chapcontents {40}{Permutations}{402}
\seccontents {40.1}{Comparison of Permutations} {403}
\seccontents {40.2}{Moved Points of Permutations} {403}
\seccontents {40.3}{Sign and Cycle Structure} {404}
\seccontents {40.4}{Creating Permutations} {405}
\chapcontents {41}{Permutation Groups}{406}
\seccontents {41.1}{The Natural Action} {406}
\seccontents {41.2}{Computing a Permutation Representation} {407}
\seccontents {41.3}{Symmetric and Alternating Groups} {407}
\seccontents {41.4}{Primitive Groups} {408}
\seccontents {41.5}{Stabilizer Chains} {409}
\seccontents {41.6}{Randomized Methods for Permutation Groups} {410}
\seccontents {41.7}{Construction of Stabilizer Chains} {412}
\seccontents {41.8}{Stabilizer Chain Records} {413}
\seccontents {41.9}{Operations for Stabilizer Chains} {414}
\seccontents {41.10}{Low Level Routines to Modify and Create Stabilizer Chains} {416}
\seccontents {41.11}{Backtrack} {417}
\seccontents {41.12}{Working with large degree permutation groups} {418}
\chapcontents {42}{Matrix Groups}{420}
\seccontents {42.1}{Attributes and Properties for Matrix Groups} {420}
\seccontents {42.2}{Actions of Matrix Groups} {421}
\seccontents {42.3}{GL and SL} {421}
\seccontents {42.4}{Invariant Forms} {422}
\seccontents {42.5}{Matrix Groups in Characteristic 0} {423}
\seccontents {42.6}{Acting OnRight and OnLeft} {425}
\chapcontents {43}{Polycyclic Groups}{426}
\seccontents {43.1}{Polycyclic Generating Systems} {426}
\seccontents {43.2}{Computing a Pcgs} {427}
\seccontents {43.3}{Defining a Pcgs Yourself} {427}
\seccontents {43.4}{Elementary Operations for a Pcgs} {428}
\seccontents {43.5}{Elementary Operations for a Pcgs and an Element} {429}
\seccontents {43.6}{Exponents of Special Products} {430}
\seccontents {43.7}{Subgroups of Polycyclic Groups - Induced Pcgs} {431}
\seccontents {43.8}{Subgroups of Polycyclic Groups - Canonical Pcgs} {432}
\seccontents {43.9}{Factor Groups of Polycyclic Groups - Modulo Pcgs} {433}
\seccontents {43.10}{Factor Groups of Polycyclic Groups in their Own Representation} {434}
\seccontents {43.11}{Pcgs and Normal Series} {435}
\seccontents {43.12}{Sum and Intersection of Pcgs} {437}
\seccontents {43.13}{Special Pcgs} {438}
\seccontents {43.14}{Action on Subfactors Defined by a Pcgs} {440}
\seccontents {43.15}{Orbit Stabilizer Methods for Polycyclic Groups} {441}
\seccontents {43.16}{Operations which have Special Methods for Groups with Pcgs} {441}
\seccontents {43.17}{Conjugacy Classes in Solvable Groups} {441}
\chapcontents {44}{Pc Groups}{443}
\seccontents {44.1}{The family pcgs} {444}
\seccontents {44.2}{Elements of pc groups} {444}
\seccontents {44.3}{Pc groups versus fp groups} {445}
\seccontents {44.4}{Constructing Pc Groups} {445}
\seccontents {44.5}{Computing Pc Groups} {447}
\seccontents {44.6}{Saving a Pc Group} {448}
\seccontents {44.7}{Operations for Pc Groups} {448}
\seccontents {44.8}{2-Cohomology and Extensions} {448}
\seccontents {44.9}{Coding a Pc Presentation} {451}
\seccontents {44.10}{Random Isomorphism Testing} {452}
\chapcontents {45}{Finitely Presented Groups}{453}
\seccontents {45.1}{Creating Finitely Presented Groups} {454}
\seccontents {45.2}{Comparison of Elements of Finitely Presented Groups} {455}
\seccontents {45.3}{Preimages in the Free Group} {455}
\seccontents {45.4}{Operations for Finitely Presented Groups} {456}
\seccontents {45.5}{Coset Tables and Coset Enumeration} {457}
\seccontents {45.6}{Standardization of coset tables} {460}
\seccontents {45.7}{Coset tables for subgroups in the whole group} {461}
\seccontents {45.8}{Augmented Coset Tables and Rewriting} {461}
\seccontents {45.9}{Low Index Subgroups} {462}
\seccontents {45.10}{Converting Groups to Finitely Presented Groups} {463}
\seccontents {45.11}{New Presentations and Presentations for Subgroups} {465}
\seccontents {45.12}{Preimages under Homomorphisms from an FpGroup} {466}
\seccontents {45.13}{Quotient Methods} {467}
\seccontents {45.14}{Abelian Invariants for Subgroups} {468}
\seccontents {45.15}{Testing Finiteness of Finitely Presented Groups} {469}
\chapcontents {46}{Presentations and Tietze Transformations}{471}
\seccontents {46.1}{Creating Presentations} {471}
\seccontents {46.2}{SimplifiedFpGroup} {473}
\seccontents {46.3}{Subgroup Presentations} {474}
\seccontents {46.4}{Relators in a Presentation} {477}
\seccontents {46.5}{Printing Presentations} {477}
\seccontents {46.6}{Changing Presentations} {479}
\seccontents {46.7}{Tietze Transformations} {479}
\seccontents {46.8}{Elementary Tietze Transformations} {482}
\seccontents {46.9}{Tietze Transformations that introduce new Generators} {484}
\seccontents {46.10}{Tracing generator images through Tietze transformations} {487}
\seccontents {46.11}{DecodeTree} {489}
\seccontents {46.12}{Tietze Options} {492}
\chapcontents {47}{Group Products}{494}
\seccontents {47.1}{Direct Products} {494}
\seccontents {47.2}{Semidirect Products} {495}
\seccontents {47.3}{Subdirect Products} {496}
\seccontents {47.4}{Wreath Products} {497}
\seccontents {47.5}{Embeddings and Projections for Group Products} {498}
\chapcontents {48}{Group Libraries}{499}
\seccontents {48.1}{Basic Groups} {499}
\seccontents {48.2}{Classical Groups} {501}
\seccontents {48.3}{Conjugacy Classes in Classical Groups} {505}
\seccontents {48.4}{Constructors for Basic Groups} {505}
\seccontents {48.5}{Selection Functions} {506}
\seccontents {48.6}{Transitive Permutation Groups} {507}
\seccontents {48.7}{Small Groups} {508}
\seccontents {48.8}{Finite Perfect Groups} {511}
\seccontents {48.9}{Primitive Permutation Groups} {515}
\seccontents {48.10}{Index numbers of primitive groups} {517}
\seccontents {48.11}{Irreducible Solvable Matrix Groups} {518}
\seccontents {48.12}{Irreducible Maximal Finite Integral Matrix Groups} {519}
\chapcontents {49}{Semigroups}{527}
\seccontents {49.1}{Making transformation semigroups} {529}
\seccontents {49.2}{Ideals of semigroups} {529}
\seccontents {49.3}{Congruences for semigroups} {530}
\seccontents {49.4}{Quotients} {530}
\seccontents {49.5}{Green's Relations} {530}
\seccontents {49.6}{Rees Matrix Semigroups} {532}
\chapcontents {50}{Monoids}{534}
\chapcontents {51}{Finitely Presented Semigroups and Monoids}{536}
\seccontents {51.1}{Creating Finitely Presented Semigroups} {538}
\seccontents {51.2}{Comparison of Elements of Finitely Presented Semigroups} {539}
\seccontents {51.3}{Preimages in the Free Semigroup} {539}
\seccontents {51.4}{Finitely presented monoids} {540}
\seccontents {51.5}{Rewriting Systems and the Knuth-Bendix Procedure} {541}
\seccontents {51.6}{Todd-Coxeter Procedure} {542}
\chapcontents {52}{Transformations}{543}
\chapcontents {53}{Additive Magmas (preliminary)}{546}
\seccontents {53.1}{(Near-)Additive Magma Categories} {546}
\seccontents {53.2}{(Near-)Additive Magma Generation} {547}
\seccontents {53.3}{Attributes and Properties for (Near-)Additive Magmas} {548}
\seccontents {53.4}{Operations for (Near-)Additive Magmas} {549}
\chapcontents {54}{Rings}{550}
\seccontents {54.1}{Generating Rings} {550}
\seccontents {54.2}{Ideals in Rings} {552}
\seccontents {54.3}{Rings With One} {554}
\seccontents {54.4}{Properties of Rings} {555}
\seccontents {54.5}{Units and Factorizations} {556}
\seccontents {54.6}{Euclidean Rings} {558}
\seccontents {54.7}{Gcd and Lcm} {559}
\chapcontents {55}{Modules (preliminary)}{562}
\seccontents {55.1}{Generating modules} {562}
\seccontents {55.2}{Submodules} {563}
\seccontents {55.3}{Free Modules} {564}
\chapcontents {56}{Fields and Division Rings}{566}
\seccontents {56.1}{Generating Fields} {566}
\seccontents {56.2}{Subfields of Fields} {568}
\seccontents {56.3}{Galois Action} {568}
\chapcontents {57}{Finite Fields}{572}
\seccontents {57.1}{Finite Field Elements} {572}
\seccontents {57.2}{Operations for Finite Field Elements} {573}
\seccontents {57.3}{Creating Finite Fields} {575}
\seccontents {57.4}{FrobeniusAutomorphism} {576}
\seccontents {57.5}{Conway Polynomials} {576}
\chapcontents {58}{Abelian Number Fields}{577}
\seccontents {58.1}{Construction of Abelian Number Fields} {577}
\seccontents {58.2}{Operations for Abelian Number Fields} {578}
\seccontents {58.3}{Integral Bases of Abelian Number Fields} {580}
\seccontents {58.4}{Galois Groups of Abelian Number Fields} {582}
\seccontents {58.5}{Gaussians} {583}
\chapcontents {59}{Vector Spaces}{584}
\seccontents {59.1}{Constructing Vector Spaces} {584}
\seccontents {59.2}{Operations and Attributes for Vector Spaces} {585}
\seccontents {59.3}{Domains of Subspaces of Vector Spaces} {586}
\seccontents {59.4}{Bases of Vector Spaces} {586}
\seccontents {59.5}{Operations for Vector Space Bases} {588}
\seccontents {59.6}{Operations for Special Kinds of Bases} {590}
\seccontents {59.7}{Mutable Bases} {591}
\seccontents {59.8}{Row and Matrix Spaces} {592}
\seccontents {59.9}{Vector Space Homomorphisms} {595}
\seccontents {59.10}{Vector Spaces Handled By Nice Bases} {597}
\seccontents {59.11}{How to Implement New Kinds of Vector Spaces} {598}
\chapcontents {60}{Algebras}{600}
\seccontents {60.1}{Constructing Algebras by Generators} {600}
\seccontents {60.2}{Constructing Algebras as Free Algebras} {601}
\seccontents {60.3}{Constructing Algebras by Structure Constants} {602}
\seccontents {60.4}{Some Special Algebras} {604}
\seccontents {60.5}{Subalgebras} {605}
\seccontents {60.6}{Ideals} {606}
\seccontents {60.7}{Categories and Properties of Algebras} {607}
\seccontents {60.8}{Attributes and Operations for Algebras} {608}
\seccontents {60.9}{Homomorphisms of Algebras} {614}
\seccontents {60.10}{Representations of Algebras} {617}
\chapcontents {61}{Lie Algebras}{625}
\seccontents {61.1}{Lie objects} {625}
\seccontents {61.2}{Constructing Lie algebras} {626}
\seccontents {61.3}{Distinguished Subalgebras} {628}
\seccontents {61.4}{Series of Ideals} {629}
\seccontents {61.5}{Properties of a Lie Algebra} {630}
\seccontents {61.6}{Direct Sum Decompositions} {631}
\seccontents {61.7}{Semisimple Lie Algebras and Root Systems} {631}
\seccontents {61.8}{Restricted Lie algebras} {635}
\seccontents {61.9}{The Adjoint Representation} {637}
\seccontents {61.10}{Universal Enveloping Algebras} {638}
\seccontents {61.11}{Finitely Presented Lie Algebras} {638}
\seccontents {61.12}{Modules over Lie Algebras and Their Cohomology} {640}
\seccontents {61.13}{Modules over Semisimple Lie Algebras} {642}
\seccontents {61.14}{Tensor Products and Exterior and Symmetric Powers} {645}
\chapcontents {62}{Finitely Presented Algebras}{647}
\chapcontents {63}{Magma Rings}{648}
\seccontents {63.1}{Free Magma Rings} {649}
\seccontents {63.2}{Elements of Free Magma Rings} {650}
\seccontents {63.3}{Natural Embeddings related to Magma Rings} {650}
\seccontents {63.4}{Magma Rings modulo Relations} {651}
\seccontents {63.5}{Magma Rings modulo the Span of a Zero Element} {652}
\seccontents {63.6}{Technical Details about the Implementation of Magma Rings} {652}
\chapcontents {64}{Polynomials and Rational Functions}{654}
\seccontents {64.1}{Indeterminates} {654}
\seccontents {64.2}{Operations for Rational Functions} {656}
\seccontents {64.3}{Comparison of Rational Functions} {656}
\seccontents {64.4}{Properties and Attributes of Rational Functions} {657}
\seccontents {64.5}{Univariate Polynomials} {659}
\seccontents {64.6}{Polynomials as Univariate Polynomials in one Indeterminate} {660}
\seccontents {64.7}{Multivariate Polynomials} {661}
\seccontents {64.8}{Minimal Polynomials} {662}
\seccontents {64.9}{Cyclotomic Polynomials} {662}
\seccontents {64.10}{Polynomial Factorization} {662}
\seccontents {64.11}{Polynomials over the Rationals} {663}
\seccontents {64.12}{Laurent Polynomials} {664}
\seccontents {64.13}{Univariate Rational Functions} {665}
\seccontents {64.14}{Polynomial Rings} {665}
\seccontents {64.15}{Univariate Polynomial Rings} {667}
\seccontents {64.16}{Monomial Orderings} {668}
\seccontents {64.17}{Groebner Bases} {671}
\seccontents {64.18}{Rational Function Families} {672}
\seccontents {64.19}{The Representations of Rational Functions} {673}
\seccontents {64.20}{The Defining Attributes of Rational Functions} {673}
\seccontents {64.21}{Creation of Rational Functions} {674}
\seccontents {64.22}{Arithmetic for External Representations of Polynomials} {675}
\seccontents {64.23}{Cancellation Tests for Rational Functions} {676}
\chapcontents {65}{Algebraic extensions of fields}{677}
\seccontents {65.1}{Creation of Algebraic Extensions} {677}
\seccontents {65.2}{Elements in Algebraic Extensions} {677}
\chapcontents {66}{p-adic Numbers (preliminary)}{679}
\seccontents {66.1}{Pure p-adic Numbers} {679}
\seccontents {66.2}{Extensions of the p-adic Numbers} {680}
\chapcontents {67}{The MeatAxe}{682}
\seccontents {67.1}{MeatAxe Modules} {682}
\seccontents {67.2}{Module Constructions} {682}
\seccontents {67.3}{Selecting a Different MeatAxe} {683}
\seccontents {67.4}{Accessing a Module} {683}
\seccontents {67.5}{Irreducibility Tests} {683}
\seccontents {67.6}{Finding Submodules} {683}
\seccontents {67.7}{Induced Actions} {684}
\seccontents {67.8}{Module Homomorphisms} {685}
\seccontents {67.9}{Invariant Forms} {685}
\seccontents {67.10}{The Smash MeatAxe} {686}
\seccontents {67.11}{Smash MeatAxe Flags} {687}
\chapcontents {68}{Tables of Marks}{688}
\seccontents {68.1}{More about Tables of Marks} {688}
\seccontents {68.2}{Table of Marks Objects in GAP} {689}
\seccontents {68.3}{Constructing Tables of Marks} {689}
\seccontents {68.4}{Printing Tables of Marks} {691}
\seccontents {68.5}{Sorting Tables of Marks} {692}
\seccontents {68.6}{Technical Details about Tables of Marks} {693}
\seccontents {68.7}{Attributes of Tables of Marks} {693}
\seccontents {68.8}{Properties of Tables of Marks} {697}
\seccontents {68.9}{Other Operations for Tables of Marks} {697}
\seccontents {68.10}{Standard Generators of Groups} {700}
\seccontents {68.11}{Accessing Subgroups via Tables of Marks} {703}
\seccontents {68.12}{The Interface between Tables of Marks and Character Tables} {706}
\seccontents {68.13}{Generic Construction of Tables of Marks} {707}
\seccontents {68.14}{The Library of Tables of Marks} {708}
\chapcontents {69}{Character Tables}{709}
\seccontents {69.1}{Some Remarks about Character Theory in GAP} {709}
\seccontents {69.2}{History of Character Theory Stuff in GAP} {710}
\seccontents {69.3}{Creating Character Tables} {711}
\seccontents {69.4}{Character Table Categories} {714}
\seccontents {69.5}{Conventions for Character Tables} {715}
\seccontents {69.6}{The Interface between Character Tables and Groups} {715}
\seccontents {69.7}{Operators for Character Tables} {718}
\seccontents {69.8}{Attributes and Properties of Character Tables} {718}
\seccontents {69.9}{Operations Concerning Blocks} {725}
\seccontents {69.10}{Other Operations for Character Tables} {728}
\seccontents {69.11}{Printing Character Tables} {731}
\seccontents {69.12}{Computing the Irreducible Characters of a Group} {734}
\seccontents {69.13}{Representations given by modules} {736}
\seccontents {69.14}{The Dixon-Schneider Algorithm} {737}
\seccontents {69.15}{Advanced Methods for Dixon-Schneider Calculations} {737}
\seccontents {69.16}{Components of a Dixon Record} {738}
\seccontents {69.17}{An Example of Advanced Dixon-Schneider Calculations} {739}
\seccontents {69.18}{Constructing Character Tables from Others} {740}
\seccontents {69.19}{Sorted Character Tables} {743}
\seccontents {69.20}{Automorphisms and Equivalence of Character Tables} {746}
\seccontents {69.21}{Storing Normal Subgroup Information} {748}
\chapcontents {70}{Class Functions}{750}
\seccontents {70.1}{Why Class Functions?} {750}
\seccontents {70.2}{Basic Operations for Class Functions} {752}
\seccontents {70.3}{Comparison of Class Functions} {753}
\seccontents {70.4}{Arithmetic Operations for Class Functions} {754}
\seccontents {70.5}{Printing Class Functions} {756}
\seccontents {70.6}{Creating Class Functions from Values Lists} {757}
\seccontents {70.7}{Creating Class Functions using Groups} {758}
\seccontents {70.8}{Operations for Class Functions} {759}
\seccontents {70.9}{Restricted and Induced Class Functions} {763}
\seccontents {70.10}{Reducing Virtual Characters} {765}
\seccontents {70.11}{Symmetrizations of Class Functions} {771}
\seccontents {70.12}{Molien Series} {773}
\seccontents {70.13}{Possible Permutation Characters} {775}
\seccontents {70.14}{Computing Possible Permutation Characters} {778}
\seccontents {70.15}{Operations for Brauer Characters} {782}
\seccontents {70.16}{Domains Generated by Class Functions} {783}
\chapcontents {71}{Maps Concerning Character Tables}{784}
\seccontents {71.1}{Power Maps} {784}
\seccontents {71.2}{Class Fusions between Character Tables} {788}
\seccontents {71.3}{Parametrized Maps} {793}
\seccontents {71.4}{Subroutines for the Construction of Power Maps} {801}
\seccontents {71.5}{Subroutines for the Construction of Class Fusions} {803}
\chapcontents {72}{Monomiality Questions}{806}
\seccontents {72.1}{Character Degrees and Derived Length} {807}
\seccontents {72.2}{Primitivity of Characters} {807}
\seccontents {72.3}{Testing Monomiality} {809}
\seccontents {72.4}{Minimal Nonmonomial Groups} {812}
\chapcontents {73}{Installing GAP}{813}
\seccontents {73.1}{Installation Overview} {813}
\seccontents {73.2}{Get the Archives} {814}
\seccontents {73.3}{Unpacking} {814}
\seccontents {73.4}{Compilation} {815}
\seccontents {73.5}{Test of the installation} {816}
\seccontents {73.6}{Packages} {817}
\seccontents {73.7}{Finish Installation and Cleanup} {817}
\seccontents {73.8}{The Documentation} {818}
\seccontents {73.9}{If Things Go Wrong} {819}
\seccontents {73.10}{Known Problems of the Configure Process} {820}
\seccontents {73.11}{Problems on Particular Systems} {821}
\seccontents {73.12}{Optimization and Compiler Options} {821}
\seccontents {73.13}{Porting GAP} {822}
\seccontents {73.14}{GAP for Macintosh OS X} {823}
\seccontents {73.15}{GAP for MacOS} {824}
\seccontents {73.16}{Installation of GAP for MacOS} {824}
\seccontents {73.17}{Expert Windows installation} {826}
\seccontents {73.18}{Copyrights} {827}
\chapcontents {74}{GAP Packages}{828}
\seccontents {74.1}{Installing a GAP Package} {828}
\seccontents {74.2}{Loading a GAP Package} {828}
\seccontents {74.3}{Functions for GAP Packages} {829}
\chapcontents {75}{Replaced and Removed Command Names}{832}
\seccontents {75.1}{Group Actions - Name Changes} {832}
\seccontents {75.2}{Package Interface - Obsolete Functions and Name Changes} {832}
\seccontents {75.3}{Normal Forms of Integer Matrices - Name Changes} {833}
\seccontents {75.4}{Miscellaneous Name Changes or Removed Names} {833}
\chapcontents {}{Bibliography}{835}
\chapcontents {}{Index}{842}
