ApCoCoA-1:Picard group

From ApCoCoAWiki

Description

Reference

Discontinuous Groups and Riemann Surfaces: Proceedings, Leon Greenberg

Computation

 /*Use the ApCoCoA package ncpoly.*/

  Use ZZ/(2)[a,l,t,u];
  NC.SetOrdering("LLEX");

  Define CreateRelationsPicard()
  Relations:=[];
  
   // add the relation a^2 = 1
  Append(Relations,[[a,a],[1]]);
  // add the relation l^2 = 1
  Append(Relations,[[l,l],[1]]);
  
  // add the relation (al)^2 = 1
  Append(Relations,[[a,l,a,l],[1]]);
  
  // add the relation (tl)^2 = 1
  Append(Relations,[[t,l,t,l],[1]]);
    
  // add the relation (ul)^2 = 1
  Append(Relations,[[u,l,u,l],[1]]);
  
  // add the relation (at)^3 = 1
  Append(Relations,[[a,t,a,t,a,t],[1]]);
   
  // add the relation (ual)^3 = 1
  Append(Relations,[[u,a,l,u,a,l,u,a,l],[1]]);
 
  //add the relation tu = ut
  Append(Relations,[[t,u],[u,t]]);
 
  Return Relations;
EndDefine;

Relations:=CreateRelationsPicard();
Relations;

Gb:=NC.GB(Relations,31,1,100,1000);
Gb;

Example in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-26" createdBy="strohmeier">
 	<vars>a,l,t,u</vars>
 	<uptoDeg>9</uptoDeg>
 	<basis>
 	<ncpoly>a*a-1</ncpoly>
 	<ncpoly>l*l-1</ncpoly>
 	<ncpoly>a*l*a*l-1</ncpoly>
 	<ncpoly>t*l*t*l-1</ncpoly>
 	<ncpoly>u*l*u*l-1</ncpoly>
 	<ncpoly>a*t*a*t*a*t-1</ncpoly>
 	<ncpoly>u*a*l*u*a*l*u*a*l-1</ncpoly>
 	<ncpoly>t*u-u*t</ncpoly>
 	</basis>
 	<Comment>The partial LLex Gb has 104 elements</Comment>
 	<Comment>Picard_group</Comment>
 </FREEALGEBRA>