D.4.11.1 toric_ideal
....................
Procedure from library toric.lib (see toric_lib).

Usage:
toric_ideal(A,alg); A intmat, alg string

toric_ideal(A,alg,prsv); A intmat, alg string, prsv intvec

Return:
ideal: standard basis of the toric ideal of A

Note:
These procedures return the standard basis of the toric ideal of A
with respect to the term ordering in the current basering. Not all
term orderings are supported: The usual global term orderings may be
used, but no block orderings combining them.

One may call the procedure with several different algorithms: 

- the algorithm of Conti/Traverso using elimination (ect), 

- the algorithm of Pottier (pt),

- an algorithm of Bigatti/La Scala/Robbiano (blr),

- the algorithm of Hosten/Sturmfels (hs),

- the algorithm of DiBiase/Urbanke (du).

The argument `alg' should be the abbreviation for an algorithm as
above: ect, pt, blr, hs or du.

If `alg' is chosen to be `blr' or `hs', the algorithm needs a vector
with positive coefficients in the row space of A.

If no row of A contains only positive entries, one has to use the
second version of toric_ideal which takes such a vector as its third
argument.

For the mathematical background, see

  Toric ideals and integer programming.

Example:
LIB "toric.lib";
ring r=0,(x,y,z),dp;
// call with two arguments
intmat A[2][3]=1,1,0,0,1,1;
A;
==> 1,1,0,
==> 0,1,1 
ideal I=toric_ideal(A,"du");
I;
==> I[1]=xz-y
I=toric_ideal(A,"blr");
==> ERROR: The chosen algorithm needs a positive vector in the row space of t\
   he matrix.
I;
==> I[1]=0
// call with three arguments
intvec prsv=1,2,1;
I=toric_ideal(A,"blr",prsv);
I;
==> I[1]=xz-y
See also:
Toric ideals;
intprog_lib;
toric_lib;
toric_std.


<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
