{\rtf1\ansi\ansicpg1252\cocoartf2636 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 \f0\fs24 \cf0 #The following code checks that the intersection matrix of the roots\ #in the Coxeter diagram obtained by Sterk for cusp 3 has rank 10.\ \ #The following vector records the self intersections of the roots.\ SelfIntersections=[-4,-4,-4,-4,-2,-4,-4,-2,-4,-4,-4,-4]\ \ #The following matrix records the miltiplicities of the edges of the Coxeter diagram.\ var('infinity')\ EdgesCoxeterDiagram=[\ [0,1,0,0,0,0,0,0,0,0,1,1],\ [1,0,1,0,0,0,0,0,0,0,0,0],\ [0,1,0,1,0,0,0,0,0,0,0,0],\ [0,0,1,0,2,0,0,0,0,0,0,0],\ [0,0,0,2,0,2,0,0,0,0,0,0],\ [0,0,0,0,2,0,infinity,0,0,0,0,0],\ [0,0,0,0,0,infinity,0,2,0,0,0,0],\ [0,0,0,0,0,0,2,0,2,0,0,0],\ [0,0,0,0,0,0,0,2,0,1,0,0],\ [0,0,0,0,0,0,0,0,1,0,1,0],\ [1,0,0,0,0,0,0,0,0,1,0,0],\ [1,0,0,0,0,0,0,0,0,0,0,0]\ ]\ \ #We now are ready to form the intersection matrix of the roots of the Coxeter diagram\ RootsIntersectionMatrix=[]\ for i in range(0,12):\ row=[]\ for j in range(0,12):\ if i==j:\ number=SelfIntersections[i]\ if i!=j:\ edgemult=EdgesCoxeterDiagram[i][j]\ visquared=SelfIntersections[i]\ vjsquared=SelfIntersections[j]\ if edgemult!=infinity:\ number=sqrt(visquared*vjsquared)*cos(pi/(edgemult+2))\ if edgemult==infinity:\ number=sqrt(visquared*vjsquared)\ row.append(number)\ RootsIntersectionMatrix.append(row)\ \ #We now compute the rank.\ matrix(RootsIntersectionMatrix).rank()}