tar xzvf Toric.tar.gz
make all
make NTLLINK="/path/to/ntllib" NTLINCLUDE="/path/to/headers" all
#rows #columns a11 ... a1n a21 ... a2n . . . . am1 ... amnFor example:
3 6 1 5 10 6 4 3 2 4 6 8 11 5 9 7 5 4 3 10
kernel
to compute a lattice basis for the integer kernel of the matrix. The syntax is
kernel [inputfile] [outputfile]
toric [inputfile] [outputfile]
inputfile
is either the output from kernel
or
any file in the same format. Using this method, toric
will automatically select which variables to use for saturation.
S 1 0 1 1 0 ... 1 0where a
1
in the i-th place instructs toric
to
saturate the i-th variable.
W w_1 w_2 ... w_nto the second line of the file specifying the set of generators for the toric ideal. So, the file format for a set of generators and weight vector which we will be calculating a Groebner base with respect to is:
n W w_1 w_2 ... w_n [list of generators]If no weight vector is specified, then a standard grevlex Groebner basis for the list of generators passed is generated.
b_1 b_2 ... b_m u_1 u_2 ... u_nwhere the first line is the upper bound for the A-degree (see the section "Implementation" for information) and
u_i
is the
upper bound on the degree of the i-th variable. The second line
can be omitted if you only want to truncate using A-degree.
Any entry that is negative will be ignored for the purposes of
truncating. The correct syntax is then
weightGB [inputfile] [outputfile] [matrixfile] [boundfile]
weightGB
calculation. The correct input file format is:
m+n W 0 0 0 ... 0 1 1 ... 1 [1 0 0 ... 0 -a_11 ... -a_m1] [0 1 0 ... 0 -a_12 ... -a_m2] . . . . . . [0 0 0 ... 1 -a_1n ... -a_mn]where
m
is the number of rows and n
the number of
columns of A, and a_ij
is the ij-th entry of A.
The output of this computation is an elimination Groebner basis of the
input toric ideal.
weightGB [inputfile] [outputfile]using the file created in 1. as the input.
weightGB [inputfile] [outputfile] [matrixfile] [boundfile]
elim [inputfile] [outputfile]The input file has the same format as that taken by `weightGB'. Specifically, the format of the input file is expected to be:
n [number of variables] W k_1 ... k_n [list of generators]The output file created will be of the same format as the input file. The k_i are specified so that k_i = 0 means the i-th variable will be kept, k_i = 1 means the i-th variable will be eliminated.
toric
:
n [a_1 ... a_n]
reduce [GBfile] [vectorfile] [outputfile]
weightGB
when truncating with respect to A-degree. If b is
the bound on A-degree, then the algorithm functions as follows:
during the Buchberger algorithm, if an S-polynomial (vector) v
appears whose positive part v+ satisfies A(v+)>b (with the
comparison made component-wise), then v is discarded.