https://github.com/ariymarkowitz/sl2rdiscrete

A Magma package to recognise finitely generated discrete subgroups of SL(2, R) and PSL(2, R)

https://github.com/ariymarkowitz/sl2rdiscrete

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.0%) to scientific vocabulary

Keywords

computational-group-theory group-theory magma matrices
Last synced: 6 months ago · JSON representation

Repository

A Magma package to recognise finitely generated discrete subgroups of SL(2, R) and PSL(2, R)

Basic Info
  • Host: GitHub
  • Owner: ariymarkowitz
  • Language: M
  • Default Branch: main
  • Homepage:
  • Size: 61.5 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
computational-group-theory group-theory magma matrices
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

A Magma package to recognise finitely generated discrete subgroups of SL(2, R) and PSL(2, R).

Types

GrpSL2RGen

A finite generating set for a subgroup of SL(2, R). R is represented by an algebraic number field together with a place (real embedding). This type has the following attributes:

  • field - The base field.
  • matalg - The matrix algebra.
  • place - The place (real embedding) of the field.
  • seq- Sequence of generators of the group.

The following attributes are initially unset, and are set by RecognizeDiscreteTorsionFree(gen::GrpSL2RGen). - has_neg - True if psl is false and the group contains -I. - neg_word - -I as a word in the generators. - type - The type of group. This attribute is one of the following: - "un" - Unknown type (only used for intermediate reduction steps). - "df" - Discrete and free. - "dc" - Discrete with co-compact action. - "ab" - Contains an indiscrete abelian subgroup. - "el" - Contains an elliptic element. - witness - The witness proving that the group is a particular type. For "un", this is a Nielsen-equivalent generating set. For "df" and "dc", this is a reduced generating set (not including -I). For "sm" and "ab", this is a pair of elements generating an indiscrete group. For "el", this is an elliptic element. - witness_word - A word corresponding to each element of the witness.

The following attributes are only defined if SL2Gen is determined to be discrete and torsion-free. - FPgrp - A finitely-presented group isomorphic to this group. - matgrp - A matrix group (with reduced generating set) isomorphic to this group. - iso - Isometry from matgrp to FPgrp.

Intrinsics

Discrete and free groups

SL2Gens(seq::SeqEnum[AlgMatElt[FldNum]], place::PlcNumElt : psl := false) -> GrpSL2RGen

Create a generating set for a subgroup of SL(2, R). If psl is set, then the generators will be considered to be representatives of elements of PSL(2, R).

RecognizeDiscreteTorsionFree(gen::GrpSL2RGen)

Decide a generating set of SL(2, R) is discrete and torsion-free. This adds data to gen that records the results of the recognition algorithm.

IsDiscreteTorsionFree(gen::GrpSL2RGen) -> BoolElt

Return true if the generating set is discrete and torsion-free.

IsDiscreteFree(gen::GrpSL2RGen) -> BoolElt

Return true if the generating set is discrete and free.

IsDiscreteCocompact(gen::GrpSL2RGen) -> BoolElt

Return true if the generating set is discrete with cocompact action.

IsElementOf(g::AlgMatElt, gen::GrpSL2RGen) -> BoolElt, GrpFPElt

Decide whether g is an element of the group, returning the word in the reduced set evaluating to g.

MapToFundamentalDomain(z::Tup, gen::GrpSL2RGen) -> AlgMatElt, GrpFPElt

Return g (and corresponding word w) such that gz is in the fundamental domain. Two points in the same orbit will be mapped to the same orbit representative.

ReducedGenerators(gen::GrpSL2RGen) -> SeqEnum[AlgMatElt]

Return a reduced generating set for a discrete torsion-free group.

BaseField(gen::GrpSL2RGen) -> FldNum

Return the base field of the group.

HasNegativeOne(gen::GrpSL2RGen) -> FldNum, GrpFPElt

Return true if the subgroup of SL(2, R) has -I.

Rank(gen::GrpSL2RGen) -> RngIntElt

The rank of a discrete torsion-free group.

Discrete groups

TorsionFreeSubgroup(gen::GrpSL2RGen) -> GrpSL2RGen, SetEnum[AlgMatElt], RngIntElt

Find a generating set for a torsion-free congruence subgroup.

IsDiscrete(gen::GrpSL2RGen) -> BoolElt, GrpSL2RGen, SetEnum[AlgMatElt], RngIntElt

Decide whether a subgroup of SL(2, R) or PSL(2, R) is discrete, returning a finite index subgroup and set of coset representatives if so.

IsElementOf(g::AlgMatElt, tf_gp::GrpSL2RGen, cosets::SetEnum[AlgMatElt]) -> BoolElt, GrpFPElt, AlgMatElt

Decide whether g is an element of a subgroup of SL(2, R) or PSL(2, R), given a torsion-free discrete subgroup and a set of coset representatives. If it is, then return (w, s) where s is a coset representative and w is a word in the reduced set such that w*s evaluates to g.

Owner

  • Name: Ari Markowitz
  • Login: ariymarkowitz
  • Kind: user

GitHub Events

Total
  • Watch event: 1
  • Push event: 1
Last Year
  • Watch event: 1
  • Push event: 1