## Resolving toric varieties with Nash blow-ups

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
S_{m} 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^{-1}SA' 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 C_{I,j} in dimension 3 or
D_{I,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