ideals.tex 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. \documentstyle[12pt]{article}
  2. \begin{document}
  3. \begin{center} {\Large Polynomial Ideals} \end{center}
  4. \begin{center} Arithmetic for polynomial ideals supported by
  5. Gr\"obner bases \end{center}
  6. \begin{center} Version 1.0 May 1992 \end{center}
  7. \begin{center} Herbert Melenk \\ Konrad-Zuse-Zentrum f\"ur
  8. Informationstechnik \\
  9. Heilbronner Str. 10 \\ D1000 Berlin 31 \\ Federal Republic of Germany \\
  10. melenk@sc.zib-berlin.de \\ May 1992 \end{center}
  11. \section{Introduction}
  12. This package implements the basic arithmetic for polynomial ideals
  13. by exploiting the Gr\"obner bases package of REDUCE.
  14. In order to save computing time all intermediate Gr\"obner bases
  15. are stored internally such that time consuming repetitions
  16. are inhibited. A uniform setting facilitates the access.
  17. \section{Initialization}
  18. Prior to any computation the set of variables has to be declared
  19. by calling the operator $I\_setting$ . E.g. in order to initiate
  20. computations in the polynomial ring $Q[x,y,z]$ call
  21. \begin{verbatim}
  22. I_setting(x,y,z);
  23. \end{verbatim}
  24. A subsequent call to $I\_setting$ allows one to select another set
  25. of variables; at the same time the internal data structures
  26. are cleared in order to free memory resources.
  27. \section{Bases}
  28. An ideal is represented by a basis (set of polynomials) tagged
  29. with the symbol $I$, e.g.
  30. \begin{verbatim}
  31. u := I(x*z-y**2, x**3-y*z);
  32. \end{verbatim}
  33. Alternatively a list of polynomials can be used as input basis; however,
  34. all arithmetic results will be presented in the above form. The
  35. operator $ideal2list$ allows one to convert an ideal basis into a
  36. conventional REDUCE list.
  37. \subsection{Operators}
  38. Because of syntactical restrictions in REDUCE, special operators
  39. have to be used for ideal arithmetic:
  40. \begin{verbatim}
  41. .+ ideal sum (infix)
  42. .* ideal product (infix)
  43. .: ideal quotient (infix)
  44. ./ ideal quotient (infix)
  45. .= ideal equality test (infix)
  46. subset ideal inclusion test (infix)
  47. intersection ideal intersection (prefix,binary)
  48. member test for membership in an ideal
  49. (infix: polynomial and ideal)
  50. gb Groebner basis of an ideal (prefix, unary)
  51. ideal2list convert ideal basis to polynomial list
  52. (prefix,unary)
  53. \end{verbatim}
  54. Example:
  55. \begin{verbatim}
  56. I(x+y,x^2) .* I(x-z);
  57. 2 2 2
  58. I(X + X*Y - X*Z - Y*Z,X*Y - Y *Z)
  59. \end{verbatim}
  60. The test operators return the values 1 (=true) or 0 (=false)
  61. such that they can be used in REDUCE $if-then-else$ statements
  62. directly.
  63. The results of $sum,product, quotient,intersction$ are ideals
  64. represented by their Gr\"obner basis in the current setting and
  65. term order. The term order can be modified using the operator
  66. $torder$ from the Gr\"obner package. Note that ideal equality
  67. cannot be tested with the REDUCE equal sign:
  68. \begin{verbatim}
  69. I(x,y) = I(y,x) is false
  70. I(x,y) .= I(y,x) is true
  71. \end{verbatim}
  72. \section{Algorithms}
  73. The operators $groebner$, $preduce$ and $idealquotient$ of the
  74. REDUCE Gr\"obner package support the basic algorithms:
  75. $GB(Iu_1,u_2...) \rightarrow groebner(\{u_1,u_2...\},\{x,...\})$
  76. $p \in I_1 \rightarrow p=0 \ mod \ I_1$
  77. $I_1 : I(p) \rightarrow (I_1 \bigcap I(p)) / p \ elementwise$
  78. \noindent
  79. On top of these the Ideals package implements the following
  80. operations:
  81. $I(u_1,u_2...)+I(v_1,v_2...) \rightarrow GB(I(u_1,u_2...,v_1,v_2...))$
  82. $I(u_1,u_2...)*I(v_1,v_2...)\rightarrow
  83. GB(I(u_1*v_1,u_1*v2,...,u_2*v_1,u_2*v_2...))$
  84. $I_1 \bigcap I_2 \rightarrow
  85. Q[x,...] \bigcap GB_{lex}(t*I_1 + (1-t)*I_2,\{t,x,..\}) $
  86. $I_1 : I(p_1,p_2,...) \rightarrow I_1 : I(p_1) \bigcap I_1 : I(p_2)
  87. \bigcap ...$
  88. $I_1 = I_2 \rightarrow GB(I_1)=GB(I_2)$
  89. $I_1 \subseteq I_2
  90. \rightarrow \ u_i \in I_2 \ \forall \ u_i \in I_1=I(u_1,u_2...)$
  91. \section{Examples}
  92. Please consult the file $ideals.tst$.
  93. \end{document}