Documentation for class.x-2.0

From Palp
Jump to: navigation, search

With class.x the classification of reflexive polytopes in three or four dimensions can be reproduced. It may also be useful for other applications involving large lists of polytopes because of the existence of efficient routines for compressing and storing polytope data. In addition it allows analysis of polytopes that are reflexive with respect to more than one lattice.

Contents

Help screens

The standard help screen for class.x is

class.x -h
This is  `class.x', a program for classifying reflexive polytopes
Usage:     class.x  [options] [ascii-input-file [ascii-output-file]]
Options:   -h          print this information
           -f or -     use as filter; otherwise parameters denote I/O files
           -m*         various types of minimality checks (* ... lvra)
           -p* NAME    specification of a binary I/O file (* ... ioas)
           -d* NAME    specification of a binary I/O database (DB) (* ... ios)
           -r          recover: file=po-file.aux, use same pi-file
           -o[#]       original lattice [omit up to # points] only
           -s*         subpolytopes on various sublattices (* ... vphmbq)
           -k          keep some of the vertices
           -c          check consistency of binary file or DB
           -M[M]       print missing mirrors to ascii-output
           -a[2b]      create binary file from ascii-input
           -b[2a]      ascii-output from binary file or DB
           -H*         applications related to Hodge number DBs (* ...cstfe)

Type one of [m,p,d,r,o,s,c,M,a,b,H] for help on options,
`g' for general help, `I' for general information on I/O or `e' to exit: 

Its design is such that typing the letter corresponding to an option gives a more detailed description of that option.

The other help screen is

class.x -x
Extended/experimental options:
           -A[2B]             AffineNF to Binary for non-IP
           -B[2A]             Binary to AffineNF for non-IP
	-sh ... gen by codim>1 points (omit IPs of facets)
	-sp ... gen by all points
	-sb ... generated by dim<=1 (edges), print if rank=2	
	-sq ... generated by vertices,       print if rank=3	
	    q,b currently assume that dim=4
           -d1 -d2 [-po]      combined mirror info (projected

In addition to the options listed in these two screens, a study of class.c reveals that '-C' should also be valid.

Some options in detail

In the following we concentrate on the options not listed via the 'class.x -h' screen, which provides longer descriptions anyway.

-A

Apparently this option does for polytopes that need not have the IP property what the option '-a' does for IP polytopes: given a list of polytopes as ascii input, each is first converted to its 'affine normal form' and then stored in binary format (the output file must be specified via '-po' or '-do').

Example:

echo "4 1 1 1 1" | class.x -f -A -po quarticAnf

results in the creation of a binary file 'quarticAnf' containing the affine normal form of the polytope corresponding to the quartic K3.

-B

This option extracts the information from a binary file or data base created via '-A'. Following the previous example, we can extract the affine normal form of the polytope corresponding to the quartic K3:

class.x -B -pi quarticAnf
3 4
4 0 0 0
0 4 0 0
0 0 4 0
np=1+0sl  3d  1v<=4 n<=3  1nv  1 0 1 3  0 0 0 0

-s*

Options starting with '-s' already exist in the original version: upon typing 's' in the screen following 'class.x -h', one gets

`class.x -s* [-di<input-db>] [-mr] -po<out-file>' polytopes on sublattices:
`class.x -sh [-di<input-db>]' finds Calabi-Yau hypersurfaces that are free
             free quotients (i.e. points on codim>1 faces of the dual
             polytope do not span the N-lattice). Input can be ascii or DB.
`class.x -sp [-di<input-db>]' same as `-sh' except that it is checked whether
             all points of the dual span the N lattice.
`class.x -sv [-di<input-db>] [-mr] -po<out-file>' serves to determine
             on which sublattices of the original lattice a given polytope is
             still a lattice polytope. Input can be ascii or database. In the
             former case all sublattice polytopes are determined and in the
             latter case only those not yet in the database. With the option
             `-mr' the result, which is written to <out-file>, is
             restricted to r-maximal polytopes.
`class.x -sm [-di<input-db>] [-mr] -po<out-file>' same as `-sv' but now all
             reflexive polytopes that have the same pairing matrix between
             vertices and equations are constructed

All of these are related to the fact that a polytope can be reflexive on different lattices. The coarsest such lattice is the one generated by its vertices and the finest one is the one dual to the lattice generated by the dual polytope.

It appears that the options '-sb' and '-sq' listed in 'class.x -x' are similar to '-sh' and 'sp'. There also seems to be the completely undocumented possibility of putting digits after the '-s', e.g. '-s5'. Does anybody know anything about this?

-d1 -d2

??? Can anyone make sense of the line

           -d1 -d2 [-po]      combined mirror info (projected

occurring in 'class.x -x'? Does it still refer to the '-s*' options or to some entirely new options?

-C

A study of the code gives the impression that it should function like '-c' but provide a more detailed output.


Strategy for future versions

Given that '-A' and '-B' seem to work well and that '-s*' type options are already listed in the main help screen, I (Skarke) suggest to abandon the 'class.x -x' screen and to describe all admissible options in the regular help. Any objections?

The C definitions and routines shared by class.c and other classification related files are listed in the header file Subpoly.h but are largely undocumented. Trying to change this situation would probably mean very hard work reaping rather little benefit.

Personal tools
Namespaces

Variants
Actions
Navigation
Tools