# Databases of Groups

- [Introduction](introduction.md)

- [Database of Simple Groups](simgps-database.md)

  - [`SimpleGroup(N): RngIntElt → Grp`](simgps-database.md#function-simplegroup-rngintelt)

  - [`SimpleGroup(S): MonStgElt → Grp`](simgps-database.md#function-simplegroup-monstgelt)

  - [`SimpleGroup(T): Tup → Grp`](simgps-database.md#function-simplegroup-tup)

  - [`SimpleGroupOfOrder(M): RngIntElt → Grp`](simgps-database.md#function-simplegroupoforder-rngintelt)

  - [`SimpleGroup(F): RngIntEltFac → Grp`](simgps-database.md#function-simplegroup-rnginteltfac)

  - [`NumberOfSimpleGroups() → RngIntElt`](simgps-database.md#function-numberofsimplegroups)

  - [`SimpleGroupName(N): RngIntElt → MonStgElt`](simgps-database.md#function-simplegroupname-rngintelt)

  - [`SimpleGroupNameToNumber(S): MonStgElt → RngIntElt`](simgps-database.md#function-simplegroupnametonumber-monstgelt)

  - [`SimpleGroupIDToNumber(T): Tup → RngIntElt`](simgps-database.md#function-simplegroupidtonumber-tup)

  - [`SimpleGroupID(N): RngIntElt → Tup`](simgps-database.md#function-simplegroupid-rngintelt)

- [Database of Small Groups](smlgps-database.md)

  - [Basic Small Group Functions](smlgps-database.md#basic-small-group-functions)

    - [`SmallGroupDatabase() → DB`](smlgps-database.md#function-grpdata-smallgroupdatabase)

    - [`OpenSmallGroupDatabase() → DB`](smlgps-database.md#function-opensmallgroupdatabase)

    - [`delete D: DB`](smlgps-database.md#operation-grpdata-delete)

    - [`SmallGroupDatabaseLimit() → RngIntElt`](smlgps-database.md#function-smallgroupdatabaselimit)

    - [`SmallGroupDatabaseLimit(D): DB → RngIntElt`](smlgps-database.md#function-smallgroupdatabaselimit-db)

    - [`IsInSmallGroupDatabase(o): RngIntElt → BoolElt`](smlgps-database.md#function-grpdata-isinsmallgroupdatabase)

    - [`IsInSmallGroupDatabase(D, o): DB, RngIntElt → BoolElt`](smlgps-database.md#function-isinsmallgroupdatabase-db-rngintelt)

    - [`NumberOfSmallGroups(o): RngIntElt → RngIntElt`](smlgps-database.md#function-grpdata-numberofsmallgroups)

    - [`NumberOfSmallGroups(D, o): DB, RngIntElt → RngIntElt`](smlgps-database.md#function-numberofsmallgroups-db-rngintelt)

    - [`SmallGroup(o, n): RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-grpdata-smallgroup)

    - [`SmallGroup(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroup-db-rngintelt-rngintelt)

    - [`Group(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-group-db-rngintelt-rngintelt)

    - [`SmallGroup(o: parameters): RngIntElt → Grp`](smlgps-database.md#function-smallgroup-rngintelt)

    - [`SmallGroup(D, o: parameters): DB, RngIntElt → Grp`](smlgps-database.md#function-smallgroup-db-rngintelt)

    - [`SmallGroup(o, f: parameters): RngIntElt, Program → Grp`](smlgps-database.md#function-smallgroup-rngintelt-program)

    - [`SmallGroup(D, o, f: parameters): RngIntElt, Program → Grp`](smlgps-database.md#function-smallgroup-rngintelt-program-2)

    - [`IsSoluble(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-issoluble-db-rngintelt-rngintelt)

    - [`IsSolvable(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-issolvable-db-rngintelt-rngintelt)

    - [`SmallGroupIsSoluble(o, n): RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupissoluble-rngintelt-rngintelt)

    - [`SmallGroupIsSoluble(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupissoluble-db-rngintelt-rngintelt)

    - [`SmallGroupIsSolvable(o, n): RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupissolvable-rngintelt-rngintelt)

    - [`SmallGroupIsSolvable(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupissolvable-db-rngintelt-rngintelt)

    - [`SmallGroupIsInsoluble(o, n): RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupisinsoluble-rngintelt-rngintelt)

    - [`SmallGroupIsInsoluble(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupisinsoluble-db-rngintelt-rngintelt)

    - [`SmallGroupIsInsolvable(o, n): RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupisinsolvable-rngintelt-rngintelt)

    - [`SmallGroupIsInsolvable(D, o, n): DB, RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-smallgroupisinsolvable-db-rngintelt-rngintelt)

    - [`SmallGroup(o, f: parameters): RngIntElt, Program → Grp`](smlgps-database.md#function-smallgroup-rngintelt-program-3)

    - [`SmallGroup(S, f: parameters): [RngIntElt], Program → Grp`](smlgps-database.md#function-smallgroup-rngintelt-program-4)

    - [`SmallGroup(D, o, f: parameters): DB, RngIntElt, Program → Grp`](smlgps-database.md#function-smallgroup-db-rngintelt-program)

    - [`SmallGroup(D, S, f: parameters): DB, [RngIntElt], Program → Grp`](smlgps-database.md#function-smallgroup-db-rngintelt-program-2)

    - [`SmallGroups(o: parameters): RngIntElt → [* Grp *]`](smlgps-database.md#function-smallgroups-rngintelt)

    - [`SmallGroups(D, o: parameters): DB, RngIntElt → [* Grp *]`](smlgps-database.md#function-smallgroups-db-rngintelt)

    - [`SmallGroups(S: parameters): [RngIntElt] → [* Grp *]`](smlgps-database.md#function-smallgroups-rngintelt-2)

    - [`SmallGroups(D, S: parameters): DB, [RngIntElt] → [* Grp *]`](smlgps-database.md#function-smallgroups-db-rngintelt-2)

    - [`SmallGroups(o, f: parameters): RngIntElt, Program → [* Grp *]`](smlgps-database.md#function-smallgroups-rngintelt-program)

    - [`SmallGroups(D, o, f: parameters): DB, RngIntElt, Program → [* Grp *]`](smlgps-database.md#function-smallgroups-db-rngintelt-program)

    - [`SmallGroups(S, f: parameters): [RngIntElt], Program → [* Grp *]`](smlgps-database.md#function-smallgroups-rngintelt-program-2)

    - [`SmallGroups(D, S, f: parameters): DB, [RngIntElt], Program → [* Grp *]`](smlgps-database.md#function-smallgroups-db-rngintelt-program-2)

    - [`Example: Small Groups`](smlgps-database.md#example-ex-dd4fa3)

  - [Processes](smlgps-database.md#processes)

    - [`SmallGroupProcess(o: parameters): RngIntElt → Process`](smlgps-database.md#function-smallgroupprocess-rngintelt)

    - [`SmallGroupProcess(S: parameters): [RngIntElt] → Process`](smlgps-database.md#function-smallgroupprocess-rngintelt-2)

    - [`SmallGroupProcess(o, f: parameters): RngIntElt, Program → Process`](smlgps-database.md#function-smallgroupprocess-rngintelt-program)

    - [`SmallGroupProcess(S, f: parameters): [RngIntElt], Program → Process`](smlgps-database.md#function-smallgroupprocess-rngintelt-program-2)

    - [`IsEmpty(p): Process → BoolElt`](smlgps-database.md#function-isempty-process)

    - [`Current(p): Process → Grp`](smlgps-database.md#function-current-process)

    - [`CurrentLabel(p): Process → RngIntElt, RngIntElt`](smlgps-database.md#function-currentlabel-process)

    - [`Advance(~p): Process`](smlgps-database.md#function-advance-process-ref)

    - [`Example: Sg Process`](smlgps-database.md#example-ex-091a11)

  - [Small Group Identification](smlgps-database.md#small-group-identification)

    - [`IdentifyGroup(G): Grp → Tup`](smlgps-database.md#function-grpdata-identifygroup)

    - [`IdentifyGroup(D, G): DB, Grp → Tup`](smlgps-database.md#function-identifygroup-db-grp)

    - [`CanIdentifyGroup(o): RngIntElt → BoolElt`](smlgps-database.md#function-grpdata-canidentifygroup)

    - [`CanIdentifyGroup(D, o): DB, RngIntElt → BoolElt`](smlgps-database.md#function-canidentifygroup-db-rngintelt)

    - [`IdentifyGroupBySearch(G): Grp → Tup`](smlgps-database.md#function-grpdata-identifygroupbysearch)

    - [`Example: Small Identify`](smlgps-database.md#example-ex-718e51)

    - [`Example: Identify Group By Search`](smlgps-database.md#example-ex-10803c)

    - [`Example: Identify Group`](smlgps-database.md#example-ex-0670f9)

  - [Accessing Internal Data](smlgps-database.md#accessing-internal-data)

    - [`Data(D, o, n): DB, RngIntElt, RngIntElt → List`](smlgps-database.md#function-data-db-rngintelt-rngintelt)

    - [`SmallGroupEncoding(G): GrpPC → RngIntElt, RngIntElt`](smlgps-database.md#function-smallgroupencoding-grppc)

    - [`SmallGroupDecoding(c, o): RngIntElt, RngIntElt → GrpPC`](smlgps-database.md#function-smallgroupdecoding-rngintelt-rngintelt)

    - [`Example: Small Internal`](smlgps-database.md#example-ex-c39570)

  - [Groups with Order Divisible by Only 4 Primes](smlgps-database.md#groups-with-order-divisible-by-only-4-primes)

    - [`Group4P(o, i): RngIntElt, RngIntElt → Grp`](smlgps-database.md#function-group4p-rngintelt-rngintelt)

    - [`Groups4P(o): RngIntElt → List`](smlgps-database.md#function-groups4p-rngintelt)

    - [`NumberOfGroups4P(o): RngIntElt → RngIntElt`](smlgps-database.md#function-numberofgroups4p-rngintelt)

    - [`IdentifyGroup4P(G): GrpPC → RngIntElt`](smlgps-database.md#function-identifygroup4p-grppc)

    - [`IdentifyGroup4P(G): GrpPerm → RngIntElt`](smlgps-database.md#function-identifygroup4p-grpperm)

    - [`IdentifyGroup4P(G): GrpMat → RngIntElt`](smlgps-database.md#function-identifygroup4p-grpmat)

- [The $p$-groups of Order Dividing $p^7$](p-groups.md)

  - [`SearchPGroups(p, n: parameters): RngIntElt, RngIntElt → SeqEnum`](p-groups.md#function-searchpgroups-rngintelt-rngintelt)

  - [`CountPGroups(p, n: parameters): RngIntElt, RngIntElt → SeqEnum`](p-groups.md#function-countpgroups-rngintelt-rngintelt)

  - [`Example: p7`](p-groups.md#example-ex-1addd3)

- [Metacyclic $p$-groups](search.md)

  - [`MetacyclicPGroups(p, n: parameters): RngIntElt, RngIntElt → SeqEnum`](search.md#function-metacyclicpgroups-rngintelt-rngintelt)

  - [`IsMetacyclicPGroup(P): Grp → BoolElt`](search.md#function-ismetacyclicpgroup-grp)

  - [`InvariantsMetacyclicPGroup(P): Grp → Tup`](search.md#function-invariantsmetacyclicpgroup-grp)

  - [`StandardMetacyclicPGroup(P): Grp → GrpPC`](search.md#function-standardmetacyclicpgroup-grp)

  - [`NumberOfMetacyclicPGroups(p, n): RngIntElt, RngIntElt → SeqEnum`](search.md#function-numberofmetacyclicpgroups-rngintelt-rngintelt)

  - [`HasAllPQuotientsMetacyclic(G): GrpFP → BoolElt, SeqEnum`](search.md#function-hasallpquotientsmetacyclic-grpfp)

  - [`HasAllPQuotientsMetacyclic(G, p): GrpFP → BoolElt`](search.md#function-hasallpquotientsmetacyclic-grpfp-2)

  - [`Example: meta`](search.md#example-ex-0140ea)

- [Database of Perfect Groups](pfgps.md)

  - [Specifying an Entry of the Database](pfgps.md#specifying-an-entry-of-the-database)

  - [Creating the Database](pfgps.md#creating-the-database)

    - [`PerfectGroupDatabase() → DB`](pfgps.md#function-perfectgroupdatabase)

  - [Accessing the Database](pfgps.md#accessing-the-database)

    - [`Group(D, i): DB, RngIntElt → GrpFP, SeqEnum`](pfgps.md#function-group-db-rngintelt)

    - [`Group(D, o, i): DB, RngIntElt, RngIntElt → GrpFP, SeqEnum`](pfgps.md#function-group-db-rngintelt-rngintelt-2)

    - [`Group(D, Q): DB, MonStgElt → GrpFP, SeqEnum`](pfgps.md#function-group-db-monstgelt)

    - [`Group(D, Q, p, r, n: parameters): DB, MonStgElt, RngIntElt, RngIntElt, RngIntElt, RngIntElt → GrpFP, SeqEnum`](pfgps.md#function-group-db-monstgelt-rngintelt-rngintelt-rngintelt-rngintelt)

    - [`IdentificationNumber(D, i): DB, RngIntElt → RngIntElt`](pfgps.md#function-identificationnumber-db-rngintelt)

    - [`IdentificationNumber(D, o, i): DB, RngIntElt, RngIntElt → RngIntElt`](pfgps.md#function-identificationnumber-db-rngintelt-rngintelt)

    - [`IdentificationNumber(D, Q): DB, MonStgElt → RngIntElt`](pfgps.md#function-identificationnumber-db-monstgelt)

    - [`IdentificationNumber({D, Q, p, r, }{n: parameters}): DB, MonStgElt, RngIntElt, RngIntElt, RngIntElt, RngIntElt → RngIntElt`](pfgps.md#function-identificationnumber-db-monstgelt-rngintelt-rngintelt-rngintelt-rngintelt)

    - [`NumberOfRepresentations(D, i): DB, RngIntElt → RngIntElt`](pfgps.md#function-numberofrepresentations-db-rngintelt)

    - [`NumberOfRepresentations(D, o, i): DB, RngIntElt, RngIntElt → RngIntElt`](pfgps.md#function-numberofrepresentations-db-rngintelt-rngintelt)

    - [`NumberOfRepresentations(D, Q): DB, MonStgElt → RngIntElt`](pfgps.md#function-numberofrepresentations-db-monstgelt)

    - [`NumberOfRepresentations({D, Q, p, }{r, n: parameters}): DB, MonStgElt, RngIntElt, RngIntElt, RngIntElt, RngIntElt → RngIntElt`](pfgps.md#function-numberofrepresentations-db-monstgelt-rngintelt-rngintelt-rngintelt-rngintelt)

    - [`PermutationRepresentation(D, i: parameters): DB, RngIntElt → Hom(Grp), GrpFP, GrpPerm`](pfgps.md#function-permutationrepresentation-db-rngintelt)

    - [`PermutationRepresentation({D, o, }{i: parameters}): DB, RngIntElt, RngIntElt → Hom(Grp), GrpFP, GrpPerm`](pfgps.md#function-permutationrepresentation-db-rngintelt-rngintelt)

    - [`PermutationRepresentation(D, Q: parameters): DB, MonStgElt → Hom(Grp), GrpFP, GrpPerm`](pfgps.md#function-permutationrepresentation-db-monstgelt)

    - [`PermutationRepresentation({D, Q, }{p, r, n: parameters}): DB, MonStgElt, RngIntElt, RngIntElt, RngIntElt, RngIntElt → Hom(Grp), GrpFP, GrpPerm`](pfgps.md#function-permutationrepresentation-db-monstgelt-rngintelt-rngintelt-rngintelt-rngintelt)

    - [`PermutationGroup(D, i: parameters): DB, RngIntElt → GrpPerm`](pfgps.md#function-permutationgroup-db-rngintelt)

    - [`PermutationGroup(D, o, i: parameters): DB, RngIntElt, RngIntElt → GrpPerm`](pfgps.md#function-permutationgroup-db-rngintelt-rngintelt)

    - [`PermutationGroup(D, Q: parameters): DB, MonStgElt → GrpPerm`](pfgps.md#function-permutationgroup-db-monstgelt)

    - [`PermutationGroup(D, Q, p, r, n: parameters): DB, MonStgElt, RngIntElt, RngIntElt, RngIntElt, RngIntElt → GrpPerm`](pfgps.md#function-permutationgroup-db-monstgelt-rngintelt-rngintelt-rngintelt-rngintelt)

  - [Finding Legal Keys](pfgps.md#finding-legal-keys)

    - [`# D: DB → RngIntElt`](pfgps.md#operation-operation-db-rngintelt)

    - [`NumberOfGroups(D): DB → RngIntElt`](pfgps.md#function-numberofgroups-db)

    - [`NumberOfGroups(D, o): DB, RngIntElt → RngIntElt`](pfgps.md#function-numberofgroups-db-rngintelt)

    - [`TopQuotients(D): DB → SetIndx`](pfgps.md#function-topquotients-db)

    - [`ExtensionPrimes(D, Q): DB, MonStgElt → SetEnum`](pfgps.md#function-extensionprimes-db-monstgelt)

    - [`ExtensionExponents(D, Q, p): DB, MonStgElt, RngIntElt → SetEnum`](pfgps.md#function-extensionexponents-db-monstgelt-rngintelt)

    - [`ExtensionNumbers(D, Q, p, r): DB, MonStgElt, RngIntElt, RngIntElt → SetEnum`](pfgps.md#function-extensionnumbers-db-monstgelt-rngintelt-rngintelt)

    - [`ExtensionClasses(D, Q): DB, MonStgElt → SetEnum`](pfgps.md#function-extensionclasses-db-monstgelt)

    - [`Example: perfgps`](pfgps.md#example-ex-aa434a)

- [Database of Almost-Simple Groups](sgdb.md)

  - [The Record Fields](sgdb.md#the-record-fields)

  - [Creating the Database](sgdb.md#creating-the-database)

    - [`AlmostSimpleGroupDatabase() → DB`](sgdb.md#function-almostsimplegroupdatabase)

  - [Accessing the Database](sgdb.md#accessing-the-database)

    - [`# D: DB → RngIntElt`](sgdb.md#operation-operation-db-rngintelt)

    - [`GroupData(D, i): DB, RngIntElt → Rec`](sgdb.md#function-groupdata-db-rngintelt)

    - [`GroupData(D, o1, o2, k): DB, RngIntElt, RngIntElt, RngIntElt → Rec`](sgdb.md#function-groupdata-db-rngintelt-rngintelt-rngintelt)

    - [`ExistsGroupData(D, o1, o2): DB, RngIntElt, RngIntElt → BoolElt`](sgdb.md#function-existsgroupdata-db-rngintelt-rngintelt)

    - [`ExistsGroupData(D, o1, o2, i): DB, RngIntElt, RngIntElt, RngIntElt → BoolElt, Rec`](sgdb.md#function-existsgroupdata-db-rngintelt-rngintelt-rngintelt)

    - [`NumberOfGroups(D, o1, o2): DB, RngIntElt, RngIntElt → RngIntElt, RngIntElt`](sgdb.md#function-numberofgroups-db-rngintelt-rngintelt)

    - [`IdentifyAlmostSimpleGroup(G): GrpPerm → Map, GrpPerm`](sgdb.md#function-identifyalmostsimplegroup-grpperm)

    - [`IdentifyAlmostSimpleGroup(G): GrpMat → Map, GrpPerm`](sgdb.md#function-identifyalmostsimplegroup-grpmat)

    - [`Example: sgdb`](sgdb.md#example-ex-6b4019)

- [Database of Transitive Groups](transgp-data.md)

  - [Accessing the Databases](transgp-data.md#accessing-the-databases)

    - [`TransitiveGroupDatabaseLimit() → RngIntElt`](transgp-data.md#function-transitivegroupdatabaselimit)

    - [`NumberOfTransitiveGroups(d): RngIntElt → RngIntElt`](transgp-data.md#function-numberoftransitivegroups-rngintelt)

    - [`TransitiveGroup(d, n): RngIntElt, RngIntElt → GrpPerm, MonStgElt`](transgp-data.md#function-transitivegroup-rngintelt-rngintelt)

    - [`TransitiveGroupDescription(d, n): RngIntElt, RngIntElt → MonStgElt`](transgp-data.md#function-transitivegroupdescription-rngintelt-rngintelt)

    - [`TransitiveGroupDescription(G): GrpPerm → MonStgElt`](transgp-data.md#function-transitivegroupdescription-grpperm)

    - [`TransitiveGroup(d): RngIntElt → GrpPerm, MonStgElt`](transgp-data.md#function-transitivegroup-rngintelt)

    - [`TransitiveGroup(d, f): RngIntElt, Program → GrpPerm, MonStgElt`](transgp-data.md#function-transitivegroup-rngintelt-program)

    - [`TransitiveGroup(S, f): [RngIntElt], Program → GrpPerm, MonStgElt`](transgp-data.md#function-transitivegroup-rngintelt-program-2)

    - [`TransitiveGroups(d: parameters): RngIntElt → [GrpPerm]`](transgp-data.md#function-transitivegroups-rngintelt)

    - [`TransitiveGroups(S: parameters): [RngIntElt] → [GrpPerm]`](transgp-data.md#function-transitivegroups-rngintelt-2)

    - [`TransitiveGroups(d, f): RngIntElt, Program → [GrpPerm]`](transgp-data.md#function-transitivegroups-rngintelt-program)

    - [`TransitiveGroups(S, f): [RngIntElt], Program → [GrpPerm]`](transgp-data.md#function-transitivegroups-rngintelt-program-2)

    - [`Example: Transitive`](transgp-data.md#example-ex-95bf5a)

    - [`Example: Non Conj`](transgp-data.md#example-ex-974219)

  - [Processes](transgp-data.md#processes)

    - [`TransitiveGroupProcess(d): RngIntElt → Process`](transgp-data.md#function-transitivegroupprocess-rngintelt)

    - [`TransitiveGroupProcess(S): [RngIntElt] → Process`](transgp-data.md#function-transitivegroupprocess-rngintelt-2)

    - [`TransitiveGroupProcess(d, f): RngIntElt, Program → Process`](transgp-data.md#function-transitivegroupprocess-rngintelt-program)

    - [`TransitiveGroupProcess(S, f): [RngIntElt], Program → Process`](transgp-data.md#function-transitivegroupprocess-rngintelt-program-2)

    - [`IsEmpty(p): Process → BoolElt`](transgp-data.md#function-isempty-process-2)

    - [`Current(p): Process → GrpPerm, MonStgElt`](transgp-data.md#function-current-process-2)

    - [`CurrentLabel(p): Process → RngIntElt, RngIntElt`](transgp-data.md#function-currentlabel-process-2)

    - [`Advance(~p): Process`](transgp-data.md#function-advance-process-ref-2)

    - [`Example: Transitive Process`](transgp-data.md#example-ex-851721)

  - [Transitive Group Identification](transgp-data.md#transitive-group-identification)

    - [`TransitiveGroupIdentification(G): GrpPerm → RngIntElt, RngIntElt`](transgp-data.md#function-transitivegroupidentification-grpperm)

    - [`Example: Transitive Id`](transgp-data.md#example-ex-026a1e)

- [Database of Primitive Groups](primgp-data.md)

  - [Accessing the Databases](primgp-data.md#accessing-the-databases)

    - [`PrimitiveGroupDatabaseLimit() → RngIntElt`](primgp-data.md#function-primitivegroupdatabaselimit)

    - [`NumberOfPrimitiveGroups(d): RngIntElt → RngIntElt`](primgp-data.md#function-numberofprimitivegroups-rngintelt)

    - [`NumberOfPrimitiveSolubleGroups(d): RngIntElt → RngIntElt`](primgp-data.md#function-numberofprimitivesolublegroups-rngintelt)

    - [`NumberOfPrimitiveAffineGroups(d): RngIntElt → RngIntElt`](primgp-data.md#function-numberofprimitiveaffinegroups-rngintelt)

    - [`NumberOfPrimitiveDiagonalGroups(d): RngIntElt → RngIntElt`](primgp-data.md#function-numberofprimitivediagonalgroups-rngintelt)

    - [`NumberOfPrimitiveProductGroups(d): RngIntElt → RngIntElt`](primgp-data.md#function-numberofprimitiveproductgroups-rngintelt)

    - [`NumberOfPrimitiveAlmostSimpleGroups(d): RngIntElt → RngIntElt`](primgp-data.md#function-numberofprimitivealmostsimplegroups-rngintelt)

    - [`PrimitiveGroup(d, n): RngIntElt, RngIntElt → GrpPerm, MonStgElt, MonStgElt`](primgp-data.md#function-primitivegroup-rngintelt-rngintelt)

    - [`PrimitiveGroupDescription(d, n): RngIntElt, RngIntElt → MonStgElt`](primgp-data.md#function-primitivegroupdescription-rngintelt-rngintelt)

    - [`PrimitiveGroup(d): RngIntElt → GrpPerm, MonStgElt, MonStgElt`](primgp-data.md#function-primitivegroup-rngintelt)

    - [`PrimitiveGroup(d, f): RngIntElt, Program → GrpPerm, MonStgElt`](primgp-data.md#function-primitivegroup-rngintelt-program)

    - [`PrimitiveGroup(S, f): [RngIntElt], Program → GrpPerm, MonStgElt`](primgp-data.md#function-primitivegroup-rngintelt-program-2)

    - [`PrimitiveGroups(d: parameters): RngIntElt → [GrpPerm]`](primgp-data.md#function-primitivegroups-rngintelt)

    - [`PrimitiveGroups(S: parameters): [RngIntElt] → [GrpPerm]`](primgp-data.md#function-primitivegroups-rngintelt-2)

    - [`PrimitiveGroups( : parameters) → [GrpPerm]`](primgp-data.md#function-primitivegroups)

    - [`PrimitiveGroups(d, f: parameters): RngIntElt, Program → [GrpPerm]`](primgp-data.md#function-primitivegroups-rngintelt-program)

    - [`PrimitiveGroups(S, f): [RngIntElt], Program → [GrpPerm]`](primgp-data.md#function-primitivegroups-rngintelt-program-2)

    - [`PrimitiveGroups(f): Program → [GrpPerm]`](primgp-data.md#function-primitivegroups-program)

    - [`Example: Primitive`](primgp-data.md#example-ex-d6ff61)

  - [Processes](primgp-data.md#processes)

    - [`PrimitiveGroupProcess(d: parameters): RngIntElt → Process`](primgp-data.md#function-primitivegroupprocess-rngintelt)

    - [`PrimitiveGroupProcess(S: parameters): [RngIntElt] → Process`](primgp-data.md#function-primitivegroupprocess-rngintelt-2)

    - [`PrimitiveGroupProcess(: parameters) → Process`](primgp-data.md#function-primitivegroupprocess)

    - [`PrimitiveGroupProcess(d, f: parameters): RngIntElt, Program → Process`](primgp-data.md#function-primitivegroupprocess-rngintelt-program)

    - [`PrimitiveGroupProcess(S, f: parameters): [RngIntElt], Program → Process`](primgp-data.md#function-primitivegroupprocess-rngintelt-program-2)

    - [`PrimitiveGroupProcess(f: parameters): Program → Process`](primgp-data.md#function-primitivegroupprocess-program)

    - [`IsEmpty(p): Process → BoolElt`](primgp-data.md#function-isempty-process-3)

    - [`Current(p): Process → GrpPerm, MonStgElt`](primgp-data.md#function-current-process-3)

    - [`CurrentLabel(p): Process → RngIntElt, RngIntElt`](primgp-data.md#function-currentlabel-process-3)

    - [`Advance(~p): Process`](primgp-data.md#function-advance-process-ref-3)

    - [`Example: Primitive Process`](primgp-data.md#example-ex-932032)

  - [Primitive Group Identification](primgp-data.md#primitive-group-identification)

    - [`PrimitiveGroupIdentification(G): GrpPerm → RngIntElt, RngIntElt`](primgp-data.md#function-primitivegroupidentification-grpperm)

    - [`Example: Primitive Id`](primgp-data.md#example-ex-2ae1d1)

- [Database of Rational Maximal Finite Matrix Groups](ratgps.md)

  - [`RationalMatrixGroupDatabase() → DB`](ratgps.md#function-rationalmatrixgroupdatabase)

  - [`LargestDimension(D): DB → RngIntElt`](ratgps.md#function-largestdimension-db)

  - [`# D: DB → RngIntElt`](ratgps.md#operation-operation-db-rngintelt)

  - [`NumberOfGroups(D): DB → RngIntElt`](ratgps.md#function-numberofgroups-db-2)

  - [`NumberOfLattices(D): DB → RngIntElt`](ratgps.md#function-numberoflattices-db)

  - [`NumberOfGroups(D, d): DB, RngIntElt → RngIntElt`](ratgps.md#function-numberofgroups-db-rngintelt-2)

  - [`NumberOfLattices(D, d): DB, RngIntElt → RngIntElt`](ratgps.md#function-numberoflattices-db-rngintelt)

  - [`Group(D, i): DB, RngIntElt → GrpMat`](ratgps.md#function-group-db-rngintelt-2)

  - [`Lattice(D, i): DB, RngIntElt → Lat`](ratgps.md#function-lattice-db-rngintelt)

  - [`Group(D, d, i): DB, RngIntElt, RngIntElt → GrpMat`](ratgps.md#function-group-db-rngintelt-rngintelt-3)

  - [`Lattice(D, d, i): DB, RngIntElt, RngIntElt → Lat`](ratgps.md#function-lattice-db-rngintelt-rngintelt)

  - [`Example: ratgps1`](ratgps.md#example-ex-34d380)

- [Database of Integral Maximal Finite Matrix Groups](intgps.md)

  - [`IntegralMatrixGroupDatabase() → DB`](intgps.md#function-integralmatrixgroupdatabase)

  - [`LargestDimension(D): DB → RngIntElt`](intgps.md#function-largestdimension-db-2)

  - [`# D: DB → RngIntElt`](intgps.md#operation-operation-db-rngintelt)

  - [`NumberOfGroups(D): DB → RngIntElt`](intgps.md#function-numberofgroups-db-3)

  - [`NumberOfLattices(D): DB → RngIntElt`](intgps.md#function-numberoflattices-db-2)

  - [`NumberOfGroups(D, d): DB, RngIntElt → RngIntElt`](intgps.md#function-numberofgroups-db-rngintelt-3)

  - [`NumberOfLattices(D, d): DB, RngIntElt → RngIntElt`](intgps.md#function-numberoflattices-db-rngintelt-2)

  - [`Group(D, i): DB, RngIntElt → GrpMat`](intgps.md#function-group-db-rngintelt-3)

  - [`Lattice(D, i): DB, RngIntElt → Lat, SeqEnum`](intgps.md#function-lattice-db-rngintelt-2)

  - [`Construction(D, i): DB, RngIntElt → MonStgElt, SeqEnum`](intgps.md#function-construction-db-rngintelt)

  - [`Group(D, d, i): DB, RngIntElt, RngIntElt → GrpMat`](intgps.md#function-group-db-rngintelt-rngintelt-4)

  - [`Lattice(D, d, i): DB, RngIntElt, RngIntElt → Lat, SeqEnum`](intgps.md#function-lattice-db-rngintelt-rngintelt-2)

  - [`Construction(D, d, i): DB, RngIntElt, RngIntElt → MonStgElt, SeqEnum`](intgps.md#function-construction-db-rngintelt-rngintelt)

  - [`Example: Integral`](intgps.md#example-ex-2e0f58)

- [Database of Finite Quaternionic Matrix Groups](quatgps.md)

  - [`QuaternionicMatrixGroupDatabase() → DB`](quatgps.md#function-quaternionicmatrixgroupdatabase)

  - [`LargestDimension(D): DB → RngIntElt`](quatgps.md#function-largestdimension-db-3)

  - [`# D: DB → RngIntElt`](quatgps.md#operation-operation-db-rngintelt)

  - [`NumberOfGroups(D): DB → RngIntElt`](quatgps.md#function-numberofgroups-db-4)

  - [`NumberOfLattices(D): DB → RngIntElt`](quatgps.md#function-numberoflattices-db-3)

  - [`NumberOfGroups(D, d): DB, RngIntElt → RngIntElt`](quatgps.md#function-numberofgroups-db-rngintelt-4)

  - [`NumberOfLattices(D, d): DB, RngIntElt → RngIntElt`](quatgps.md#function-numberoflattices-db-rngintelt-3)

  - [`Group(D, i): DB, RngIntElt → GrpMat`](quatgps.md#function-group-db-rngintelt-4)

  - [`Lattice(D, i): DB, RngIntElt → Lat, SeqEnum`](quatgps.md#function-lattice-db-rngintelt-3)

  - [`Construction(D, i): DB, RngIntElt → MonStgElt, RngIntElt`](quatgps.md#function-construction-db-rngintelt-2)

  - [`Group(D, d, i): DB, RngIntElt, RngIntElt → GrpMat`](quatgps.md#function-group-db-rngintelt-rngintelt-5)

  - [`Lattice(D, d, i): DB, RngIntElt, RngIntElt → Lat, SeqEnum`](quatgps.md#function-lattice-db-rngintelt-rngintelt-3)

  - [`Construction(D, d, i): DB, RngIntElt, RngIntElt → MonStgElt, RngIntElt`](quatgps.md#function-construction-db-rngintelt-rngintelt-2)

  - [`Example: Quaternionic`](quatgps.md#example-ex-00c791)

- [Database of Finite Symplectic Matrix Groups](symplgps.md)

  - [`SymplecticMatrixGroupDatabase() → DB`](symplgps.md#function-symplecticmatrixgroupdatabase)

  - [`LargestDimension(D): DB → RngIntElt`](symplgps.md#function-largestdimension-db-4)

  - [`# D: DB → RngIntElt`](symplgps.md#operation-operation-db-rngintelt)

  - [`NumberOfGroups(D): DB → RngIntElt`](symplgps.md#function-numberofgroups-db-5)

  - [`NumberOfLattices(D): DB → RngIntElt`](symplgps.md#function-numberoflattices-db-4)

  - [`NumberOfGroups(D, d): DB, RngIntElt → RngIntElt`](symplgps.md#function-numberofgroups-db-rngintelt-5)

  - [`NumberOfLattices(D, d): DB, RngIntElt → RngIntElt`](symplgps.md#function-numberoflattices-db-rngintelt-4)

  - [`Group(D, i): DB, RngIntElt → GrpMat`](symplgps.md#function-group-db-rngintelt-5)

  - [`Lattice(D, i): DB, RngIntElt → Lat, SeqEnum`](symplgps.md#function-lattice-db-rngintelt-4)

  - [`Construction(D, i): DB, RngIntElt → MonStgElt`](symplgps.md#function-construction-db-rngintelt-3)

  - [`Group(D, d, i): DB, RngIntElt, RngIntElt → GrpMat`](symplgps.md#function-group-db-rngintelt-rngintelt-6)

  - [`Lattice(D, d, i): DB, RngIntElt, RngIntElt → Lat, SeqEnum`](symplgps.md#function-lattice-db-rngintelt-rngintelt-4)

  - [`Construction(D, d, i): DB, RngIntElt, RngIntElt → MonStgElt`](symplgps.md#function-construction-db-rngintelt-rngintelt-3)

  - [`Example: Symplectic`](symplgps.md#example-ex-c0dcaf)

- [Database of Irreducible Matrix Groups](irrgp-data.md)

  - [Accessing the Database](irrgp-data.md#accessing-the-database)

    - [`NumberOfIrreducibleMatrixGroups(k, p): RngIntElt, RngIntElt → RngIntElt`](irrgp-data.md#function-numberofirreduciblematrixgroups-rngintelt-rngintelt)

    - [`NumberOfSolubleIrreducibleMatrixGroups(k, p): RngIntElt, RngIntElt → RngIntElt`](irrgp-data.md#function-numberofsolubleirreduciblematrixgroups-rngintelt-rngintelt)

    - [`IrreducibleMatrixGroup(k, p, n): RngIntElt, RngIntElt, RngIntElt → GrpMat`](irrgp-data.md#function-irreduciblematrixgroup-rngintelt-rngintelt-rngintelt)

    - [`Example: Irred Mat`](irrgp-data.md#example-ex-462c7c)

- [Database of Quasisimple Matrix Groups](quasisimplematgp-data.md)

  - [`QuasisimpleMatrixGroup(N, d, p : parameters): MonStgElt, RngIntElt, RngIntElt → GrpMat`](quasisimplematgp-data.md#function-quasisimplematrixgroup-monstgelt-rngintelt-rngintelt)

  - [`QuasisimpleMatrixGroups() → SeqEnum`](quasisimplematgp-data.md#function-quasisimplematrixgroups)

- [Database of Soluble Irreducible Groups](isolgps-database.md)

  - [Basic Functions](isolgps-database.md#basic-functions)

    - [`IsolGroupDatabase() → DB`](isolgps-database.md#function-isolgroupdatabase)

    - [`IsolGroup(n, p, i): RngIntElt, RngIntElt, RngIntElt → GrpMat`](isolgps-database.md#function-grpdata-isolgroup)

    - [`Group(D, n, p, i): DB, RngIntElt, RngIntElt, RngIntElt → GrpMat`](isolgps-database.md#function-group-db-rngintelt-rngintelt-rngintelt)

    - [`IsolNumberOfDegreeField(n, p): RngIntElt, RngIntElt → RngIntElt`](isolgps-database.md#function-isolnumberofdegreefield-rngintelt-rngintelt)

    - [`IsolInfo(n, p, i): RngIntElt, RngIntElt, RngIntElt → MonStgElt`](isolgps-database.md#function-isolinfo-rngintelt-rngintelt-rngintelt)

    - [`IsolOrder(n, p, i): RngIntElt, RngIntElt, RngIntElt → RngIntElt`](isolgps-database.md#function-isolorder-rngintelt-rngintelt-rngintelt)

    - [`IsolMinBlockSize(n, p, i): RngIntElt, RngIntElt, RngIntElt → RngIntElt`](isolgps-database.md#function-isolminblocksize-rngintelt-rngintelt-rngintelt)

    - [`IsolIsPrimitive(n, p, i): RngIntElt, RngIntElt, RngIntElt → BoolElt`](isolgps-database.md#function-isolisprimitive-rngintelt-rngintelt-rngintelt)

    - [`IsolGuardian(n, p, i): RngIntElt, RngIntElt, RngIntElt → GrpMat`](isolgps-database.md#function-isolguardian-rngintelt-rngintelt-rngintelt)

    - [`Example: Isol Group`](isolgps-database.md#example-ex-f88165)

  - [Searching with Predicates](isolgps-database.md#searching-with-predicates)

    - [`IsolGroupSatisfying(f): Any → GrpMat`](isolgps-database.md#function-isolgroupsatisfying-any)

    - [`IsolGroupOfDegreeSatisfying(d, f): RngIntElt, Any → GrpMat`](isolgps-database.md#function-isolgroupofdegreesatisfying-rngintelt-any)

    - [`IsolGroupOfDegreeFieldSatisfying(d, p, f): RngIntElt, RngIntElt, Any → GrpMat`](isolgps-database.md#function-isolgroupofdegreefieldsatisfying-rngintelt-rngintelt-any)

    - [`IsolGroupsSatisfying(f): Any → SeqEnum`](isolgps-database.md#function-isolgroupssatisfying-any)

    - [`IsolGroupsOfDegreeSatisfying(d, f): RngIntElt, Any → SeqEnum`](isolgps-database.md#function-isolgroupsofdegreesatisfying-rngintelt-any)

    - [`IsolGroupsOfDegreeFieldSatisfying(d, p, f): RngIntElt, RngIntElt, Any → SeqEnum`](isolgps-database.md#function-isolgroupsofdegreefieldsatisfying-rngintelt-rngintelt-any)

  - [Associated Functions](isolgps-database.md#associated-functions)

    - [`Getvecs(G): GrpMat → SeqEnum`](isolgps-database.md#function-getvecs-grpmat)

    - [`Semidir(G, Q): GrpMat, SeqEnum → GrpPerm`](isolgps-database.md#function-semidir-grpmat-seqenum)

  - [Processes](isolgps-database.md#processes)

    - [`IsolProcess() → Process`](isolgps-database.md#function-isolprocess)

    - [`IsolProcessOfDegree(d): . → Process`](isolgps-database.md#function-isolprocessofdegree)

    - [`IsolProcessOfField(p): . → Process`](isolgps-database.md#function-isolprocessoffield)

    - [`IsolProcessOfDegreeField(d, p): ., . → Process`](isolgps-database.md#function-isolprocessofdegreefield)

    - [`IsEmpty(p): Process → BoolElt`](isolgps-database.md#function-isempty-process-4)

    - [`Current(p): Process → GrpMat`](isolgps-database.md#function-current-process-4)

    - [`CurrentLabel(p): Process → RngIntElt, RngIntElt, RngIntElt`](isolgps-database.md#function-currentlabel-process-4)

    - [`Advance(~p): Process`](isolgps-database.md#function-advance-process-ref-4)

    - [`Example: Sg Process`](isolgps-database.md#example-ex-4ef256)

- [Database of ATLAS Groups](ATLAS-database.md)

  - [`Example: ATLAS Names`](ATLAS-database.md#example-ex-7bb063)

  - [Accessing the Database](ATLAS-database.md#accessing-the-database)

    - [`ATLASGroupNames() → SetIndx[MonStgElt]`](ATLAS-database.md#function-atlasgroupnames)

    - [`ATLASGroup(N): MonStgElt → GrpAtlas`](ATLAS-database.md#function-atlasgroup)

  - [Accessing the ATLAS Groups](ATLAS-database.md#accessing-the-atlas-groups)

    - [`Order(A): GrpAtlas → RngIntElt`](ATLAS-database.md#function-order-grpatlas)

    - [`# G: GrpAtlas → RngIntElt`](ATLAS-database.md#operation-operation-grpatlas-rngintelt)

    - [`Multiplier(A): GrpAtlas → RngIntElt`](ATLAS-database.md#function-multiplier-grpatlas)

    - [`MatRepKeys(A): GrpAtlas → SeqEnum[DBAtlasKeyMatRep]`](ATLAS-database.md#function-matrepkeys-grpatlas)

    - [`MatRepDegrees(A): GrpAtlas → SetEnum[RngIntElt]`](ATLAS-database.md#function-matrepdegrees-grpatlas)

    - [`Degree(K): DBAtlasKeyMatRep → RngIntElt`](ATLAS-database.md#function-degree-dbatlaskeymatrep)

    - [`MatRepFieldSizes(A): GrpAtlas → SetEnum[RngIntElt]`](ATLAS-database.md#function-matrepfieldsizes-grpatlas)

    - [`MatRepCharacteristics(A): GrpAtlas → SetEnum[RngIntElt]`](ATLAS-database.md#function-matrepcharacteristics-grpatlas)

    - [`Field(K): DBAtlasKeyMatRep → FldFin`](ATLAS-database.md#function-field-dbatlaskeymatrep)

    - [`PermRepKeys(A): GrpAtlas → SeqEnum[DBAtlasKeyPermRep]`](ATLAS-database.md#function-permrepkeys-grpatlas)

    - [`PermRepDegrees(A): GrpAtlas → SetEnum[RngIntElt]`](ATLAS-database.md#function-permrepdegrees-grpatlas)

    - [`Degree(K): DBAtlasKeyPermRep → RngIntElt`](ATLAS-database.md#function-degree-dbatlaskeypermrep)

  - [Representations of the ATLAS Groups](ATLAS-database.md#representations-of-the-atlas-groups)

    - [`MatrixGroup(K): DBAtlasKeyMatRep → GrpMat`](ATLAS-database.md#function-matrixgroup-dbatlaskeymatrep)

    - [`MatRep(K): DBAtlasKeyMatRep → SeqEnum[GrpMatElt]`](ATLAS-database.md#function-matrep-dbatlaskeymatrep)

    - [`PermutationGroup(K): DBAtlasKeyPermRep → GrpPerm`](ATLAS-database.md#function-permutationgroup-dbatlaskeypermrep)

    - [`PermRep(K): DBAtlasKeyPermRep → SeqEnum[GrpPermElt]`](ATLAS-database.md#function-permrep-dbatlaskeypermrep)

    - [`Example: J2`](ATLAS-database.md#example-ex-d60e34)

- [Fundamental Groups of 3-Manifolds](3-manifolds-database.md)

  - [Basic Functions](3-manifolds-database.md#basic-functions)

    - [`ManifoldDatabase() → DB`](3-manifolds-database.md#function-manifolddatabase)

    - [`Manifold(D, i): DB, RngIntElt → Rec`](3-manifolds-database.md#function-manifold-db-rngintelt)

    - [`Manifold(D, name): DB, MonStgElt → Rec`](3-manifolds-database.md#function-manifold-db-monstgelt)

  - [Accessing the Data](3-manifolds-database.md#accessing-the-data)

    - [`Example: manifolds`](3-manifolds-database.md#example-ex-f8e221)

- [Automatic Groups of 3-Manifolds](automatic-group-database.md)

  - [`AutomaticGroup(i): RngIntElt → GrpAtc`](automatic-group-database.md#function-automaticgroup-rngintelt)

  - [`AutomaticGroup(name): MonStgElt → GrpAtc`](automatic-group-database.md#function-automaticgroup-monstgelt)

  - [`AutomaticGroup(r): Rec → GrpAtc`](automatic-group-database.md#function-automaticgroup-rec)

  - [`AutomaticGroupIndices() → [RngIntElt]`](automatic-group-database.md#function-automaticgroupindices)

  - [`AutomaticGroupNames() → [MonStgElt]`](automatic-group-database.md#function-automaticgroupnames)
