ApCoCoA:Picard group

From CoCoAWiki
Jump to: navigation, search

Description

The Picard Group is PSL_{2}(O_{1}) where O_{1} is the ring of integers in the quadratic imaginary number field Q sqrt(-1).

Reference

L. Greenberg - "Discontinuous Groups and Riemann Surfaces: Proceedings" - Princeton University Press (1974) 151; B. Fine - "THE EUCLIDEAN BIANCHI GROUPS" - COMMUNICATIONS IN ALGEBRA, 18(8), 2461-2484 (1990) 2461

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>