toric_lib.tex 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. @c ---content LibInfo---
  2. @comment This file was generated by doc2tex.pl from d2t_singular/toric_lib.doc
  3. @comment DO NOT EDIT DIRECTLY, BUT EDIT d2t_singular/toric_lib.doc INSTEAD
  4. @c library version: (1.11,2001/02/06)
  5. @c library file: ../Singular/LIB/toric.lib
  6. @cindex toric.lib
  7. @cindex toric_lib
  8. @table @asis
  9. @item @strong{Library:}
  10. toric.lib
  11. @item @strong{Purpose:}
  12. Standard Basis of Toric Ideals
  13. @item @strong{Author:}
  14. Christine Theis, email: ctheis@@math.uni-sb.de
  15. @end table
  16. @strong{Procedures:}
  17. @menu
  18. * toric_ideal:: computes the toric ideal of A
  19. * toric_std:: standard basis of I by a specialized Buchberger algorithm
  20. @end menu
  21. @c ---end content LibInfo---
  22. @c ------------------- toric_ideal -------------
  23. @node toric_ideal, toric_std,, toric_lib
  24. @subsubsection toric_ideal
  25. @cindex toric_ideal
  26. @c ---content toric_ideal---
  27. Procedure from library @code{toric.lib} (@pxref{toric_lib}).
  28. @table @asis
  29. @item @strong{Usage:}
  30. toric_ideal(A,alg); A intmat, alg string
  31. @*toric_ideal(A,alg,prsv); A intmat, alg string, prsv intvec
  32. @item @strong{Return:}
  33. ideal: standard basis of the toric ideal of A
  34. @item @strong{Note:}
  35. These procedures return the standard basis of the toric ideal of A
  36. with respect to the term ordering in the current basering. Not all
  37. term orderings are supported: The usual global term orderings may be
  38. used, but no block orderings combining them.
  39. @*One may call the procedure with several different algorithms: @*
  40. - the algorithm of Conti/Traverso using elimination (ect), @*
  41. - the algorithm of Pottier (pt),
  42. @*- an algorithm of Bigatti/La Scala/Robbiano (blr),
  43. @*- the algorithm of Hosten/Sturmfels (hs),
  44. @*- the algorithm of DiBiase/Urbanke (du).
  45. @*The argument `alg' should be the abbreviation for an algorithm as
  46. above: ect, pt, blr, hs or du.
  47. If `alg' is chosen to be `blr' or `hs', the algorithm needs a vector
  48. with positive coefficients in the row space of A.
  49. @*If no row of A contains only positive entries, one has to use the
  50. second version of toric_ideal which takes such a vector as its third
  51. argument.
  52. @*For the mathematical background, see
  53. @ref{Toric ideals and integer programming}.
  54. @end table
  55. @strong{Example:}
  56. @smallexample
  57. @c computed example toric_ideal d2t_singular/toric_lib.doc:64
  58. LIB "toric.lib";
  59. ring r=0,(x,y,z),dp;
  60. // call with two arguments
  61. intmat A[2][3]=1,1,0,0,1,1;
  62. A;
  63. @expansion{} 1,1,0,
  64. @expansion{} 0,1,1
  65. ideal I=toric_ideal(A,"du");
  66. I;
  67. @expansion{} I[1]=xz-y
  68. I=toric_ideal(A,"blr");
  69. @expansion{} ERROR: The chosen algorithm needs a positive vector in the row space of t\
  70. he matrix.
  71. I;
  72. @expansion{} I[1]=0
  73. // call with three arguments
  74. intvec prsv=1,2,1;
  75. I=toric_ideal(A,"blr",prsv);
  76. I;
  77. @expansion{} I[1]=xz-y
  78. @c end example toric_ideal d2t_singular/toric_lib.doc:64
  79. @end smallexample
  80. @c inserted refs from d2t_singular/toric_lib.doc:80
  81. @ifinfo
  82. @menu
  83. See also:
  84. * Toric ideals::
  85. * intprog_lib::
  86. * toric_lib::
  87. * toric_std::
  88. @end menu
  89. @end ifinfo
  90. @iftex
  91. @strong{See also:}
  92. @ref{Toric ideals};
  93. @ref{intprog_lib};
  94. @ref{toric_lib};
  95. @ref{toric_std}.
  96. @end iftex
  97. @c end inserted refs from d2t_singular/toric_lib.doc:80
  98. @c ---end content toric_ideal---
  99. @c ------------------- toric_std -------------
  100. @node toric_std,, toric_ideal, toric_lib
  101. @subsubsection toric_std
  102. @cindex toric_std
  103. @c ---content toric_std---
  104. Procedure from library @code{toric.lib} (@pxref{toric_lib}).
  105. @table @asis
  106. @item @strong{Usage:}
  107. toric_std(I); I ideal
  108. @item @strong{Return:}
  109. ideal: standard basis of I
  110. @item @strong{Note:}
  111. This procedure computes the standard basis of I using a specialized
  112. Buchberger algorithm. The generating system by which I is given has
  113. to consist of binomials of the form x^u-x^v. There is no real check
  114. if I is toric. If I is generated by binomials of the above form,
  115. but not toric, toric_std computes an ideal `between' I and its
  116. saturation with respect to all variables.
  117. @*For the mathematical background, see
  118. @ref{Toric ideals and integer programming}.
  119. @end table
  120. @strong{Example:}
  121. @smallexample
  122. @c computed example toric_std d2t_singular/toric_lib.doc:114
  123. LIB "toric.lib";
  124. ring r=0,(x,y,z),wp(3,2,1);
  125. // call with toric ideal (of the matrix A=(1,1,1))
  126. ideal I=x-y,x-z;
  127. ideal J=toric_std(I);
  128. J;
  129. @expansion{} J[1]=y-z
  130. @expansion{} J[2]=x-z
  131. // call with the same ideal, but badly chosen generators:
  132. // 1) not only binomials
  133. I=x-y,2x-y-z;
  134. J=toric_std(I);
  135. @expansion{} ERROR: Generator 2 of the input ideal is no difference of monomials.
  136. // 2) binomials whose monomials are not relatively prime
  137. I=x-y,xy-yz,y-z;
  138. J=toric_std(I);
  139. @expansion{} Warning: The monomials of generator 2 of the input ideal are not relative\
  140. ly prime.
  141. J;
  142. @expansion{} J[1]=y-z
  143. @expansion{} J[2]=x-z
  144. // call with a non-toric ideal that seems to be toric
  145. I=x-yz,xy-z;
  146. J=toric_std(I);
  147. J;
  148. @expansion{} J[1]=y2-1
  149. @expansion{} J[2]=x-yz
  150. // comparison with real standard basis and saturation
  151. ideal H=std(I);
  152. H;
  153. @expansion{} H[1]=x-yz
  154. @expansion{} H[2]=y2z-z
  155. LIB "elim.lib";
  156. sat(H,xyz);
  157. @expansion{} [1]:
  158. @expansion{} _[1]=x-yz
  159. @expansion{} _[2]=y2-1
  160. @expansion{} [2]:
  161. @expansion{} 1
  162. @c end example toric_std d2t_singular/toric_lib.doc:114
  163. @end smallexample
  164. @c inserted refs from d2t_singular/toric_lib.doc:140
  165. @ifinfo
  166. @menu
  167. See also:
  168. * Toric ideals::
  169. * intprog_lib::
  170. * toric_ideal::
  171. * toric_lib::
  172. @end menu
  173. @end ifinfo
  174. @iftex
  175. @strong{See also:}
  176. @ref{Toric ideals};
  177. @ref{intprog_lib};
  178. @ref{toric_ideal};
  179. @ref{toric_lib}.
  180. @end iftex
  181. @c end inserted refs from d2t_singular/toric_lib.doc:140
  182. @c ---end content toric_std---