# Almost Simple Groups

- [Introduction](introduction.md)

  - [Overview](introduction.md#overview)

- [Double Covers of the Alternating and Symmetric Groups](double-covers-alt-sym.md)

  - [`DoubleCoverSymmetricGroup(n: parameters): RngIntElt → GrpMat`](double-covers-alt-sym.md#function-doublecoversymmetricgroup-rngintelt)

  - [`DoubleCoverAlternatingGroup(n: parameters): RngIntElt → GrpMat`](double-covers-alt-sym.md#function-doublecoveralternatinggroup-rngintelt)

- [Creating Finite Groups of Lie Type](standard.md)

  - [Generic Creation Function](standard.md#generic-creation-function)

    - [`ChevalleyGroup(X, n, K: parameters): MonStgElt, RngIntElt, FldFin → GrpMat`](standard.md#function-chevalleygroup-monstgelt-rngintelt-fldfin)

    - [`ChevalleyGroup(X, n, q: parameters): MonStgElt, RngIntElt, RngIntElt → GrpMat`](standard.md#function-chevalleygroup-monstgelt-rngintelt-rngintelt)

  - [The Orders of the Chevalley Groups](standard.md#the-orders-of-the-chevalley-groups)

    - [`ChevalleyOrderPolynomial(type, n: parameters): MonStgElt, RngIntElt → RngUPolElt`](standard.md#function-chevalleyorderpolynomial-monstgelt-rngintelt)

    - [`FactoredChevalleyGroupOrder(type, n, F: parameters): MonStgElt, RngIntElt, FldFin → RngIntEltFact`](standard.md#function-factoredchevalleygrouporder-monstgelt-rngintelt-fldfin)

    - [`FactoredChevalleyGroupOrder(type, n, q: parameters): MonStgElt, RngIntElt, RngIntElt → RngIntEltFact`](standard.md#function-factoredchevalleygrouporder-monstgelt-rngintelt-rngintelt)

    - [`ChevalleyGroupOrder(type, n, F: parameters): MonStgElt, RngIntElt, FldFin → RngIntEltFact`](standard.md#function-chevalleygrouporder-monstgelt-rngintelt-fldfin)

    - [`ChevalleyGroupOrder(type, n, q: parameters): MonStgElt, RngIntElt, RngIntElt → RngIntEltFact`](standard.md#function-chevalleygrouporder-monstgelt-rngintelt-rngintelt)

  - [Classical Groups](standard.md#classical-groups)

    - [Linear Groups](standard.md#linear-groups)

      - [`GeneralLinearGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-generallineargroup)

      - [`GeneralLinearGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-generallineargroup-rngintelt-fldfin)

      - [`GeneralLinearGroup(V): ModTupRng → GrpMat`](standard.md#function-generallineargroup-modtuprng)

      - [`GL(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-gl-rngintelt-rngintelt)

      - [`GL(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-gl-rngintelt-fldfin)

      - [`GL(V): ModTupRng → GrpMat`](standard.md#function-gl-modtuprng)

      - [`SpecialLinearGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-speciallineargroup-rngintelt-rngintelt)

      - [`SpecialLinearGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-speciallineargroup-rngintelt-fldfin)

      - [`SpecialLinearGroup(V): ModTupRng → GrpMat`](standard.md#function-speciallineargroup-modtuprng)

      - [`SL(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-sl-rngintelt-rngintelt)

      - [`SL(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-sl-rngintelt-fldfin)

      - [`SL(V): ModTupRng → GrpMat`](standard.md#function-sl-modtuprng)

      - [`AffineGeneralLinearGroup(GrpMat, n, q): Cat, RngIntElt, RngIntElt → GrpMat`](standard.md#function-affinegenerallineargroup-cat-rngintelt-rngintelt)

      - [`AffineGeneralLinearGroup(GrpMat, n, K): Cat, RngIntElt, FldFin → GrpMat`](standard.md#function-affinegenerallineargroup-cat-rngintelt-fldfin)

      - [`AffineGeneralLinearGroup(GrpMat, V): Cat, ModTupRng → GrpMat`](standard.md#function-affinegenerallineargroup-cat-modtuprng)

      - [`AffineGeneralLinearGroup(E): GrpPerm → GrpPerm`](standard.md#function-affinegenerallineargroup-grpperm)

      - [`AGL(GrpMat, n, q): Cat, RngIntElt, RngIntElt → GrpMat`](standard.md#function-agl-cat-rngintelt-rngintelt)

      - [`AGL(GrpMat, n, K): Cat, RngIntElt, FldFin → GrpMat`](standard.md#function-agl-cat-rngintelt-fldfin)

      - [`AGL(GrpMat, V): Cat, ModTupRng → GrpMat`](standard.md#function-agl-cat-modtuprng)

      - [`AGL(E): GrpPerm → GrpPerm`](standard.md#function-agl-grpperm)

      - [`AffineSpecialLinearGroup(GrpMat, n, q): Cat, RngIntElt, RngIntElt → GrpMat`](standard.md#function-affinespeciallineargroup-cat-rngintelt-rngintelt)

      - [`AffineSpecialLinearGroup(GrpMat, n, K): Cat, RngIntElt, FldFin → GrpMat`](standard.md#function-affinespeciallineargroup-cat-rngintelt-fldfin)

      - [`AffineSpecialLinearGroup(GrpMat, V): Cat, ModTupRng → GrpMat`](standard.md#function-affinespeciallineargroup-cat-modtuprng)

      - [`ASL(GrpMat, n, q): Cat, RngIntElt, RngIntElt → GrpMat`](standard.md#function-asl-cat-rngintelt-rngintelt)

      - [`ASL(GrpMat, n, K): Cat, RngIntElt, FldFin → GrpMat`](standard.md#function-asl-cat-rngintelt-fldfin)

      - [`ASL(GrpMat, V): Cat, ModTupRng → GrpMat`](standard.md#function-asl-cat-modtuprng)

    - [Unitary Groups](standard.md#unitary-groups)

      - [`ConformalUnitaryGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalunitarygroup)

      - [`ConformalUnitaryGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-conformalunitarygroup-rngintelt-fldfin)

      - [`ConformalUnitaryGroup(V): ModTupRng → GrpMat`](standard.md#function-conformalunitarygroup-modtuprng)

      - [`CU(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-cu-rngintelt-rngintelt)

      - [`CU(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-cu-rngintelt-fldfin)

      - [`CU(V): ModTupRng → GrpMat`](standard.md#function-cu-modtuprng)

      - [`GeneralUnitaryGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-generalunitarygroup-rngintelt-rngintelt)

      - [`GeneralUnitaryGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-generalunitarygroup-rngintelt-fldfin)

      - [`GeneralUnitaryGroup(V): ModTupRng → GrpMat`](standard.md#function-generalunitarygroup-modtuprng)

      - [`GU(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-gu-rngintelt-rngintelt)

      - [`GU(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-gu-rngintelt-fldfin)

      - [`GU(V): ModTupRng → GrpMat`](standard.md#function-gu-modtuprng)

      - [`SpecialUnitaryGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-specialunitarygroup-rngintelt-rngintelt)

      - [`SpecialUnitaryGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-specialunitarygroup-rngintelt-fldfin)

      - [`SpecialUnitaryGroup(V): ModTupRng → GrpMat`](standard.md#function-specialunitarygroup-modtuprng)

      - [`SU(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-su-rngintelt-rngintelt)

      - [`SU(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-su-rngintelt-fldfin)

      - [`SU(V): ModTupRng → GrpMat`](standard.md#function-su-modtuprng)

      - [`ConformalSpecialUnitaryGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalspecialunitarygroup-rngintelt-rngintelt)

      - [`CSU(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-csu-rngintelt-rngintelt)

    - [Symplectic Groups](standard.md#symplectic-groups)

      - [`ConformalSymplecticGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalsymplecticgroup-rngintelt-rngintelt)

      - [`ConformalSymplecticGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-conformalsymplecticgroup-rngintelt-fldfin)

      - [`ConformalSymplecticGroup(V): ModTupRng → GrpMat`](standard.md#function-conformalsymplecticgroup-modtuprng)

      - [`CSp(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-csp-rngintelt-rngintelt)

      - [`CSp(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-csp-rngintelt-fldfin)

      - [`CSp(V): ModTupRng → GrpMat`](standard.md#function-csp-modtuprng)

      - [`SymplecticGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-symplecticgroup-rngintelt-rngintelt)

      - [`SymplecticGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-symplecticgroup-rngintelt-fldfin)

      - [`SymplecticGroup(V): ModTupRng → GrpMat`](standard.md#function-symplecticgroup-modtuprng)

      - [`Sp(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-sp-rngintelt-rngintelt)

      - [`Sp(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-sp-rngintelt-fldfin)

      - [`Sp(V): ModTupRng → GrpMat`](standard.md#function-sp-modtuprng)

    - [Orthogonal and Spin Groups](standard.md#orthogonal-and-spin-groups)

      - [`ConformalOrthogonalGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalorthogonalgroup-rngintelt-rngintelt)

      - [`ConformalOrthogonalGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-conformalorthogonalgroup-rngintelt-fldfin)

      - [`ConformalOrthogonalGroup(V): ModTupRng → GrpMat`](standard.md#function-conformalorthogonalgroup-modtuprng)

      - [`CO(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-co-rngintelt-rngintelt)

      - [`CO(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-co-rngintelt-fldfin)

      - [`CO(V): ModTupRng → GrpMat`](standard.md#function-co-modtuprng)

      - [`GeneralOrthogonalGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-generalorthogonalgroup-rngintelt-rngintelt)

      - [`GeneralOrthogonalGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-generalorthogonalgroup-rngintelt-fldfin)

      - [`GeneralOrthogonalGroup(V): ModTupRng → GrpMat`](standard.md#function-generalorthogonalgroup-modtuprng)

      - [`GO(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-go-rngintelt-rngintelt)

      - [`GO(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-go-rngintelt-fldfin)

      - [`GO(V): ModTupRng → GrpMat`](standard.md#function-go-modtuprng)

      - [`Example: Gen Orthog Odd`](standard.md#example-ex-681a40)

      - [`SpecialOrthogonalGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-specialorthogonalgroup-rngintelt-rngintelt)

      - [`SpecialOrthogonalGroup(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-specialorthogonalgroup-rngintelt-fldfin)

      - [`SpecialOrthogonalGroup(V): ModTupRng → GrpMat`](standard.md#function-specialorthogonalgroup-modtuprng)

      - [`SO(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-so-rngintelt-rngintelt)

      - [`SO(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-so-rngintelt-fldfin)

      - [`SO(V): ModTupRng → GrpMat`](standard.md#function-so-modtuprng)

      - [`ConformalSpecialOrthogonalGroup(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalspecialorthogonalgroup-rngintelt-rngintelt)

      - [`CSO(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-cso-rngintelt-rngintelt)

      - [`ConformalOrthogonalGroupPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalorthogonalgroupplus-rngintelt-rngintelt)

      - [`ConformalOrthogonalGroupPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-conformalorthogonalgroupplus-rngintelt-fldfin)

      - [`ConformalOrthogonalGroupPlus(V): ModTupRng → GrpMat`](standard.md#function-conformalorthogonalgroupplus-modtuprng)

      - [`COPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-coplus-rngintelt-rngintelt)

      - [`COPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-coplus-rngintelt-fldfin)

      - [`COPlus(V): ModTupRng → GrpMat`](standard.md#function-coplus-modtuprng)

      - [`GeneralOrthogonalGroupPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-generalorthogonalgroupplus-rngintelt-rngintelt)

      - [`GeneralOrthogonalGroupPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-generalorthogonalgroupplus-rngintelt-fldfin)

      - [`GeneralOrthogonalGroupPlus(V): ModTupRng → GrpMat`](standard.md#function-generalorthogonalgroupplus-modtuprng)

      - [`GOPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-goplus-rngintelt-rngintelt)

      - [`GOPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-goplus-rngintelt-fldfin)

      - [`GOPlus(V): ModTupRng → GrpMat`](standard.md#function-goplus-modtuprng)

      - [`SpecialOrthogonalGroupPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-specialorthogonalgroupplus-rngintelt-rngintelt)

      - [`SpecialOrthogonalGroupPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-specialorthogonalgroupplus-rngintelt-fldfin)

      - [`SpecialOrthogonalGroupPlus(V): ModTupRng → GrpMat`](standard.md#function-specialorthogonalgroupplus-modtuprng)

      - [`SOPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-soplus-rngintelt-rngintelt)

      - [`SOPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-soplus-rngintelt-fldfin)

      - [`SOPlus(V): ModTupRng → GrpMat`](standard.md#function-soplus-modtuprng)

      - [`ConformalSpecialOrthogonalGroupPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalspecialorthogonalgroupplus-rngintelt-rngintelt)

      - [`CSOPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-csoplus-rngintelt-rngintelt)

      - [`ConformalOrthogonalGroupMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalorthogonalgroupminus-rngintelt-rngintelt)

      - [`ConformalOrthogonalGroupMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-conformalorthogonalgroupminus-rngintelt-fldfin)

      - [`ConformalOrthogonalGroupMinus(V): ModTupRng → GrpMat`](standard.md#function-conformalorthogonalgroupminus-modtuprng)

      - [`COMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-cominus-rngintelt-rngintelt)

      - [`COMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-cominus-rngintelt-fldfin)

      - [`COMinus(V): ModTupRng → GrpMat`](standard.md#function-cominus-modtuprng)

      - [`GeneralOrthogonalGroupMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-generalorthogonalgroupminus-rngintelt-rngintelt)

      - [`GeneralOrthogonalGroupMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-generalorthogonalgroupminus-rngintelt-fldfin)

      - [`GeneralOrthogonalGroupMinus(V): ModTupRng → GrpMat`](standard.md#function-generalorthogonalgroupminus-modtuprng)

      - [`GOMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-gominus-rngintelt-rngintelt)

      - [`GOMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-gominus-rngintelt-fldfin)

      - [`GOMinus(V): ModTupRng → GrpMat`](standard.md#function-gominus-modtuprng)

      - [`SpecialOrthogonalGroupMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-specialorthogonalgroupminus-rngintelt-rngintelt)

      - [`SpecialOrthogonalGroupMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-specialorthogonalgroupminus-rngintelt-fldfin)

      - [`SpecialOrthogonalGroupMinus(V): ModTupRng → GrpMat`](standard.md#function-specialorthogonalgroupminus-modtuprng)

      - [`SOMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-sominus-rngintelt-rngintelt)

      - [`SOMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-sominus-rngintelt-fldfin)

      - [`SOMinus(V): ModTupRng → GrpMat`](standard.md#function-sominus-modtuprng)

      - [`ConformalSpecialOrthogonalGroupMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-conformalspecialorthogonalgroupminus-rngintelt-rngintelt)

      - [`CSOMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-csominus-rngintelt-rngintelt)

      - [`Omega(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-omega-rngintelt-rngintelt)

      - [`Omega(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-omega-rngintelt-fldfin)

      - [`Omega(V): ModTupRng → GrpMat`](standard.md#function-omega-modtuprng)

      - [`OmegaPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-omegaplus-rngintelt-rngintelt)

      - [`OmegaPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-omegaplus-rngintelt-fldfin)

      - [`OmegaPlus(V): ModTupRng → GrpMat`](standard.md#function-omegaplus-modtuprng)

      - [`OmegaMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-omegaminus-rngintelt-rngintelt)

      - [`OmegaMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-omegaminus-rngintelt-fldfin)

      - [`OmegaMinus(V): ModTupRng → GrpMat`](standard.md#function-omegaminus-modtuprng)

      - [`Spin(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-spin-rngintelt-rngintelt)

      - [`Spin(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-spin-rngintelt-fldfin)

      - [`Spin(V): ModTupRng → GrpMat`](standard.md#function-spin-modtuprng)

      - [`SpinPlus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-spinplus-rngintelt-rngintelt)

      - [`SpinPlus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-spinplus-rngintelt-fldfin)

      - [`SpinPlus(V): ModTupRng → GrpMat`](standard.md#function-spinplus-modtuprng)

      - [`SpinMinus(n, q): RngIntElt, RngIntElt → GrpMat`](standard.md#function-spinminus-rngintelt-rngintelt)

      - [`SpinMinus(n, K): RngIntElt, FldFin → GrpMat`](standard.md#function-spinminus-rngintelt-fldfin)

      - [`SpinMinus(V): ModTupRng → GrpMat`](standard.md#function-spinminus-modtuprng)

  - [Exceptional Groups](standard.md#exceptional-groups)

    - [Suzuki Groups](standard.md#suzuki-groups)

      - [`SuzukiGroup(q): RngIntElt → GrpMat`](standard.md#function-suzukigroup-rngintelt)

      - [`SuzukiGroup(K): FldFin → GrpMat`](standard.md#function-suzukigroup-fldfin)

      - [`SuzukiGroup(V): ModTupRng → GrpMat`](standard.md#function-suzukigroup-modtuprng)

      - [`Example: Symplectic`](standard.md#example-ex-df72cd)

      - [`Example: Suzuki`](standard.md#example-ex-58f4ed)

    - [Small Ree Groups](standard.md#small-ree-groups)

      - [`ReeGroup(q): RngIntElt → GrpMat`](standard.md#function-reegroup-rngintelt)

      - [`ReeGroup(K): FldFin → GrpMat`](standard.md#function-reegroup-fldfin)

      - [`ReeGroup(V): ModTupRng → GrpMat`](standard.md#function-reegroup-modtuprng)

    - [Large Ree Groups](standard.md#large-ree-groups)

      - [`LargeReeGroup(q): RngIntElt → GrpMat`](standard.md#function-largereegroup-rngintelt)

      - [`LargeReeGroup(K): FldFin → GrpMat`](standard.md#function-largereegroup-fldfin)

      - [`LargeReeGroup(V): ModTupRng → GrpMat`](standard.md#function-largereegroup-modtuprng)

- [Group Recognition](group-recognition.md)

  - [Constructive Recognition of Alternating Groups](group-recognition.md#constructive-recognition-of-alternating-groups)

    - [`RecogniseAlternatingOrSymmetric(G : parameters): Grp, RngIntElt → BoolElt, Map, Map, Map, Map, BoolElt`](group-recognition.md#function-recognisealternatingorsymmetric-grp-rngintelt)

    - [`AlternatingOrSymmetricElementToWord(G, g): Grp, GrpElt → BoolElt, GrpSLPElt`](group-recognition.md#function-alternatingorsymmetricelementtoword-grp-grpelt)

    - [`Example: Recognise Altsym2`](group-recognition.md#example-ex-98afe7)

    - [`RecogniseSymmetric(G, n: parameters): Grp, RngIntElt → BoolElt, Map, Map, Map, Map, BoolElt`](group-recognition.md#function-recognisesymmetric-grp-rngintelt)

    - [`SymmetricElementToWord(G, g): Grp, GrpElt → BoolElt, GrpSLPElt`](group-recognition.md#function-symmetricelementtoword-grp-grpelt)

    - [`RecogniseAlternating(G, n: parameters): Grp, RngIntElt → BoolElt, Map, Map, Map, Map, BoolElt`](group-recognition.md#function-recognisealternating-grp-rngintelt)

    - [`AlternatingElementToWord(G, g): Grp, GrpElt → BoolElt, GrpSLPElt`](group-recognition.md#function-alternatingelementtoword-grp-grpelt)

    - [`GuessAltsymDegree(G: parameters): Grp → BoolElt, MonStgElt, RngIntElt`](group-recognition.md#function-guessaltsymdegree-grp)

    - [`Example: Recognise Altsym2`](group-recognition.md#example-ex-785664)

  - [Determining the Type of a Finite Group of Lie Type](group-recognition.md#determining-the-type-of-a-finite-group-of-lie-type)

    - [`LieCharacteristic(G : parameters): Grp → RngIntElt`](group-recognition.md#function-liecharacteristic-grp)

    - [`Example: Write Over Smaller Field`](group-recognition.md#example-ex-337eef)

    - [`LieType(G, p : parameters): GrpMat, RngIntElt → BoolElt, Tup`](group-recognition.md#function-grpmatff-lietype)

    - [`LieType(G, p : parameters): GrpMat, RngIntElt → BoolElt, Tup`](group-recognition.md#function-grpperm-lietype)

    - [`SimpleGroupName(G : parameters): GrpMat → BoolElt, List`](group-recognition.md#function-simplegroupname-grpmat)

    - [`SimpleGroupName(G : parameters): GrpPerm → BoolElt, List`](group-recognition.md#function-simplegroupname-grpperm)

    - [`Example: Identify Simple`](group-recognition.md#example-ex-ffaa04)

  - [Classical Forms](group-recognition.md#classical-forms)

    - [`ClassicalForms(G: parameters): GrpMat → Rec`](group-recognition.md#function-grpmat-classicalforms)

    - [`SymplecticForm(G: parameters): GrpMat → BoolElt, AlgMatElt [,SeqEnum]`](group-recognition.md#function-symplecticform-grpmat)

    - [`SymmetricBilinearForm(G: parameters): GrpMat → BoolElt, AlgMatElt, MonStgElt [,SeqEnum]`](group-recognition.md#function-symmetricbilinearform-grpmat)

    - [`QuadraticForm(G): GrpMat → BoolElt, AlgMatElt, MonStgElt [,SeqEnum]`](group-recognition.md#function-quadraticform-grpmat)

    - [`UnitaryForm(G): GrpMat → BoolElt, AlgMatElt [,SeqEnum]`](group-recognition.md#function-unitaryform-grpmat)

    - [`FormType(G): GrpMat → MonStgElt`](group-recognition.md#function-formtype-grpmat)

    - [`Example: Classical Forms`](group-recognition.md#example-ex-9382cf)

    - [`TransformForm(form, type): AlgMatElt, MonStgElt → GrpMatElt`](group-recognition.md#function-transformform-algmatelt-monstgelt)

    - [`TransformForm(G): GrpMat → GrpMatElt`](group-recognition.md#function-transformform-grpmat)

    - [`SpinorNorm(g, form): GrpMatElt, AlgMatElt → RngIntElt`](group-recognition.md#function-spinornorm-grpmatelt-algmatelt)

    - [`Example: Spinor`](group-recognition.md#example-ex-b5d734)

  - [Recognizing Classical Groups in their Natural Representation](group-recognition.md#recognizing-classical-groups-in-their-natural-representation)

    - [`RecognizeClassical(G : parameters): GrpMat → BoolElt`](group-recognition.md#function-recognizeclassical-grpmat)

    - [`RecogniseClassical(G : parameters): GrpMat → BoolElt`](group-recognition.md#function-recogniseclassical-grpmat)

    - [`IsLinearGroup(G): GrpMat → BoolElt`](group-recognition.md#function-islineargroup)

    - [`IsSymplecticGroup(G): GrpMat → BoolElt`](group-recognition.md#function-issymplecticgroup-grpmat)

    - [`IsOrthogonalGroup(G): GrpMat → BoolElt`](group-recognition.md#function-isorthogonalgroup-grpmat)

    - [`IsUnitaryGroup(G): GrpMat → BoolElt`](group-recognition.md#function-isunitarygroup-grpmat)

    - [`ClassicalType(G): GrpMat → MonStgElt`](group-recognition.md#function-classicaltype-grpmat)

    - [`ClassicalGroupType(G): GrpMat → BoolElt, MonStgElt`](group-recognition.md#function-classicalgrouptype-grpmat)

    - [`Example: Recognize Classical`](group-recognition.md#example-ex-9f3ea6)

  - [Constructive Recognition of Linear Groups](group-recognition.md#constructive-recognition-of-linear-groups)

    - [`RecognizeSL2(G): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognizesl2-grpmat)

    - [`RecogniseSL2(G): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognisesl2-grpmat)

    - [`RecognizeSL2(G): GrpPerm → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognizesl2-grpperm)

    - [`RecogniseSL2(G): GrpPerm → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognisesl2-grpperm)

    - [`RecognizeSL2(G, q): GrpMat, RngIntElt → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognizesl2-grpmat-rngintelt)

    - [`RecogniseSL2(G, q): GrpMat, RngIntElt → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognisesl2-grpmat-rngintelt)

    - [`RecognizeSL2(G, q): GrpPerm, RngIntElt → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognizesl2-grpperm-rngintelt)

    - [`RecogniseSL2(G, q): GrpPerm, RngIntElt → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognisesl2-grpperm-rngintelt)

    - [`SL2ElementToWord(G, g): GrpMat, GrpMatElt → BoolElt, GrpSLPElt`](group-recognition.md#function-sl2elementtoword-grpmat-grpmatelt)

    - [`SL2ElementToWord(G, g): GrpPerm, GrpPermElt → BoolElt, GrpSLPElt`](group-recognition.md#function-sl2elementtoword-grpperm-grppermelt)

    - [`SL2Characteristic(G : parameters): GrpMat → RngIntElt, RngIntElt`](group-recognition.md#function-sl2characteristic-grpmat)

    - [`SL2Characteristic(G : parameters): GrpPerm → RngIntElt, RngIntElt`](group-recognition.md#function-sl2characteristic-grpperm)

    - [`Example: RecognizeSL2 1`](group-recognition.md#example-ex-6829cc)

    - [`Example: RecogniseSL2 2`](group-recognition.md#example-ex-82f78a)

    - [`RecogniseSL3(G): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognisesl3-grpmat)

    - [`RecogniseSL3(G, q : parameters): GrpMat, RngIntElt → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognisesl3-grpmat-rngintelt)

    - [`SL3ElementToWord(G, g): GrpMat, GrpMatElt → BoolElt, GrpSLPElt`](group-recognition.md#function-sl3elementtoword-grpmat-grpmatelt)

    - [`Example: Recognise SL3`](group-recognition.md#example-ex-46bbe9)

    - [`RecogniseSL(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognisesl-grp-rngintelt-rngintelt)

    - [`RecognizeSL(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognizesl-grp-rngintelt-rngintelt)

  - [Constructive Recognition of Symplectic Groups](group-recognition.md#constructive-recognition-of-symplectic-groups)

    - [`RecogniseSpOdd(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognisespodd-grp-rngintelt-rngintelt)

    - [`RecognizeSpOdd(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognizespodd-grp-rngintelt-rngintelt)

    - [`RecogniseSp4(G, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map, Map, Map, SeqEnum, SeqEnum`](group-recognition.md#function-recognisesp4-grp-rngintelt-rngintelt)

    - [`RecognizeSp4(G, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map, Map, Map, SeqEnum, SeqEnum`](group-recognition.md#function-recognizesp4-grp-rngintelt-rngintelt)

  - [Constructive Recognition of Unitary Groups](group-recognition.md#constructive-recognition-of-unitary-groups)

    - [`RecogniseSU3(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognisesu3-grp-rngintelt-rngintelt)

    - [`RecognizeSU3(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognizesu3-grp-rngintelt-rngintelt)

    - [`RecogniseSU4(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognisesu4-grp-rngintelt-rngintelt)

    - [`RecognizeSU4(G, d, q): Grp, RngIntElt, RngIntElt → BoolElt, Map, Map`](group-recognition.md#function-recognizesu4-grp-rngintelt-rngintelt)

  - [Recognition Of Classical Groups in Low Degree](group-recognition.md#recognition-of-classical-groups-in-low-degree)

    - [`RecogniseSmallDegree(G): GrpMat → BoolElt, GrpMat`](group-recognition.md#function-recognisesmalldegree-grpmat)

    - [`RecogniseSmallDegree(G, type, d, q): GrpMat, MonStgElt, RngIntElt, RngIntElt → BoolElt, GrpMat, Map, Map`](group-recognition.md#function-recognisesmalldegree-grpmat-monstgelt-rngintelt-rngintelt)

    - [`SmallDegreePreimage(G, g): GrpMat, GrpMatElt → GrpMatElt`](group-recognition.md#function-smalldegreepreimage-grpmat-grpmatelt)

    - [`SmallDegreeImage(G, h): GrpMat, GrpMatElt → GrpMatElt`](group-recognition.md#function-smalldegreeimage-grpmat-grpmatelt)

    - [`Example: Recognise Small Degree`](group-recognition.md#example-ex-5df193)

  - [Constructive Recognition of Suzuki Groups](group-recognition.md#constructive-recognition-of-suzuki-groups)

    - [Introduction](group-recognition.md#introduction)

    - [Recognition Functions](group-recognition.md#recognition-functions)

      - [`IsSuzukiGroup(G): GrpMat → BoolElt, RngIntElt`](group-recognition.md#function-issuzukigroup-grpmat)

      - [`RecogniseSz(G : parameters): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognisesz-grpmat)

      - [`RecognizeSz(G : parameters): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognizesz-grpmat)

      - [`SzElementToWord(G, g): GrpMat, GrpMatElt → BoolElt, GrpSLPElt`](group-recognition.md#function-szelementtoword-grpmat-grpmatelt)

      - [`SzPresentation(q): RngIntElt → GrpFP, HomGrp`](group-recognition.md#function-szpresentation-rngintelt)

      - [`SatisfiesSzPresentation(G): GrpMat → BoolElt`](group-recognition.md#function-satisfiesszpresentation-grpmat)

      - [`SuzukiIrreducibleRepresentation(F, twists : parameters): FldFin, SeqEnum[RngIntElt] → GrpMat`](group-recognition.md#function-suzukiirreduciblerepresentation-fldfin-seqenum-rngintelt)

      - [`Example: Ex 1`](group-recognition.md#example-ex-9d33f6)

      - [`Example: Ex 2`](group-recognition.md#example-ex-d3b056)

      - [`Example: Ex 3`](group-recognition.md#example-ex-f8d565)

      - [`Example: Ex 4`](group-recognition.md#example-ex-183108)

  - [Constructive Recognition of Small Ree Groups](group-recognition.md#constructive-recognition-of-small-ree-groups)

    - [Introduction](group-recognition.md#id29)

    - [Recognition Functions](group-recognition.md#id30)

      - [`RecogniseRee(G : parameters): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recogniseree-grpmat)

      - [`RecognizeRee(G : parameters): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognizeree-grpmat)

      - [`ReeElementToWord(G, g): GrpMat, GrpMatElt → BoolElt, GrpSLPElt`](group-recognition.md#function-reeelementtoword-grpmat-grpmatelt)

      - [`IsReeGroup(G): GrpMat → BoolElt, RngIntElt`](group-recognition.md#function-isreegroup-grpmat)

      - [`ReeIrreducibleRepresentation(F, twists : parameters): FldFin, SeqEnum[RngIntElt] → GrpMat`](group-recognition.md#function-reeirreduciblerepresentation-fldfin-seqenum-rngintelt)

      - [`Example: Ex 1`](group-recognition.md#example-ex-79d9a3)

  - [Constructive Recognition of Large Ree Groups](group-recognition.md#constructive-recognition-of-large-ree-groups)

    - [Introduction](group-recognition.md#id32)

    - [Recognition Functions](group-recognition.md#id33)

      - [`RecogniseLargeRee(G : parameters): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recogniselargeree-grpmat)

      - [`RecognizeLargeRee(G : parameters): GrpMat → BoolElt, Map, Map, Map, Map`](group-recognition.md#function-recognizelargeree-grpmat)

      - [`LargeReeElementToWord(G, g): GrpMat, GrpMatElt → BoolElt, GrpSLPElt`](group-recognition.md#function-largereeelementtoword-grpmat-grpmatelt)

      - [`IsLargeReeGroup(G): GrpMat → BoolElt, RngIntElt`](group-recognition.md#function-islargereegroup-grpmat)

- [Properties of Finite Groups Of Lie Type](properties-lie-groups.md)

  - [Maximal Subgroups of the Classical Groups](properties-lie-groups.md#maximal-subgroups-of-the-classical-groups)

    - [`ClassicalMaximals(type, d, q : parameters): MonStgElt, RngIntElt, RngIntElt → SeqEnum`](properties-lie-groups.md#function-classicalmaximals-monstgelt-rngintelt-rngintelt)

  - [Maximal Subgroups of the Exceptional Groups](properties-lie-groups.md#maximal-subgroups-of-the-exceptional-groups)

    - [`SuzukiMaximalSubgroups(G): GrpMat → SeqEnum, SeqEnum`](properties-lie-groups.md#function-suzukimaximalsubgroups-grpmat)

    - [`SuzukiMaximalSubgroupsConjugacy(G, R, S): GrpMat, GrpMat, GrpMat → GrpMatElt, GrpSLPElt`](properties-lie-groups.md#function-suzukimaximalsubgroupsconjugacy-grpmat-grpmat-grpmat)

    - [`ReeMaximalSubgroups(G): GrpMat → SeqEnum, SeqEnum`](properties-lie-groups.md#function-reemaximalsubgroups-grpmat)

    - [`ReeMaximalSubgroupsConjugacy(G, R, S): GrpMat, GrpMat, GrpMat → GrpMatElt, GrpSLPElt`](properties-lie-groups.md#function-reemaximalsubgroupsconjugacy-grpmat-grpmat-grpmat)

    - [`SzMaximals(q): RngIntElt → SeqEnum`](properties-lie-groups.md#function-szmaximals-rngintelt)

    - [`ReeMaximals(q): RngIntElt → SeqEnum`](properties-lie-groups.md#function-reemaximals-rngintelt)

    - [`G2Maximals(q): RngIntElt → SeqEnum`](properties-lie-groups.md#function-g2maximals-rngintelt)

  - [Sylow Subgroups of the Classical Groups](properties-lie-groups.md#sylow-subgroups-of-the-classical-groups)

    - [`ClassicalSylow(G,p): GrpMat, RngIntElt → GrpMat`](properties-lie-groups.md#function-classicalsylow-grpmat-rngintelt)

    - [`ClassicalSylowConjugation(G,P,S): GrpMat, GrpMat, GrpMat → GrpMatElt`](properties-lie-groups.md#function-classicalsylowconjugation-grpmat-grpmat-grpmat)

    - [`ClassicalSylowNormaliser(G,P): GrpMat, GrpMat → GrpMatElt`](properties-lie-groups.md#function-classicalsylownormaliser-grpmat-grpmat)

    - [`ClassicalSylowToPC(G,P): GrpMat, GrpMat → GrpPC, UserProgram, Map`](properties-lie-groups.md#function-classicalsylowtopc-grpmat-grpmat)

    - [`Example: Sylow Ex`](properties-lie-groups.md#example-ex-464f7f)

  - [Sylow Subgroups of Exceptional Groups](properties-lie-groups.md#sylow-subgroups-of-exceptional-groups)

    - [`SuzukiSylow(G, p): GrpMat, RngIntElt → GrpMat, SeqEnum`](properties-lie-groups.md#function-suzukisylow-grpmat-rngintelt)

    - [`SuzukiSylowConjugacy(G, R, S, p): GrpMat, GrpMat, GrpMat, RngIntElt → GrpMatElt, GrpSLPElt`](properties-lie-groups.md#function-suzukisylowconjugacy-grpmat-grpmat-grpmat-rngintelt)

    - [`Example: Sz Sylow`](properties-lie-groups.md#example-ex-c86d0c)

    - [`ReeSylow(G, p): GrpMat, RngIntElt → GrpMat, SeqEnum`](properties-lie-groups.md#function-reesylow-grpmat-rngintelt)

    - [`ReeSylowConjugacy(G, R, S, p): GrpMat, GrpMat, GrpMat, RngIntElt → GrpMatElt, GrpSLPElt`](properties-lie-groups.md#function-reesylowconjugacy-grpmat-grpmat-grpmat-rngintelt)

    - [`LargeReeSylow(G, p): GrpMat, RngIntElt → GrpMat, SeqEnum`](properties-lie-groups.md#function-largereesylow-grpmat-rngintelt)

    - [`Example: Ree Sylow`](properties-lie-groups.md#example-ex-026da0)

  - [Conjugacy of Subgroups of the Classical Groups](properties-lie-groups.md#conjugacy-of-subgroups-of-the-classical-groups)

    - [`IsGLConjugate(H, K): GrpMat, GrpMat → BoolElt, GrpMatElt | Unass`](properties-lie-groups.md#function-isglconjugate-grpmat-grpmat)

  - [Conjugacy of Elements of the Exceptional Groups](properties-lie-groups.md#conjugacy-of-elements-of-the-exceptional-groups)

    - [`SzConjugacyClasses(G): GrpMat → SeqEnum`](properties-lie-groups.md#function-szconjugacyclasses-grpmat)

    - [`SzClassRepresentative(G, g): GrpMat, GrpMatElt → GrpMatElt, GrpMatElt`](properties-lie-groups.md#function-szclassrepresentative-grpmat-grpmatelt)

    - [`SzIsConjugate(G, g, h): GrpMat, GrpMatElt, GrpMatElt → BoolElt, GrpMatElt`](properties-lie-groups.md#function-szisconjugate-grpmat-grpmatelt-grpmatelt)

    - [`SzClassMap(G): GrpMat → Map`](properties-lie-groups.md#function-szclassmap-grpmat)

    - [`ReeConjugacyClasses(G): GrpMat → SeqEnum`](properties-lie-groups.md#function-reeconjugacyclasses-grpmat)

  - [Irreducible Subgroups of the General Linear Group](properties-lie-groups.md#irreducible-subgroups-of-the-general-linear-group)

    - [`IrreducibleSubgroups(n, q): RngIntElt, RngIntElt → SeqEnum`](properties-lie-groups.md#function-irreduciblesubgroups-rngintelt-rngintelt)

    - [`Example: Write Over Smaller Field`](properties-lie-groups.md#example-ex-4bbc80)

- [Atlas Data for the Sporadic Groups](related.md)

  - [`StandardGenerators(G, str : parameters): Grp, MonStgElt → BoolElt, SeqEnum, SeqEnum`](related.md#function-standardgenerators-grp-monstgelt)

  - [`StandardGeneratorsGroupNames() → SetIndx`](related.md#function-standardgeneratorsgroupnames)

  - [`StandardCopy(str): MonStgElt → Grp, BoolElt`](related.md#function-standardcopy-monstgelt)

  - [`IsomorphismToStandardCopy(G, str : parameters): Grp, MonStgElt → BoolElt, Map`](related.md#function-isomorphismtostandardcopy-grp-monstgelt)

  - [`StandardPresentation(G, str : parameters): Grp, MonStgElt → BoolElt, SeqEnum, SeqEnum`](related.md#function-standardpresentation-grp-monstgelt)

  - [`MaximalSubgroups(G, str : parameters): Grp, MonStgElt → BoolElt, SeqEnum, SeqEnum`](related.md#function-maximalsubgroups-grp-monstgelt)

  - [`Subgroups(G, str : parameters): Grp, MonStgElt → BoolElt, SeqEnum`](related.md#function-subgroups-grp-monstgelt)

  - [`GoodBasePoints(G, str : parameters): Grp, MonStgElt → BoolElt, SeqEnum`](related.md#function-goodbasepoints-grp-monstgelt)

  - [`SubgroupsData(str): MonStgElt → SeqEnum`](related.md#function-subgroupsdata-monstgelt)

  - [`MaximalSubgroupsData(str : parameters): MonStgElt → SeqEnum`](related.md#function-maximalsubgroupsdata-monstgelt)

  - [`Example: Sporadic J1`](related.md#example-ex-328794)

- [Automorphism Groups of Finite Simple Groups](autgpsimgpss.md)

  - [`AutomorphismGroupSimpleGroup(type, d, q): MonStgElt, RngIntElt, RngIntElt → GrpPerm`](autgpsimgpss.md#function-automorphismgroupsimplegroup-monstgelt-rngintelt-rngintelt)

  - [`AutomorphismGroupSimpleGroup(type, q): MonStgElt, RngIntElt → GrpPerm`](autgpsimgpss.md#function-automorphismgroupsimplegroup-monstgelt-rngintelt)

  - [`AutomorphismGroupSimpleGroup(name): MonStgElt → GrpPerm`](autgpsimgpss.md#function-automorphismgroupsimplegroup-monstgelt)

  - [`AutomorphismGroupSimpleGroup(triple): Tup → GrpPerm`](autgpsimgpss.md#function-automorphismgroupsimplegroup-tup)
