# Documentation on cws.x

cws.x is concerned mainly with the first steps of the algorithm of hep-th/9512204, alg-geom/9603007 and math/0001106 for the classification of reflexive polytopes in a given dimension. In particular it contains an implementation of the algorithm alg-geom/9603007 for the classification of weight systems, and routines for combining these weight systems into CWS.

## Help Screen

As always, rough information can be obtained with the help screen.

palp$cws.x -h This is cws.x': create weight systems and combined weight systems. Usage: cws.x -<options>; the first option must be w', c', i', d' or h'. Options: -h print this information -f use as filter; otherwise parameters denote I/O files -w# [L H] make IP weight systems for #-dimensional polytopes. For #>4 the lowest and highest degrees L<=H are required. -r/-t make reflexive/transversal weight systems (optional). -c# make combined weight systems for #-dimensional polytopes. For #<=4 all relevant combinations are made by default, otherwise the following option is required: -n[#] followed by the names wf_1 ... wf_# of weight files currently #=2,3 are implemented. [-t] followed by # numbers n_i specifies the CWS-type, i.e. the numbers n_i of weights to be selected from wf_i. Currently all cases with n_i<=2 are implemented. -i compute the polytope data M:p v [F:f] N:p [v] for all IP CWS, where p and v denote the numbers of lattice points and vertices of a dual pair of IP polytopes; an entry F:f and no v for N indicates a non-reflexive dual pair'. -d# compute basic IP weight systems for #-dimensional reflexive Gorenstein cones; -r# specifies the index as #/2. -2 adjoin a weight of 1/2 to the input of the weight system.  There is also a second help screen that can be called with the option -x' (see below). ## Options of cws.x ### -w[number] The behaviour of 'cws.x -w#' depends crucially on #. If $\#\le 4$ all weight systems corresponding to \#-dimensional IP-simplices are determined by executing the algorithm of alg-geom/9603007: palp$ cws.x -w2
3  1 1 1  rt
4  1 1 2  rt
6  1 2 3  rt  #=3  #cand=3


The algorithm determines candidates for weight systems and prints them if they lead to polytopes with the IP property (see section IP Property and IP simplices); this holds for all 3 candidates, as "#=3 cand=3" indicates. If such a weight system gives rise to a reflexive polytope (which is always the case in dimension $\le 4$ alg-geom/9603007) this is indicated by an "r"; if the (possibly singular) weighted projective space corresponding to the weight system obeys the transversality condition' that the Calabi--Yau hypersurface equation introduces no additional singularities, this is indicated by a "t".

If $\# > 4$, one has to enter a lower and an upper bound for the degrees of the weight systems. "cws.x -w#" then examines all possible such systems and displays the ones that define polytopes with the IP property.

If an extra option of -r' or -t' is specified, the output contains only the reflexive or transverse weight systems, respectively. Just try "cws.x -w5 5 8", "cws.x -w5 5 8 -r" and "cws.x -w5 5 8 -t" to see how this works.

### -c[number]

Now the output contains combined weight systems (CWS). Again all of them are created if the number after -c' is $\le 4$ (try "cws.x -c3"). Otherwise weight systems that are read from files are combined. We apologize for not being able to give information beyond the one given in the help screen.

### -i

In this case polytope input is required. The output is like that of poly.x -g, but suppressed for polytopes without the IP property. This can be useful to filter a list of CWS for the IP property.

### -d[number] [-r[number]]

The so-called basic weight systems for reflexive Gorenstein cones of a given dimension (the number after -d') and a given index are computed; if -r' is used, the index is \emph{half} the number after -r', otherwise the index is 1 by default. See arXiv:1204.1181 and http://hep.itp.tuwien.ac.at/~kreuzer/CY/ for more details.

### -2

"cws.x -2 < infile > outfile" writes the list of weight systems in "infile" to "outfile", but with a weight of 1 / 2 adjoined to each input weight system; this is useful because the -d'--option produces only weight systems without weights of 1 / 2.

### -x

A further help screen with additional options is displayed:

palp$cws.x -x This is cws.x': -x gives undocumented extensions: -ip printf PolyPointList -id printf dual PolyPointList -N make CWS for PPL in N lattice -p# [infile1] [infile2] makes cartesian product of Vertices. # dimensions are identified. -S count simplex points for weight system -L count using LattE (-> count redcheck cdd)  As -x' refers to experimental' and none of the authors is familiar with them, we leave it to the reader to play with them and perhaps find useful applications. It would be greatly appreciated if any insights gained in this way were communicated at this place. ### -N Given a polytope as matrix input, this option reconstructs the CWS of a polytope isomorphic to the given one. The option only accepts matrix input, otherwise it returns the message 'Only PPL-input in Npoly2cws!'. It is useful to verify whether a polytope is actually defined on a sublattice of finite index. As a simple example consider the polytope consisting of only the vertices of the Newton polytope of the quintic hypersurface in $\mathbb{CP}^4$ palp$ cws.x -N
Degrees and weights  d1 w11 w12 ... d2 w21 w22 ...'
or #lines #columns' (= PolyDim #Points' or #Points PolyDim'):
4 5
Type the 20 coordinates as dim=4 lines with #pts=5 columns:
-1 -1 -1 -1  4
-1 -1 -1  4 -1
-1 -1  4 -1 -1
-1  4 -1 -1 -1
5 1 1 1 1 1 /Z5: 4 1 0 0 0 /Z5: 4 0 1 0 0 /Z5: 4 0 0 1 0
`

This option is in some sense inverse to 'poly.x' without any options, see Documentation for poly.x, and hence should viewed as part of 'poly.x' which for historical reasons ended up in 'cws.x'.