Resolving toric varieties with Nash blow-ups

Atanas Atanasov, Christopher Lopez, Alexander Perry, Nicholas Proudfoot, Michael Thaddeus

This web site is an appendix to the paper of the same name. It links to files containing data too voluminous to include in the paper, as well as to the source code of the C++ program resolve used to generate these data.

(A) Nash resolutions of simplicial cones

Nash resolutions of irreducible simplicial cones in 3 dimensions for I ≤ 24 (1169 cones, pdf format, 21.2 MB)
Nash resolutions of irreducible simplicial cones in 4 dimensions for I ≤ 8 (201 cones, pdf format, 18.8 MB)
Nash resolutions of irreducible simplicial cones in 5 dimensions for I ≤ 3 (15 cones, pdf format, 0.1 MB)

The documents linked above give the Nash resolutions of all simplicial cones in dimensions 3, 4, and 5 whose index I is small. A total of 1385 simplicial cones are resolved (though this includes some reducible ones).

The notation used for matrices is that of the Boost C++ library uBLAS, in which an m x n matrix with rows v(1),...,v(m) is denoted [m,n](v(1),...,v(m)). For example, the 3 x 3 identity matrix is denoted [3,3]((1,0,0),(0,1,0),(0,0,1)).

Each section entitled "I.0 Classification" enumerates the equivalence classes of simplicial cones of dimension d and index I. For each equivalence class, a presentation is given in an unindented row. The indented rows immediately below it list all matrices, equivalent to the unindented one modulo Sm x GL(d,Z), which are in Hermite normal form with coprime rows. These are presentations of equivalent cones. Moreover, every simplicial cone is presented by a matrix A in Hermite normal form with coprime rows. The equivalence can be expressed as: A ~ A' iff A-1SA' is an integer matrix for some permutation matrix S. All of this is discussed in §5 of the paper.

Each section entitled "I.j Resolved" gives the Nash resolution of the jth cone listed in section I.0. (This is the same cone referred to in the paper as CI,j in dimension 3 or DI,j in dimension 4.) The format of the Nash resolution is similar to that of Tables 5 and 6 in the paper, explained in §6, except that here the uBLAS notation is used for matrices. As in Figures 2 and 3, each resolution has been truncated after any simplicial cone with I strictly less than that of the initial cone. This avoids repetition, as such a cone is resolved earlier in the document.

The notes on the right of each line mean the following. "lvl" is the depth of a node in the resolution tree. "h,r-ind" is the ordered pair I, I* consisting of the index and dual index. "alert-h-inc" or "alert-r-inc" indicate that I or I*, respectively, has increased. "optimized-h" labels simplicial cones with I less than that of the initial one, where the resolution is truncated as stated above.

We have found that, in these documents, one can search for a text string by entering a search term in which the characters of the string alternate with space characters.

(B) Source code for resolve

C++ source code for resolve v0.1 (gzipped tar archive, 0.8 MB).

Written by Atanas Atanasov, Christopher Lopez, and Alexander Perry in summer 2008.
Save as resolve-source.tar.gz and use gunzip resolve-source.tar.gz followed by tar -xvf resolve-source.tar in a UNIX shell to extract resolve directory. A README file inside explains how to compile.
Produces four executables:
(1) resolve, input is matrix presentation of a cone (not necessarily simplicial) in uBLAS notation, output is Nash resolution;
(2) resolve-list, inputs are options (normally r, or rt to create a TeX file too), dimension d, and index I, output is classification and Nash resolution of all simplicial cones of dimension d and index ≤ I (for i ≤ I, the classification of index i cones will be saved as src/lists/list-dim-(d)-hindex-(i).info, while the resolution of the jth cone on this list will be saved as src/lists/list-dim-(d)-hindex-(i)-num-(j).resolve);
(3) similar, inputs are two square matrices, output declares whether they present equivalent cones;
(4) standardize, input is a nonsingular square matrix with coprime rows, output is an equivalent matrix in Hermite normal form, canonically chosen in its equivalence class. (The rule for designating this matrix as the canonical representative in its equivalence class is somewhat arbitrary, involving a lexicographic ordering, but is adequate for classification purposes.)
All matrices should be enclosed in 'single quotes'.
Requires the software libraries lrslib, 4ti2, gap, libboost, and (optionally) qhull.
The use of qhull improves the efficiency of longer calculations. Seemingly different output (with orders of cones and vectors permuted) may result, but there is no real difference. To enable the use of qhull, uncomment the option in src/common.h for OPT_USE_QHULL.
As presently configured, both resolve and resolve-list truncate the resolution process beyond any simplicial cone with I strictly less than that of the initial cone (as in Figures 2 and 3). This feature can be turned off by adjusting the value of OPT_CUTTING in src/common.h.
More details can be found in the README file.

(C) Other relevant links

Slides from colloquium at U. Michigan by Michael Thaddeus, September 30, 2008
Gerard Gonzalez-Sprinberg's publications