xideal.tex 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. \documentstyle[11pt,reduce]{article}
  2. \title{\bf XIDEAL\\
  3. Gr{\"o}bner Bases for Exterior Algebra}
  4. \author{
  5. David Hartley
  6. \thanks{Postal address: GMD--SCAI, D--53754 St~Augustin, Germany.}
  7. \thanks{Email: Hartley@gmd.de} \\
  8. Institute for Algorithms and Scientific Computing \\
  9. GMD --- German National Research Center \\
  10. for Information Technology \\
  11. St Augustin, Germany \\
  12. \\ \and
  13. Philip A.~Tuckey\thanks{Email: pat@rs3.univ-fcomte.fr} \\
  14. Laboratoire de Physique Moleculaire \\
  15. UFR des Sciences et Techniques \\
  16. Universite de Franche-Comte \\
  17. 25030 Besancon \\
  18. France
  19. }
  20. \date{Version 2.4}
  21. \begin{document}
  22. \maketitle
  23. \section{Description}
  24. The method of Gr{\"o}bner bases in commutative polynomial rings introduced by
  25. Buchberger (e.g.~\cite{Buchberger}) is a well-known and very important tool
  26. in polynomial ideal theory, for example in solving the ideal membership
  27. problem. XIDEAL extends the method to exterior algebras using
  28. algorithms from \cite{HT} and \cite{Apel}.
  29. There are two main departures from the commutative polynomial case. First,
  30. owing to the non-commutative product in exterior algebras, ideals are no
  31. longer automatically two-sided, and it is necessary to distinguish between
  32. left and right ideals. Secondly, because there are zero divisors, confluent
  33. reduction relations are no longer sufficient to solve the ideal membership
  34. problem: a unique normal form for every polynomial does not guarantee that
  35. all elements in the ideal reduce to zero. This leads to two possible
  36. definitions of Gr{\"o}bner bases as pointed out by Stokes \cite{Stokes}.
  37. XIDEAL constructs Gr{\"o}bner bases for solving the left ideal membership
  38. problem: Gr{\"o}bner left ideal bases or GLIBs. For graded ideals, where each
  39. form is homogeneous in degree, the distinction between left and right
  40. ideals vanishes. Furthermore, if the generating forms are all homogeneous,
  41. then the Gr{\"o}bner bases for the non-graded and graded ideals are
  42. identical. In this case, XIDEAL is able to save time by truncating the
  43. Gr{\"o}bner basis at some maximum degree if desired.
  44. XIDEAL uses the exterior calculus package EXCALC of E.~Schr{\"u}fer
  45. \cite{EXCALC} to provide the exterior algebra definitions. EXCALC is loaded
  46. automatically with XIDEAL.
  47. % The basis 1-forms for the exterior algebra
  48. % are automatically extracted from the input. Consequently, each expression
  49. % must be written in terms of these 1-forms -- $p$-form kernels with $p>1$
  50. % are not allowed. Similarly all distinct 1-forms in the input are assumed to
  51. % be linearly independent -- if a dimension has been fixed (using the EXCALC
  52. % \f{SPACEDIM} or \f{COFRAME} statements), then input containing more than this
  53. % number of distinct 1-forms will generate an error. The exterior algebra can
  54. % be based on either an abstract vector space or the cotangent space at some
  55. % fixed point on a manifold. Any functions or 0-forms are treated as constant
  56. % non-vanishing coefficients.
  57. The exterior variables may be specified explicitly, or extracted
  58. automatically from the input polynomials. All distinct exterior variables
  59. in the input are assumed to be linearly independent -- if a dimension has
  60. been fixed (using the EXCALC \f{spacedim} or \f{coframe} statements), then
  61. input containing distinct exterior variables with degrees totaling more
  62. than this number will generate an error.
  63. % The term ordering used is the graded lexicographical ordering based on the
  64. % prevailing EXCALC kernel ordering for the basis 1-forms. This puts
  65. % highest degree first and then sorts terms of the same degree
  66. % lexicographically. The EXCALC kernel ordering can be changed with the
  67. % \REDUCE{} \f{KORDER} or EXCALC \f{FORDER} statements.
  68. \section{Declarations}
  69. \subsubsection*{xorder}
  70. \f{xorder} sets the term ordering for all other calculations. The syntax is
  71. \begin{verbatim}
  72. xorder k
  73. \end{verbatim}
  74. where \f{k} is one of \f{lex}, \f{gradlex} or \f{deglex}. The
  75. lexicographical ordering \f{lex} is based on the prevailing EXCALC kernel
  76. ordering for the exterior variables. The EXCALC kernel ordering can be
  77. changed with the \REDUCE{} \f{korder} or EXCALC \f{forder} declarations. The
  78. graded lexicographical ordering \f{gradlex} puts terms with more factors
  79. first (irrespective of their exterior degrees) and sorts terms of the same
  80. grading lexicographically. The degree lexicographical ordering \f{deglex}
  81. takes account of the exterior degree of the variables, putting highest
  82. degree first and then sorting terms of the same degree lexicographically.
  83. The default ordering is \f{deglex}.
  84. \subsubsection*{xvars}
  85. It is possible to consider scalar and 0-form variables in exterior
  86. polynomials in two ways: as variables or as coefficient parameters. This
  87. difference is crucial for Gr{\"o}bner basis calculations. By default, all
  88. scalar variables which have been declared as 0-forms are treated as
  89. exterior variables, along with any EXCALC kernels of degree 0. This
  90. division can be changed with the \f{xvars} declaration. The syntax is
  91. \begin{verbatim}
  92. xvars U,V,W,...
  93. \end{verbatim}
  94. where the arguments are either kernels or lists of kernels. All variables
  95. specified in the \f{xvars} declaration are treated as exterior variables in
  96. subsequent XIDEAL calculations with exterior polynomials, and any other
  97. scalars are treated as parameters. This is true whether or not the
  98. variables have been declared as 0-forms. The declaration
  99. \begin{verbatim}
  100. xvars {}
  101. \end{verbatim}
  102. causes all degree 0 variables to be treated as parameters, and
  103. \begin{verbatim}
  104. xvars nil
  105. \end{verbatim}
  106. restores the default. Of course, $p$-form kernels with $p\not=0$ are always
  107. considered as exterior variables. The order of the variables in an
  108. \f{xvars} declaration has no effect on the \REDUCE{} kernel ordering or
  109. XIDEAL term ordering.
  110. \section{Operators}
  111. \subsubsection*{xideal}
  112. \f{xideal} calculates a Gr{\"o}bner left ideal basis in
  113. an exterior algebra. The syntax is
  114. \begin{verbatim}
  115. xideal(S:list of forms[,V:list of kernels][,R:integer])
  116. :list of forms.
  117. \end{verbatim}
  118. \f{xideal} calculates a Gr{\"o}bner basis for the left ideal generated by
  119. \f{S} using the current term ordering. The resulting list can be used for
  120. subsequent reductions with \f{xmod} as long as the term ordering is not
  121. changed. Which 0-form variables are to be regarded as exterior variables
  122. can be specified in an optional argument \f{V} (just like an \f{xvars}
  123. declaration). The order of variables in \f{V} has no effect on the term
  124. ordering. If the set of generators \f{S} is graded, an optional parameter
  125. \f{R} can be given, and \f{xideal} produces a truncated basis suitable for
  126. reducing exterior forms of degree less than or equal to \f{R} in the left
  127. ideal. This can save time and space with large problems, but the result
  128. cannot be used for exterior forms of degree greater than \f{R}. The forms
  129. returned by \f{xideal} are sorted in increasing order. See also the
  130. switches \f{trxideal} and \f{xfullreduction}.
  131. \subsubsection*{xmodideal}
  132. \f{xmodideal} reduces exterior forms to their (unique) normal forms modulo
  133. a left ideal. The syntax is
  134. \begin{verbatim}
  135. xmodideal(F:form, S:list of forms):form
  136. \end{verbatim}
  137. or
  138. \begin{verbatim}
  139. xmodideal(F:list of forms, S:list of forms)
  140. :list of forms.
  141. \end{verbatim}
  142. An alternative infix syntax is also available:
  143. \begin{verbatim}
  144. F xmodideal S.
  145. \end{verbatim}
  146. \f{xmodideal(F,S)} first calculates a Gr{\"o}bner basis for the left ideal
  147. generated by \f{S}, and then reduces \f{F}. \f{F} may be either a single
  148. exterior form, or a list of forms, and \f{S} is a list of forms. If \f{F}
  149. is a list of forms, each element is reduced, and any which vanish are
  150. deleted from the result.
  151. % If this operator is used more than once, and \f{S} does not change
  152. % between calls, then the Gr{\"o}bner basis is not recalculated.
  153. If the set of generators \f{S} is graded, then a truncated Gr{\"o}bner basis
  154. is calculated using the degree of \f{F} (or the maximal degree in
  155. \f{F}). See also \f{trxmod}.
  156. \subsubsection*{xmod}
  157. \f{xmod} reduces exterior forms to their (not necessarily unique) normal
  158. forms modulo a set of exterior polynomials. The syntax is
  159. \begin{verbatim}
  160. xmod(F:form, S:list of forms):form
  161. \end{verbatim}
  162. or
  163. \begin{verbatim}
  164. xmod(F:list of forms, S:list of forms):list of forms.
  165. \end{verbatim}
  166. An alternative infix syntax is also available:
  167. \begin{verbatim}
  168. F xmod S.
  169. \end{verbatim}
  170. \f{xmod(F,S)} reduces \f{F} with respect to the set of exterior polynomials
  171. \f{S}, which is not necessarily a Gr{\"o}bner basis. \f{F} may be either a
  172. single exterior form, or a list of forms, and \f{S} is a list of
  173. forms. This operator can be used in conjunction with \f{xideal} to produce
  174. the same effect as \f{xmodideal}: for a single homogeneous form \f{F} and a
  175. set of exterior forms \f{S}, \f{F xmodideal S} is equivalent to \f{F xmod
  176. xideal(S,exdegree F)}. See also \f{trxmod}.
  177. \subsubsection*{xauto}
  178. \f{xauto} autoreduces a set of exterior forms. The syntax is
  179. \begin{verbatim}
  180. xauto(S:list of forms):list of forms.
  181. \end{verbatim}
  182. \f{xauto S} returns a set of exterior polynomials which generate the same
  183. left ideal, but which are in normal form with respect to each other. For
  184. linear expressions, this is equivalent to finding the reduced row echelon
  185. form of the coefficient matrix.
  186. \subsubsection*{excoeffs}
  187. The operator \f{excoeffs}, with syntax
  188. \begin{verbatim}
  189. excoeffs(F:form):list of expressions
  190. \end{verbatim}
  191. returns the coefficients from an exterior form as a list. The coefficients
  192. are always scalars, but which degree 0 variables count as coefficient
  193. parameters is controlled by the command \f{xvars}.
  194. \subsubsection*{exvars}
  195. The operator \f{exvars}, with syntax
  196. \begin{verbatim}
  197. exvars(F:form):list of kernels
  198. \end{verbatim}
  199. returns the exterior powers from an exterior form as a list. All non-scalar
  200. variables are returned, but which degree 0 variables count as coefficient
  201. parameters is controlled by the command \f{xvars}.
  202. \section{Switches}
  203. \subsubsection*{xfullreduce}
  204. \f{on xfullreduce} allows \f{xideal} and \f{xmodideal} to calculate
  205. reduced, monic Gr{\"o}bner bases, which speeds up subsequent reductions, and
  206. guarantees a unique form for the Gr{\"o}bner basis. \f{off xfullreduce} turns
  207. of this feature, which may speed up calculation of some Gr{\"o}bner
  208. basis. \f{xfullreduce} is \f{on} by default.
  209. \subsubsection*{trxideal}
  210. \f{on trxideal} produces a trace of the calculations done by \f{xideal} and
  211. \f{xmodideal}, showing the basis polynomials and the results of the
  212. critical element calculations. This can generate profuse amounts of output.
  213. \f{trxideal} is \f{off} by default.
  214. \subsubsection*{trxmod}
  215. \f{on trxmod} produces a trace of reductions to normal form during
  216. calculations by XIDEAL operators. \f{trxmod} is \f{off} by default.
  217. % \subsubsection*{XSTATS}
  218. % \f{ON XSTATS} produces counting and timing information. As \f{XIDEAL} is
  219. % running, a hash mark (\verb.#.) is printed for each form taken from the
  220. % input list, followed by a sequences of carets (\verb.^.) and dollar signs
  221. % (\verb.$.). Each caret represents a new basis element obtained by a simple
  222. % wedge product, and each dollar sign represents a new basis element obtained
  223. % from an S-polynomial. At the end, a table is printed summarising the
  224. % calculation. \f{XSTATS} is \f{OFF} by default.
  225. \section{Examples}
  226. Suppose XIDEAL has been loaded, the switches are at their default settings,
  227. and the following exterior variables have been declared:
  228. \begin{verbatim}
  229. pform x=0,y=0,z=0,t=0,f(i)=1,h=0,hx=0,ht=0;
  230. \end{verbatim}
  231. In a commutative polynomial ring, a single polynomial is its own Gr{\"o}bner
  232. basis. This is no longer true for exterior algebras because of the presence
  233. of zero divisors, and can lead to some surprising reductions:
  234. \begin{verbatim}
  235. xideal {d x^d y - d z^d t};
  236. {d t^d z + d x^d y,
  237. d x^d y^d z,
  238. d t^d x^d y}
  239. f(3)^f(4)^f(5)^f(6)
  240. xmodideal {f(1)^f(2) + f(3)^f(4) + f(5)^f(6)};
  241. 0
  242. \end{verbatim}
  243. The heat equation, $h_{xx}=h_t$ can be represented by the following
  244. exterior differential system.
  245. \begin{verbatim}
  246. S := {d h - ht*d t - hx*d x,
  247. d ht^d t + d hx^d x,
  248. d hx^d t - ht*d x^d t};
  249. \end{verbatim}
  250. \f{xmodideal} can be used to check that the exterior differential system is
  251. closed under exterior differentiation.
  252. \begin{verbatim}
  253. d S xmodideal S;
  254. {}
  255. \end{verbatim}
  256. \f{xvars}, or a second argument to \f{xideal} can be used to change the
  257. division between exterior variables of degree 0 and parameters.
  258. \begin{verbatim}
  259. xideal {a*d x+y*d y};
  260. d x*a + d y*y
  261. {---------------}
  262. a
  263. xvars {a};
  264. xideal {a*d x+y*d y};
  265. {d x*a + d y*y,d x^d y}
  266. xideal({a*d x+y*d y},{a,y});
  267. {d x*a + d y*y,
  268. d x^d y*y}
  269. xvars {}; % all 0-forms are coefficients
  270. excoeffs(d u - (a*p - q)*d y);
  271. {1, - a*p + q}
  272. exvars(d u - (a*p - q)*d y);
  273. {d u,d y}
  274. xvars {p,q}; % p,q are no longer coefficients
  275. excoeffs(d u - (a*p - q)*d y);
  276. { - a,1,1}
  277. exvars(d u - (a*p - q)*d y);
  278. {d y*p,d y*q,d u}
  279. xvars nil;
  280. \end{verbatim}
  281. Non-graded left and right ideals are no longer the same:
  282. \begin{verbatim}
  283. d t^(d z+d x^d y) xmodideal {d z+d x^d y};
  284. 0
  285. (d z+d x^d y)^d t xmodideal {d z+d x^d y};
  286. - 2*d t^d z
  287. \end{verbatim}
  288. Any form containing a 0-form term generates the whole ideal:
  289. \begin{verbatim}
  290. xideal {1 + f(1) + f(1)^f(2) + f(2)^f(3)^f(4)};
  291. {1}
  292. \end{verbatim}
  293. \begin{thebibliography}{M}
  294. \bibitem{Buchberger}
  295. B.~Buchberger, {\em
  296. Gr{\"o}bner Bases: an algorithmic method in polynomial ideal theory,}
  297. in {\em Multidimensional Systems Theory\/} ed.~N.K.~Bose
  298. (Reidel, Dordrecht, 1985) chapter 6.
  299. \bibitem{HT}
  300. D.~Hartley and P.A.~Tuckey, {\em
  301. A Direct Characterisation of Gr{\"o}bner Bases in Clifford and
  302. Grassmann Algebras,}
  303. Preprint MPI-Ph/93--96 (1993).
  304. \bibitem{Apel}
  305. J.~Apel, {\em A relationship between Gr{\"o}bner bases of ideals and
  306. vector modules of G-algebras,}
  307. Contemporary Math.~{\bf 131}(1992)195--204.
  308. \bibitem{Stokes}
  309. T.~Stokes, {\em
  310. Gr{\"o}bner bases in exterior algebra,}
  311. J.~Automated Reasoning {\bf 6}(1990)233--250.
  312. \bibitem{EXCALC}
  313. E.~Schr{\"u}fer, {\em
  314. EXCALC, a system for doing calculations in the calculus of modern
  315. differential geometry, User's manual,}
  316. (The Rand Corporation, Santa Monica, 1986).
  317. \end{thebibliography}
  318. \end{document}