# Difference between revisions of "ApCoCoA-1:Modular group"

### Modular Group

#### Description

The Modular group has the following representation:

``` PSL(2,Z) = <a,b | a^2 = (ab)^3 = 1 >
```

#### Reference

Platonic tilings of Riemann surfaces: The Modular Group, Gerard Westendorp

#### Computation

``` /*Use the ApCoCoA package ncpoly.*/

// a^{-1} is a and b is invers to d
Use ZZ/(2)[a,b,d];
NC.SetOrdering("LLEX");
Define CreateRelationsModular()
Relations:=[];
Append(Relations,[[b,d],]);
Append(Relations,[[d,b],]);

// add the relation a^2 = 1
Append(Relations,[[a^2],]);

// add the relation (ab)^3 = 1
Append(Relations,[[a,b,a,b,a,b],]);

Return Relations;
EndDefine;

Relations:=CreateRelationsModular();
GB:=NC.GB(Relations);
```

#### Example in Symbolic Data Format

``` <FREEALGEBRA createdAt="2014-01-24" createdBy="strohmeier">
<vars>a,b,d</vars>
<basis>
<ncpoly>b*d-1</ncpoly>
<ncpoly>d*b-1</ncpoly>
<ncpoly>a*a-1</ncpoly>
<ncpoly>(a*b)^3-1</ncpoly>
</basis>
<Comment>Modular_group</Comment>
</FREEALGEBRA>
```