source: CGBLisp/latex-doc/manual/node4.html@ 1

Last change on this file since 1 was 1, checked in by Marek Rychlik, 15 years ago

First import of a version circa 1997.

File size: 39.7 KB
Line 
1<!--Converted with LaTeX2HTML 97.1 (release) (July 13th, 1997)
2 by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds
3* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
4* with significant contributions from:
5 Jens Lippman, Marek Rouchal, Martin Wilck and others -->
6<HTML>
7<HEAD>
8<TITLE>The Comprehensive Gr&#246;bner basis package</TITLE>
9<META NAME="description" CONTENT="The Comprehensive Gr&#246;bner basis package">
10<META NAME="keywords" CONTENT="manual">
11<META NAME="resource-type" CONTENT="document">
12<META NAME="distribution" CONTENT="global">
13<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso_8859_1">
14<LINK REL="STYLESHEET" HREF="manual.css">
15<LINK REL="next" HREF="node5.html">
16<LINK REL="previous" HREF="node3.html">
17<LINK REL="up" HREF="manual.html">
18<LINK REL="next" HREF="node5.html">
19</HEAD>
20<BODY bgcolor="#ffffff">
21<!--Navigation Panel-->
22<A NAME="tex2html855"
23 HREF="node5.html">
24<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
25<A NAME="tex2html852"
26 HREF="manual.html">
27<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
28<A NAME="tex2html846"
29 HREF="node3.html">
30<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
31<A NAME="tex2html854"
32 HREF="node1.html">
33<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
34<BR>
35<B> Next:</B> <A NAME="tex2html856"
36 HREF="node5.html">The Coefficient Ring package</A>
37<B> Up:</B> <A NAME="tex2html853"
38 HREF="manual.html">CGBLisp User Guide and</A>
39<B> Previous:</B> <A NAME="tex2html847"
40 HREF="node3.html">The String Interface to</A>
41<BR>
42<BR>
43<!--End of Navigation Panel-->
44<!--Table of Child-Links-->
45<A NAME="CHILD_LINKS"><strong>Subsections</strong></A>
46<UL>
47<LI><A NAME="tex2html857"
48 HREF="node4.html#SECTION00040010000000000000">
49<I>*colored<MATH CLASS="INLINE">
50-
51</MATH>poly<MATH CLASS="INLINE">
52-
53</MATH>debug*</I></A>
54<LI><A NAME="tex2html858"
55 HREF="node4.html#SECTION00040020000000000000">
56<I>debug<MATH CLASS="INLINE">
57-
58</MATH>cgb</I></A>
59<LI><A NAME="tex2html859"
60 HREF="node4.html#SECTION00040030000000000000">
61<I>make<MATH CLASS="INLINE">
62-
63</MATH>colored<MATH CLASS="INLINE">
64-
65</MATH>poly</I></A>
66<LI><A NAME="tex2html860"
67 HREF="node4.html#SECTION00040040000000000000">
68<I>make<MATH CLASS="INLINE">
69-
70</MATH>colored<MATH CLASS="INLINE">
71-
72</MATH>poly<MATH CLASS="INLINE">
73-
74</MATH>list</I></A>
75<LI><A NAME="tex2html861"
76 HREF="node4.html#SECTION00040050000000000000">
77<I>color<MATH CLASS="INLINE">
78-
79</MATH>poly<MATH CLASS="INLINE">
80-
81</MATH>list</I></A>
82<LI><A NAME="tex2html862"
83 HREF="node4.html#SECTION00040060000000000000">
84<I>color<MATH CLASS="INLINE">
85-
86</MATH>poly</I></A>
87<LI><A NAME="tex2html863"
88 HREF="node4.html#SECTION00040070000000000000">
89<I>colored<MATH CLASS="INLINE">
90-
91</MATH>poly<MATH CLASS="INLINE">
92-
93</MATH>to<MATH CLASS="INLINE">
94-
95</MATH>poly</I></A>
96<LI><A NAME="tex2html864"
97 HREF="node4.html#SECTION00040080000000000000">
98<I>colored<MATH CLASS="INLINE">
99-
100</MATH>poly<MATH CLASS="INLINE">
101-
102</MATH>print</I></A>
103<LI><A NAME="tex2html865"
104 HREF="node4.html#SECTION00040090000000000000">
105<I>colored<MATH CLASS="INLINE">
106-
107</MATH>poly<MATH CLASS="INLINE">
108-
109</MATH>print<MATH CLASS="INLINE">
110-
111</MATH>list</I></A>
112<LI><A NAME="tex2html866"
113 HREF="node4.html#SECTION000400100000000000000">
114<I>determine</I></A>
115<LI><A NAME="tex2html867"
116 HREF="node4.html#SECTION000400110000000000000">
117<I>determine<MATH CLASS="INLINE">
118-
119</MATH>1</I></A>
120<LI><A NAME="tex2html868"
121 HREF="node4.html#SECTION000400120000000000000">
122<I>determine<MATH CLASS="INLINE">
123-
124</MATH>white<MATH CLASS="INLINE">
125-
126</MATH>term</I></A>
127<LI><A NAME="tex2html869"
128 HREF="node4.html#SECTION000400130000000000000">
129<I>cond<MATH CLASS="INLINE">
130-
131</MATH>system<MATH CLASS="INLINE">
132-
133</MATH>print</I></A>
134<LI><A NAME="tex2html870"
135 HREF="node4.html#SECTION000400140000000000000">
136<I>cond<MATH CLASS="INLINE">
137-
138</MATH>print</I></A>
139<LI><A NAME="tex2html871"
140 HREF="node4.html#SECTION000400150000000000000">
141<I>add<MATH CLASS="INLINE">
142-
143</MATH>pairs</I></A>
144<LI><A NAME="tex2html872"
145 HREF="node4.html#SECTION000400160000000000000">
146<I>cond<MATH CLASS="INLINE">
147-
148</MATH>part</I></A>
149<LI><A NAME="tex2html873"
150 HREF="node4.html#SECTION000400170000000000000">
151<I>cond<MATH CLASS="INLINE">
152-
153</MATH>hm</I></A>
154<LI><A NAME="tex2html874"
155 HREF="node4.html#SECTION000400180000000000000">
156<I>delete<MATH CLASS="INLINE">
157-
158</MATH>green<MATH CLASS="INLINE">
159-
160</MATH>polys</I></A>
161<LI><A NAME="tex2html875"
162 HREF="node4.html#SECTION000400190000000000000">
163<I>grobner<MATH CLASS="INLINE">
164-
165</MATH>system</I></A>
166<LI><A NAME="tex2html876"
167 HREF="node4.html#SECTION000400200000000000000">
168<I>reorder<MATH CLASS="INLINE">
169-
170</MATH>pairs</I></A>
171<LI><A NAME="tex2html877"
172 HREF="node4.html#SECTION000400210000000000000">
173<I>colored<MATH CLASS="INLINE">
174-
175</MATH>criterion<MATH CLASS="INLINE">
176-
177</MATH>1</I></A>
178<LI><A NAME="tex2html878"
179 HREF="node4.html#SECTION000400220000000000000">
180<I>colored<MATH CLASS="INLINE">
181-
182</MATH>criterion<MATH CLASS="INLINE">
183-
184</MATH>2</I></A>
185<LI><A NAME="tex2html879"
186 HREF="node4.html#SECTION000400230000000000000">
187<I>cond<MATH CLASS="INLINE">
188-
189</MATH>normal<MATH CLASS="INLINE">
190-
191</MATH>form</I></A>
192<LI><A NAME="tex2html880"
193 HREF="node4.html#SECTION000400240000000000000">
194<I>cond<MATH CLASS="INLINE">
195-
196</MATH>spoly</I></A>
197<LI><A NAME="tex2html881"
198 HREF="node4.html#SECTION000400250000000000000">
199<I>cond<MATH CLASS="INLINE">
200-
201</MATH>lm</I></A>
202<LI><A NAME="tex2html882"
203 HREF="node4.html#SECTION000400260000000000000">
204<I>cond<MATH CLASS="INLINE">
205-
206</MATH>lc</I></A>
207<LI><A NAME="tex2html883"
208 HREF="node4.html#SECTION000400270000000000000">
209<I>colored<MATH CLASS="INLINE">
210-
211</MATH>term<MATH CLASS="INLINE">
212-
213</MATH>times<MATH CLASS="INLINE">
214-
215</MATH>poly</I></A>
216<LI><A NAME="tex2html884"
217 HREF="node4.html#SECTION000400280000000000000">
218<I>colored<MATH CLASS="INLINE">
219-
220</MATH>scalar<MATH CLASS="INLINE">
221-
222</MATH>times<MATH CLASS="INLINE">
223-
224</MATH>poly</I></A>
225<LI><A NAME="tex2html885"
226 HREF="node4.html#SECTION000400290000000000000">
227<I>colored<MATH CLASS="INLINE">
228-
229</MATH>term*</I></A>
230<LI><A NAME="tex2html886"
231 HREF="node4.html#SECTION000400300000000000000">
232<I>color*</I></A>
233<LI><A NAME="tex2html887"
234 HREF="node4.html#SECTION000400310000000000000">
235<I>color+</I></A>
236<LI><A NAME="tex2html888"
237 HREF="node4.html#SECTION000400320000000000000">
238<I>color<MATH CLASS="INLINE">
239-
240</MATH></I></A>
241<LI><A NAME="tex2html889"
242 HREF="node4.html#SECTION000400330000000000000">
243<I>colored<MATH CLASS="INLINE">
244-
245</MATH>poly+</I></A>
246<LI><A NAME="tex2html890"
247 HREF="node4.html#SECTION000400340000000000000">
248<I>colored<MATH CLASS="INLINE">
249-
250</MATH>poly<MATH CLASS="INLINE">
251-
252</MATH></I></A>
253<LI><A NAME="tex2html891"
254 HREF="node4.html#SECTION000400350000000000000">
255<I>colored<MATH CLASS="INLINE">
256-
257</MATH>term<MATH CLASS="INLINE">
258-
259</MATH>uminus</I></A>
260<LI><A NAME="tex2html892"
261 HREF="node4.html#SECTION000400360000000000000">
262<I>colored<MATH CLASS="INLINE">
263-
264</MATH>minus<MATH CLASS="INLINE">
265-
266</MATH>poly</I></A>
267<LI><A NAME="tex2html893"
268 HREF="node4.html#SECTION000400370000000000000">
269<I>string<MATH CLASS="INLINE">
270-
271</MATH>grobner<MATH CLASS="INLINE">
272-
273</MATH>system</I></A>
274<LI><A NAME="tex2html894"
275 HREF="node4.html#SECTION000400380000000000000">
276<I>string<MATH CLASS="INLINE">
277-
278</MATH>cond</I></A>
279<LI><A NAME="tex2html895"
280 HREF="node4.html#SECTION000400390000000000000">
281<I>string<MATH CLASS="INLINE">
282-
283</MATH>cover</I></A>
284<LI><A NAME="tex2html896"
285 HREF="node4.html#SECTION000400400000000000000">
286<I>saturate<MATH CLASS="INLINE">
287-
288</MATH>cover</I></A>
289<LI><A NAME="tex2html897"
290 HREF="node4.html#SECTION000400410000000000000">
291<I>saturate<MATH CLASS="INLINE">
292-
293</MATH>cond</I></A>
294<LI><A NAME="tex2html898"
295 HREF="node4.html#SECTION000400420000000000000">
296<I>string<MATH CLASS="INLINE">
297-
298</MATH>determine</I></A>
299<LI><A NAME="tex2html899"
300 HREF="node4.html#SECTION000400430000000000000">
301<I>tidy<MATH CLASS="INLINE">
302-
303</MATH>grobner<MATH CLASS="INLINE">
304-
305</MATH>system</I></A>
306<LI><A NAME="tex2html900"
307 HREF="node4.html#SECTION000400440000000000000">
308<I>tidy<MATH CLASS="INLINE">
309-
310</MATH>pair</I></A>
311<LI><A NAME="tex2html901"
312 HREF="node4.html#SECTION000400450000000000000">
313<I>tidy<MATH CLASS="INLINE">
314-
315</MATH>cond</I></A>
316<LI><A NAME="tex2html902"
317 HREF="node4.html#SECTION000400460000000000000">
318<I>colored<MATH CLASS="INLINE">
319-
320</MATH>reduction</I></A>
321<LI><A NAME="tex2html903"
322 HREF="node4.html#SECTION000400470000000000000">
323<I>green<MATH CLASS="INLINE">
324-
325</MATH>reduce<MATH CLASS="INLINE">
326-
327</MATH>colored<MATH CLASS="INLINE">
328-
329</MATH>poly</I></A>
330<LI><A NAME="tex2html904"
331 HREF="node4.html#SECTION000400480000000000000">
332<I>green<MATH CLASS="INLINE">
333-
334</MATH>reduce<MATH CLASS="INLINE">
335-
336</MATH>colored<MATH CLASS="INLINE">
337-
338</MATH>list</I></A>
339<LI><A NAME="tex2html905"
340 HREF="node4.html#SECTION000400490000000000000">
341<I>cond<MATH CLASS="INLINE">
342-
343</MATH>system<MATH CLASS="INLINE">
344-
345</MATH>green<MATH CLASS="INLINE">
346-
347</MATH>reduce</I></A>
348<LI><A NAME="tex2html906"
349 HREF="node4.html#SECTION000400500000000000000">
350<I>parse<MATH CLASS="INLINE">
351-
352</MATH>to<MATH CLASS="INLINE">
353-
354</MATH>colored<MATH CLASS="INLINE">
355-
356</MATH>poly<MATH CLASS="INLINE">
357-
358</MATH>list</I></A>
359<LI><A NAME="tex2html907"
360 HREF="node4.html#SECTION000400510000000000000">
361<I>red<MATH CLASS="INLINE">
362-
363</MATH>reduction</I></A>
364</UL>
365<!--End of Table of Child-Links-->
366<HR>
367<H1><A NAME="SECTION00040000000000000000">
368The Comprehensive Gr&#246;bner basis package</A>
369</H1>
370<H4><A NAME="SECTION00040010000000000000">
371<I>*colored<MATH CLASS="INLINE">
372-
373</MATH>poly<MATH CLASS="INLINE">
374-
375</MATH>debug*</I></A>
376</H4>
377<P><IMG WIDTH="495" HEIGHT="27" ALIGN="MIDDLE" BORDER="0"
378 SRC="img1.gif"
379 ALT="$\textstyle\parbox{\pboxargslen}{\em nil \/}$"> [<EM>VARIABLE</EM>]
380<BLOCKQUOTE>
381If true debugging output is on.</BLOCKQUOTE><H4><A NAME="SECTION00040020000000000000">
382<I>debug<MATH CLASS="INLINE">
383-
384</MATH>cgb</I></A>
385</H4>
386<P><IMG WIDTH="576" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
387 SRC="img7.gif"
388 ALT="$\textstyle\parbox{\pboxargslen}{\em {\sf \&rest} args \/}$"> [<EM>MACRO</EM>]
389<BLOCKQUOTE>
390 </BLOCKQUOTE><H4><A NAME="SECTION00040030000000000000">
391<I>make<MATH CLASS="INLINE">
392-
393</MATH>colored<MATH CLASS="INLINE">
394-
395</MATH>poly</I></A>
396</H4>
397<P><IMG WIDTH="471" HEIGHT="50" ALIGN="MIDDLE" BORDER="0"
398 SRC="img67.gif"
399 ALT="$\textstyle\parbox{\pboxargslen}{\em poly k {\sf \&key} (key
400 \char93 'identity)...
401 ...er
402 \char93 'lex$\gt$) (parameter$-$order
403 \char93 'lex$\gt$) {\sf \&aux} l \/}$"> [<EM>FUNCTION</EM>]
404<BLOCKQUOTE>
405Colored poly is represented as a list
406 (TERM1 TERM2 ... TERMS)
407where each term is a triple
408 (MONOM . (POLY . COLOR))
409where monoms and polys have common number of variables while color is
410one of the three: :RED, :GREEN or :WHITE. This function translates
411an ordinary polynomial into a colored one by dividing variables into
412K and N<MATH CLASS="INLINE">
413-
414</MATH>K, where N is the total number of variables in the
415polynomial poly; the function KEY can be called to select variables
416in arbitrary order.</BLOCKQUOTE><H4><A NAME="SECTION00040040000000000000">
417<I>make<MATH CLASS="INLINE">
418-
419</MATH>colored<MATH CLASS="INLINE">
420-
421</MATH>poly<MATH CLASS="INLINE">
422-
423</MATH>list</I></A>
424</H4>
425<P><IMG WIDTH="438" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
426 SRC="img68.gif"
427 ALT="$\textstyle\parbox{\pboxargslen}{\em plist {\sf \&rest} rest \/}$"> [<EM>FUNCTION</EM>]
428<BLOCKQUOTE>
429Translate a list of polynomials PLIST into a list of colored
430polynomials by calling MAKE<MATH CLASS="INLINE">
431-
432</MATH>COLORED<MATH CLASS="INLINE">
433-
434</MATH>POLY. Returns the resulting
435list. </BLOCKQUOTE><H4><A NAME="SECTION00040050000000000000">
436<I>color<MATH CLASS="INLINE">
437-
438</MATH>poly<MATH CLASS="INLINE">
439-
440</MATH>list</I></A>
441</H4>
442<P><IMG WIDTH="503" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
443 SRC="img69.gif"
444 ALT="$\textstyle\parbox{\pboxargslen}{\em flist {\sf \&optional} (cond (list nil nil)) \/}$"> [<EM>FUNCTION</EM>]
445<BLOCKQUOTE>
446Add colors to an ordinary list of polynomials FLIST, according to a
447condition COND. A condition is a pair of polynomial lists. Each
448polynomial in COND is a polynomial in parameters only. The list
449(FIRST COND) is called the ``green list'' and it consists of
450polynomials which vanish for the parameters associated with the
451condition. The list (SECOND COND) is called the ``red list</BLOCKQUOTE><H4><A NAME="SECTION00040060000000000000">
452<I>color<MATH CLASS="INLINE">
453-
454</MATH>poly</I></A>
455</H4>
456<P><IMG WIDTH="536" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
457 SRC="img70.gif"
458 ALT="$\textstyle\parbox{\pboxargslen}{\em f {\sf \&optional} (cond (list nil nil)) \/}$"> [<EM>FUNCTION</EM>]
459<BLOCKQUOTE>
460Add color to a single polynomial F, according to condition COND.
461See the documentation of COLOR<MATH CLASS="INLINE">
462-
463</MATH>POLY<MATH CLASS="INLINE">
464-
465</MATH>LIST.</BLOCKQUOTE><H4><A NAME="SECTION00040070000000000000">
466<I>colored<MATH CLASS="INLINE">
467-
468</MATH>poly<MATH CLASS="INLINE">
469-
470</MATH>to<MATH CLASS="INLINE">
471-
472</MATH>poly</I></A>
473</H4>
474<P><IMG WIDTH="451" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
475 SRC="img71.gif"
476 ALT="$\textstyle\parbox{\pboxargslen}{\em cpoly \/}$"> [<EM>FUNCTION</EM>]
477<BLOCKQUOTE>
478For a given colored polynomial CPOLY, removes the colors and
479it returns the polynomial as an ordinary polynomial with
480coefficients which are polynomials in parameters.</BLOCKQUOTE><H4><A NAME="SECTION00040080000000000000">
481<I>colored<MATH CLASS="INLINE">
482-
483</MATH>poly<MATH CLASS="INLINE">
484-
485</MATH>print</I></A>
486</H4>
487<P><IMG WIDTH="475" HEIGHT="50" ALIGN="MIDDLE" BORDER="0"
488 SRC="img72.gif"
489 ALT="$\textstyle\parbox{\pboxargslen}{\em poly vars {\sf \&key} (stream
490 t) (beg
491 t) (print$-$green$-$part
492 nil) (mark$-$coefficients
493 nil) \/}$"> [<EM>FUNCTION</EM>]
494<BLOCKQUOTE>
495Print a colored polynomial POLY. Use variables VARS to represent
496the variables. Some of the variables are going to be used as
497parameters, according to the length of the monomials in the main
498monomial and coefficient part of each term in POLY. The key variable
499STREAM may be used to redirect the output. If parameter
500PRINT<MATH CLASS="INLINE">
501-
502</MATH>GREEN<MATH CLASS="INLINE">
503-
504</MATH>PART is set then the coefficients which have color
505:GREEN will be printed, otherwise they are discarded silently. If
506MARK<MATH CLASS="INLINE">
507-
508</MATH>COEFFICIENTS is not NIL then every coefficient will be marked
509according to its color, for instance G(U<MATH CLASS="INLINE">
510-
511</MATH>1) would mean that U<MATH CLASS="INLINE">
512-
513</MATH>1
514is in the green list. Returns P.</BLOCKQUOTE><H4><A NAME="SECTION00040090000000000000">
515<I>colored<MATH CLASS="INLINE">
516-
517</MATH>poly<MATH CLASS="INLINE">
518-
519</MATH>print<MATH CLASS="INLINE">
520-
521</MATH>list</I></A>
522</H4>
523<P><IMG WIDTH="442" HEIGHT="50" ALIGN="MIDDLE" BORDER="0"
524 SRC="img73.gif"
525 ALT="$\textstyle\parbox{\pboxargslen}{\em poly$-$list vars {\sf \&key} (stream
526 t) (beg
527 t) (print$-$green$-$part
528 nil) (mark$-$coefficients
529 nil) \/}$"> [<EM>FUNCTION</EM>]
530<BLOCKQUOTE>
531Pring a list of colored polynomials via a call to
532COLORED<MATH CLASS="INLINE">
533-
534</MATH>POLY<MATH CLASS="INLINE">
535-
536</MATH>PRINT.</BLOCKQUOTE><H4><A NAME="SECTION000400100000000000000">
537<I>determine</I></A>
538</H4>
539<P><IMG WIDTH="543" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
540 SRC="img74.gif"
541 ALT="$\textstyle\parbox{\pboxargslen}{\em f {\sf \&optional} (cond (list nil nil)) (order
542 \char93 'lex$\gt$) (ring
543 *coefficient$-$ring*) \/}$"> [<EM>FUNCTION</EM>]
544<BLOCKQUOTE>
545This function takes a list of colored polynomials F and a condition
546COND, and it returns a list of pairs (COND' F') such that COND' cover
547COND and F' is a ``determined'' version of the colored polynomial
548list F, i.e. every polynomial has its leading coefficient determined.
549This means that some of the initial coefficients in each polynomial
550in F' are in the green list of COND, and the first non<MATH CLASS="INLINE">
551-
552</MATH>green
553coefficient is in the red list of COND. We note that F' differs from
554F only by different colors: some of the terms marked :WHITE are now
555marked either :GREEN or :RED. Coloring is done either by explicitly
556checking membership in red or green list of COND, or implicitly by
557performing Grobner basis calculations in the polynomial ring over the
558parameters. The admissible monomial order ORDER is used only in the
559parameter space. Also, the ring structure RING is used only for
560calculations on polynomials of the parameters only.</BLOCKQUOTE><H4><A NAME="SECTION000400110000000000000">
561<I>determine<MATH CLASS="INLINE">
562-
563</MATH>1</I></A>
564</H4>
565<P><IMG WIDTH="522" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
566 SRC="img75.gif"
567 ALT="$\textstyle\parbox{\pboxargslen}{\em cond p end gp order ring \/}$"> [<EM>FUNCTION</EM>]
568<BLOCKQUOTE>
569Determine a single colored polynomial P according to condition COND.
570Prepend green part GP to P. Cons the result with END, which should be
571a list of colored polynomials, and return the resulting list of
572polynomials. This is an auxillary function of DETERMINE.</BLOCKQUOTE><H4><A NAME="SECTION000400120000000000000">
573<I>determine<MATH CLASS="INLINE">
574-
575</MATH>white<MATH CLASS="INLINE">
576-
577</MATH>term</I></A>
578</H4>
579<P><IMG WIDTH="448" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
580 SRC="img76.gif"
581 ALT="$\textstyle\parbox{\pboxargslen}{\em cond term restp end gp order ring \/}$"> [<EM>FUNCTION</EM>]
582<BLOCKQUOTE>
583This is an auxillary function of DETERMINE. In this function the
584parameter COND is a condition. The parameters TERM, RESTP and GP are
585three parts of a polynomial being processed, where TERM is colored
586:WHITE. We test the membership in the red and green list of COND we
587try to determine whether the term is :RED or :GREEN. This is done by
588performing ideal membership tests in the polynomial ring. Let C be
589the coefficient of TERM. Thus, C is a polynomial in parameters. We
590find whether C is in the green list by performing a plain ideal
591membership test. However, to test properly whether C is in the red
592list, one needs a different strategy. In fact, we test whether
593adding C to the red list would produce a non<MATH CLASS="INLINE">
594-
595</MATH>empty set of
596parameters in some algebraic extension. The test is whether 1 belongs
597to the saturation ideal of (FIRST COND) in (CONS C (SECOND COND)).
598Thus, we use POLY<MATH CLASS="INLINE">
599-
600</MATH>SATURATION. If we are successful in determining
601the color of TERM, we simply change the color of the term and return
602the list ((COND P)) where P is obtained by appending GP, (LIST TERM)
603and RESTP. If we cannot determine whether TERM is :RED or :GREEN, we
604return the list ((COND' P') (COND'' P</BLOCKQUOTE><H4><A NAME="SECTION000400130000000000000">
605<I>cond<MATH CLASS="INLINE">
606-
607</MATH>system<MATH CLASS="INLINE">
608-
609</MATH>print</I></A>
610</H4>
611<P><IMG WIDTH="474" HEIGHT="50" ALIGN="MIDDLE" BORDER="0"
612 SRC="img77.gif"
613 ALT="$\textstyle\parbox{\pboxargslen}{\em system vars params {\sf \&key} (suppress$-$...
614 ...rint$-$green$-$part
615 nil) (mark$-$coefficients
616 nil) {\sf \&aux} (label
617 0) \/}$"> [<EM>FUNCTION</EM>]
618<BLOCKQUOTE>
619A conditional system SYSTEM is a list of pairs (COND PLIST), where
620COND is a condition (a pair (GREEN<MATH CLASS="INLINE">
621-
622</MATH>LIST RED<MATH CLASS="INLINE">
623-
624</MATH>LIST)) and PLIST is a
625list of colored polynomials. This function pretty<MATH CLASS="INLINE">
626-
627</MATH>prints this list
628of pairs. A conditional system is the data structure returned by
629GROBNER<MATH CLASS="INLINE">
630-
631</MATH>SYSTEM. This function returns SYSTEM, if SUPPRESS<MATH CLASS="INLINE">
632-
633</MATH>VALUE
634is non<MATH CLASS="INLINE">
635-
636</MATH>NIL and no value otherwise. If MARK<MATH CLASS="INLINE">
637-
638</MATH>COEFFICIENTS is
639non<MATH CLASS="INLINE">
640-
641</MATH>NIL coefficients will be marked as in G(u<MATH CLASS="INLINE">
642-
643</MATH>1)*x+R(2)*y, which
644means that u<MATH CLASS="INLINE">
645-
646</MATH>1 is :GREEN and 2 is :RED. </BLOCKQUOTE><H4><A NAME="SECTION000400140000000000000">
647<I>cond<MATH CLASS="INLINE">
648-
649</MATH>print</I></A>
650</H4>
651<P><IMG WIDTH="533" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
652 SRC="img78.gif"
653 ALT="$\textstyle\parbox{\pboxargslen}{\em cond params \/}$"> [<EM>FUNCTION</EM>]
654<BLOCKQUOTE>
655Pretty<MATH CLASS="INLINE">
656-
657</MATH>print a condition COND, using symbol list PARAMS as
658parameter names. </BLOCKQUOTE><H4><A NAME="SECTION000400150000000000000">
659<I>add<MATH CLASS="INLINE">
660-
661</MATH>pairs</I></A>
662</H4>
663<P><IMG WIDTH="541" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
664 SRC="img79.gif"
665 ALT="$\textstyle\parbox{\pboxargslen}{\em gs pred \/}$"> [<EM>FUNCTION</EM>]
666<BLOCKQUOTE>
667The parameter GS shoud be a Grobner system, i.e. a set of pairs
668(CONDITION POLY<MATH CLASS="INLINE">
669-
670</MATH>LIST) This functions adds the third component: the
671list of initial critical pairs (I J), as in the ordinary Grobner
672basis algorithm. In addition, it adds the length of of the
673POLY<MATH CLASS="INLINE">
674-
675</MATH>LIST, less 1, as the fourth component. The resulting list of
676quadruples is returned.</BLOCKQUOTE><H4><A NAME="SECTION000400160000000000000">
677<I>cond<MATH CLASS="INLINE">
678-
679</MATH>part</I></A>
680</H4>
681<P><IMG WIDTH="538" HEIGHT="27" ALIGN="MIDDLE" BORDER="0"
682 SRC="img80.gif"
683 ALT="$\textstyle\parbox{\pboxargslen}{\em p \/}$"> [<EM>FUNCTION</EM>]
684<BLOCKQUOTE>
685Find the part of a colored polynomial P starting with the first
686 non<MATH CLASS="INLINE">
687-
688</MATH>green term.</BLOCKQUOTE><H4><A NAME="SECTION000400170000000000000">
689<I>cond<MATH CLASS="INLINE">
690-
691</MATH>hm</I></A>
692</H4>
693<P><IMG WIDTH="538" HEIGHT="27" ALIGN="MIDDLE" BORDER="0"
694 SRC="img80.gif"
695 ALT="$\textstyle\parbox{\pboxargslen}{\em p \/}$"> [<EM>FUNCTION</EM>]
696<BLOCKQUOTE>
697Return the conditional head monomial of a colored polynomial P.</BLOCKQUOTE><H4><A NAME="SECTION000400180000000000000">
698<I>delete<MATH CLASS="INLINE">
699-
700</MATH>green<MATH CLASS="INLINE">
701-
702</MATH>polys</I></A>
703</H4>
704<P><IMG WIDTH="472" HEIGHT="27" ALIGN="MIDDLE" BORDER="0"
705 SRC="img81.gif"
706 ALT="$\textstyle\parbox{\pboxargslen}{\em gamma \/}$"> [<EM>FUNCTION</EM>]
707<BLOCKQUOTE>
708Delete totally green polynomials from in a grobner system GAMMA.</BLOCKQUOTE><H4><A NAME="SECTION000400190000000000000">
709<I>grobner<MATH CLASS="INLINE">
710-
711</MATH>system</I></A>
712</H4>
713<P><IMG WIDTH="499" HEIGHT="130" ALIGN="MIDDLE" BORDER="0"
714 SRC="img82.gif"
715 ALT="$\textstyle\parbox{\pboxargslen}{\em f {\sf \&key} (cover (list '(nil nil))) (ma...
716 ...char93 '(lambda (cond) (determine f cond parameter$-$order ring))
717 cover))) \/}$"> [<EM>FUNCTION</EM>]
718<BLOCKQUOTE>
719This function returns a grobner system, given a list of colored
720polynomials F, Other parameters are:
721A cover COVER, i.e. a list of conditions, i.e. pairs of the form
722(GREEN<MATH CLASS="INLINE">
723-
724</MATH>LIST RED<MATH CLASS="INLINE">
725-
726</MATH>LIST), where GREEN<MATH CLASS="INLINE">
727-
728</MATH>LIST and RED<MATH CLASS="INLINE">
729-
730</MATH>LIST are to
731lists of ordinary polynomials in parameters. A monomial order
732MAIN<MATH CLASS="INLINE">
733-
734</MATH>ORDER used on main variables (not parameters). A monomial
735order PARAMETER<MATH CLASS="INLINE">
736-
737</MATH>ORDER used in calculations with parameters only.
738REDUCE, a flag deciding whether COLORED<MATH CLASS="INLINE">
739-
740</MATH>REDUCTION will be performed
741on the resulting grobner system. GREEN<MATH CLASS="INLINE">
742-
743</MATH>REDUCE, a flag deciding
744whether the green list of each condition will be reduced in a form of
745a reduced Grobner basis. TOP<MATH CLASS="INLINE">
746-
747</MATH>REDUCTION<MATH CLASS="INLINE">
748-
749</MATH>ONLY, a flag deciding
750whether in the internal calculations in the space of parameters top
751reduction only will be used. RING, a structure as in the package
752COEFFICIENT<MATH CLASS="INLINE">
753-
754</MATH>RING, used in operations on the coefficients of the
755polynomials in parameters. </BLOCKQUOTE><H4><A NAME="SECTION000400200000000000000">
756<I>reorder<MATH CLASS="INLINE">
757-
758</MATH>pairs</I></A>
759</H4>
760<P><IMG WIDTH="518" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
761 SRC="img83.gif"
762 ALT="$\textstyle\parbox{\pboxargslen}{\em b bnew g pred {\sf \&optional} (sort$-$first nil) \/}$"> [<EM>FUNCTION</EM>]
763<BLOCKQUOTE>
764Reorder pairs according to some heuristic. The heuristic at this time
765is ad hoc, in the future it should be replaced with sugar strategy
766and a mechanism for implementing new heuristic strategies, as in the
767GROBNER package. </BLOCKQUOTE><H4><A NAME="SECTION000400210000000000000">
768<I>colored<MATH CLASS="INLINE">
769-
770</MATH>criterion<MATH CLASS="INLINE">
771-
772</MATH>1</I></A>
773</H4>
774<P><IMG WIDTH="471" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
775 SRC="img84.gif"
776 ALT="$\textstyle\parbox{\pboxargslen}{\em i j f \/}$"> [<EM>FUNCTION</EM>]
777<BLOCKQUOTE>
778Buchberger criterion 1 for colored polynomials.</BLOCKQUOTE><H4><A NAME="SECTION000400220000000000000">
779<I>colored<MATH CLASS="INLINE">
780-
781</MATH>criterion<MATH CLASS="INLINE">
782-
783</MATH>2</I></A>
784</H4>
785<P><IMG WIDTH="471" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
786 SRC="img85.gif"
787 ALT="$\textstyle\parbox{\pboxargslen}{\em i j f b s \/}$"> [<EM>FUNCTION</EM>]
788<BLOCKQUOTE>
789Buchberger criterion 2 for colored polynomials.</BLOCKQUOTE><H4><A NAME="SECTION000400230000000000000">
790<I>cond<MATH CLASS="INLINE">
791-
792</MATH>normal<MATH CLASS="INLINE">
793-
794</MATH>form</I></A>
795</H4>
796<P><IMG WIDTH="474" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
797 SRC="img86.gif"
798 ALT="$\textstyle\parbox{\pboxargslen}{\em f fl main$-$order parameter$-$order top$-$reduction$-$only ring \/}$"> [<EM>FUNCTION</EM>]
799<BLOCKQUOTE>
800Returns the conditional normal form of a colored polynomial F with
801respect to the list of colored polynomials FL. The list FL is assumed
802to consist of determined polynomials, i.e. such that the first term
803which is not marked :GREEN is :RED.</BLOCKQUOTE><H4><A NAME="SECTION000400240000000000000">
804<I>cond<MATH CLASS="INLINE">
805-
806</MATH>spoly</I></A>
807</H4>
808<P><IMG WIDTH="530" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
809 SRC="img87.gif"
810 ALT="$\textstyle\parbox{\pboxargslen}{\em f g main$-$order parameter$-$order ring \/}$"> [<EM>FUNCTION</EM>]
811<BLOCKQUOTE>
812Returns the conditional S<MATH CLASS="INLINE">
813-
814</MATH>polynomial of two colored polynomials F
815and G. Both polynomials are assumed to be determined.</BLOCKQUOTE><H4><A NAME="SECTION000400250000000000000">
816<I>cond<MATH CLASS="INLINE">
817-
818</MATH>lm</I></A>
819</H4>
820<P><IMG WIDTH="549" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
821 SRC="img88.gif"
822 ALT="$\textstyle\parbox{\pboxargslen}{\em f \/}$"> [<EM>FUNCTION</EM>]
823<BLOCKQUOTE>
824Returns the conditional leading monomial of a colored polynomial F,
825which is assumed to be determined.</BLOCKQUOTE><H4><A NAME="SECTION000400260000000000000">
826<I>cond<MATH CLASS="INLINE">
827-
828</MATH>lc</I></A>
829</H4>
830<P><IMG WIDTH="549" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
831 SRC="img88.gif"
832 ALT="$\textstyle\parbox{\pboxargslen}{\em f \/}$"> [<EM>FUNCTION</EM>]
833<BLOCKQUOTE>
834Returns the conditional leading coefficient of a colored polynomial
835F, which is assumed to be determined.</BLOCKQUOTE><H4><A NAME="SECTION000400270000000000000">
836<I>colored<MATH CLASS="INLINE">
837-
838</MATH>term<MATH CLASS="INLINE">
839-
840</MATH>times<MATH CLASS="INLINE">
841-
842</MATH>poly</I></A>
843</H4>
844<P><IMG WIDTH="426" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
845 SRC="img89.gif"
846 ALT="$\textstyle\parbox{\pboxargslen}{\em term f order ring \/}$"> [<EM>FUNCTION</EM>]
847<BLOCKQUOTE>
848Returns the product of a colored term TERM and a colored polynomial
849F. </BLOCKQUOTE><H4><A NAME="SECTION000400280000000000000">
850<I>colored<MATH CLASS="INLINE">
851-
852</MATH>scalar<MATH CLASS="INLINE">
853-
854</MATH>times<MATH CLASS="INLINE">
855-
856</MATH>poly</I></A>
857</H4>
858<P><IMG WIDTH="419" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
859 SRC="img90.gif"
860 ALT="$\textstyle\parbox{\pboxargslen}{\em c f ring \/}$"> [<EM>FUNCTION</EM>]
861<BLOCKQUOTE>
862Returns the product of an element of the coefficient ring C a colored
863polynomial F. </BLOCKQUOTE><H4><A NAME="SECTION000400290000000000000">
864<I>colored<MATH CLASS="INLINE">
865-
866</MATH>term*</I></A>
867</H4>
868<P><IMG WIDTH="509" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
869 SRC="img91.gif"
870 ALT="$\textstyle\parbox{\pboxargslen}{\em term1 term2 order ring \/}$"> [<EM>FUNCTION</EM>]
871<BLOCKQUOTE>
872Returns the product of two colored terms TERM1 and TERM2.</BLOCKQUOTE><H4><A NAME="SECTION000400300000000000000">
873<I>color*</I></A>
874</H4>
875<P><IMG WIDTH="570" HEIGHT="27" ALIGN="MIDDLE" BORDER="0"
876 SRC="img92.gif"
877 ALT="$\textstyle\parbox{\pboxargslen}{\em c1 c2 \/}$"> [<EM>FUNCTION</EM>]
878<BLOCKQUOTE>
879Returns a product of two colores. Rules:
880:red * :red yields :red
881any * :green yields :green
882otherwise the result is :white.</BLOCKQUOTE><H4><A NAME="SECTION000400310000000000000">
883<I>color+</I></A>
884</H4>
885<P><IMG WIDTH="570" HEIGHT="27" ALIGN="MIDDLE" BORDER="0"
886 SRC="img92.gif"
887 ALT="$\textstyle\parbox{\pboxargslen}{\em c1 c2 \/}$"> [<EM>FUNCTION</EM>]
888<BLOCKQUOTE>
889Returns a sum of colors. Rules:
890:green + :green yields :green,
891:red + :green yields :red
892any other result is :white.</BLOCKQUOTE><H4><A NAME="SECTION000400320000000000000">
893<I>color<MATH CLASS="INLINE">
894-
895</MATH></I></A>
896</H4>
897<P><IMG WIDTH="570" HEIGHT="27" ALIGN="MIDDLE" BORDER="0"
898 SRC="img92.gif"
899 ALT="$\textstyle\parbox{\pboxargslen}{\em c1 c2 \/}$"> [<EM>FUNCTION</EM>]
900<BLOCKQUOTE>
901Identical to COLOR+.</BLOCKQUOTE><H4><A NAME="SECTION000400330000000000000">
902<I>colored<MATH CLASS="INLINE">
903-
904</MATH>poly+</I></A>
905</H4>
906<P><IMG WIDTH="508" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
907 SRC="img93.gif"
908 ALT="$\textstyle\parbox{\pboxargslen}{\em p q main$-$order parameter$-$order ring \/}$"> [<EM>FUNCTION</EM>]
909<BLOCKQUOTE>
910Returns the sum of colored polynomials P and Q.</BLOCKQUOTE><H4><A NAME="SECTION000400340000000000000">
911<I>colored<MATH CLASS="INLINE">
912-
913</MATH>poly<MATH CLASS="INLINE">
914-
915</MATH></I></A>
916</H4>
917<P><IMG WIDTH="508" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
918 SRC="img93.gif"
919 ALT="$\textstyle\parbox{\pboxargslen}{\em p q main$-$order parameter$-$order ring \/}$"> [<EM>FUNCTION</EM>]
920<BLOCKQUOTE>
921Returns the difference of colored polynomials P and Q.</BLOCKQUOTE><H4><A NAME="SECTION000400350000000000000">
922<I>colored<MATH CLASS="INLINE">
923-
924</MATH>term<MATH CLASS="INLINE">
925-
926</MATH>uminus</I></A>
927</H4>
928<P><IMG WIDTH="455" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
929 SRC="img94.gif"
930 ALT="$\textstyle\parbox{\pboxargslen}{\em term ring \/}$"> [<EM>FUNCTION</EM>]
931<BLOCKQUOTE>
932Returns the negation of a colored term TERM.</BLOCKQUOTE><H4><A NAME="SECTION000400360000000000000">
933<I>colored<MATH CLASS="INLINE">
934-
935</MATH>minus<MATH CLASS="INLINE">
936-
937</MATH>poly</I></A>
938</H4>
939<P><IMG WIDTH="446" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
940 SRC="img9.gif"
941 ALT="$\textstyle\parbox{\pboxargslen}{\em p ring \/}$"> [<EM>FUNCTION</EM>]
942<BLOCKQUOTE>
943Returns the negation of a colored polynomial P.</BLOCKQUOTE><H4><A NAME="SECTION000400370000000000000">
944<I>string<MATH CLASS="INLINE">
945-
946</MATH>grobner<MATH CLASS="INLINE">
947-
948</MATH>system</I></A>
949</H4>
950<P><IMG WIDTH="447" HEIGHT="150" ALIGN="MIDDLE" BORDER="0"
951 SRC="img95.gif"
952 ALT="$\textstyle\parbox{\pboxargslen}{\em f vars params {\sf \&key} (cover
953 (list
954 (l...
955 ...meter$-$order)) (cover
956 (string$-$cover
957 cover
958 params
959 parameter$-$order)) \/}$"> [<EM>FUNCTION</EM>]
960<BLOCKQUOTE>
961An interface to GROBNER<MATH CLASS="INLINE">
962-
963</MATH>SYSTEM in which polynomials can be
964specified in infix notations as strings. Lists of polynomials are
965comma<MATH CLASS="INLINE">
966-
967</MATH>separated list marked by a matchfix operators [] </BLOCKQUOTE><H4><A NAME="SECTION000400380000000000000">
968<I>string<MATH CLASS="INLINE">
969-
970</MATH>cond</I></A>
971</H4>
972<P><IMG WIDTH="527" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
973 SRC="img96.gif"
974 ALT="$\textstyle\parbox{\pboxargslen}{\em cond params {\sf \&optional} (order \char93 'lex$\gt$) \/}$"> [<EM>FUNCTION</EM>]
975<BLOCKQUOTE>
976Return the internal representation of a condition COND, specified
977as pairs of strings (GREEN<MATH CLASS="INLINE">
978-
979</MATH>LIST RED<MATH CLASS="INLINE">
980-
981</MATH>LIST). GREEN<MATH CLASS="INLINE">
982-
983</MATH>LIST and
984RED<MATH CLASS="INLINE">
985-
986</MATH>LIST in the input are assumed to be strings which parse to two
987lists of polynomials with respect to variables whose names are in the
988list of symbols PARAMS. ORDER is the predicate used to sort the terms
989of the polynomials.</BLOCKQUOTE><H4><A NAME="SECTION000400390000000000000">
990<I>string<MATH CLASS="INLINE">
991-
992</MATH>cover</I></A>
993</H4>
994<P><IMG WIDTH="523" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
995 SRC="img97.gif"
996 ALT="$\textstyle\parbox{\pboxargslen}{\em cover params {\sf \&optional} (order \char93 'lex$\gt$) \/}$"> [<EM>FUNCTION</EM>]
997<BLOCKQUOTE>
998Returns the internal representation of COVER, given in the form of
999a list of conditions. See STRING<MATH CLASS="INLINE">
1000-
1001</MATH>COND for description of a
1002condition. </BLOCKQUOTE><H4><A NAME="SECTION000400400000000000000">
1003<I>saturate<MATH CLASS="INLINE">
1004-
1005</MATH>cover</I></A>
1006</H4>
1007<P><IMG WIDTH="506" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1008 SRC="img98.gif"
1009 ALT="$\textstyle\parbox{\pboxargslen}{\em cover order ring \/}$"> [<EM>FUNCTION</EM>]
1010<BLOCKQUOTE>
1011Brings every condition of a list of conditions COVER to the form (G
1012R) where G is saturated with respect to R and G is a Grobner basis
1013We could reduce R so that the elements of R are relatively prime,
1014but this is not currently done.</BLOCKQUOTE><H4><A NAME="SECTION000400410000000000000">
1015<I>saturate<MATH CLASS="INLINE">
1016-
1017</MATH>cond</I></A>
1018</H4>
1019<P><IMG WIDTH="510" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1020 SRC="img99.gif"
1021 ALT="$\textstyle\parbox{\pboxargslen}{\em cond order ring \/}$"> [<EM>FUNCTION</EM>]
1022<BLOCKQUOTE>
1023Saturate a single condition COND. An auxillary function of
1024SATURATE<MATH CLASS="INLINE">
1025-
1026</MATH>COVER. </BLOCKQUOTE><H4><A NAME="SECTION000400420000000000000">
1027<I>string<MATH CLASS="INLINE">
1028-
1029</MATH>determine</I></A>
1030</H4>
1031<P><IMG WIDTH="492" HEIGHT="130" ALIGN="MIDDLE" BORDER="0"
1032 SRC="img100.gif"
1033 ALT="$\textstyle\parbox{\pboxargslen}{\em f vars params {\sf \&key} (cond
1034 '([] [])) ...
1035 ...arameter$-$order)) (cond
1036 (string$-$cond
1037 cond
1038 params
1039 parameter$-$order)) \/}$"> [<EM>FUNCTION</EM>]
1040<BLOCKQUOTE>
1041A string interface to DETERMINE. See the documentation of
1042STRING<MATH CLASS="INLINE">
1043-
1044</MATH>GROBNER<MATH CLASS="INLINE">
1045-
1046</MATH>SYSTEM. </BLOCKQUOTE><H4><A NAME="SECTION000400430000000000000">
1047<I>tidy<MATH CLASS="INLINE">
1048-
1049</MATH>grobner<MATH CLASS="INLINE">
1050-
1051</MATH>system</I></A>
1052</H4>
1053<P><IMG WIDTH="460" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1054 SRC="img101.gif"
1055 ALT="$\textstyle\parbox{\pboxargslen}{\em gs main$-$order parameter$-$order reduce green$-$reduce ring \/}$"> [<EM>FUNCTION</EM>]
1056<BLOCKQUOTE>
1057Apply TIDY<MATH CLASS="INLINE">
1058-
1059</MATH>PAIR to every pair of a Grobner system.</BLOCKQUOTE><H4><A NAME="SECTION000400440000000000000">
1060<I>tidy<MATH CLASS="INLINE">
1061-
1062</MATH>pair</I></A>
1063</H4>
1064<P><IMG WIDTH="546" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1065 SRC="img102.gif"
1066 ALT="$\textstyle\parbox{\pboxargslen}{\em pair main$-$order parameter$-$order reduce green$-$reduce ring {\sf \&aux} gs \/}$"> [<EM>FUNCTION</EM>]
1067<BLOCKQUOTE>
1068Make the output of Grobner system more readable by performing
1069certain simplifications on an element of a Grobner system.
1070If REDUCE is non<MATH CLASS="INLINE">
1071-
1072</MATH>NIL then COLORED<MATH CLASS="INLINE">
1073-
1074</MATH>reduction will be performed.
1075In addition TIDY<MATH CLASS="INLINE">
1076-
1077</MATH>COND is called on the condition part of the pair
1078PAIR. </BLOCKQUOTE><H4><A NAME="SECTION000400450000000000000">
1079<I>tidy<MATH CLASS="INLINE">
1080-
1081</MATH>cond</I></A>
1082</H4>
1083<P><IMG WIDTH="510" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1084 SRC="img99.gif"
1085 ALT="$\textstyle\parbox{\pboxargslen}{\em cond order ring \/}$"> [<EM>FUNCTION</EM>]
1086<BLOCKQUOTE>
1087Currently saturates condition COND and does RED<MATH CLASS="INLINE">
1088-
1089</MATH>REDUCTION on the
1090red list. </BLOCKQUOTE><H4><A NAME="SECTION000400460000000000000">
1091<I>colored<MATH CLASS="INLINE">
1092-
1093</MATH>reduction</I></A>
1094</H4>
1095<P><IMG WIDTH="485" HEIGHT="50" ALIGN="MIDDLE" BORDER="0"
1096 SRC="img103.gif"
1097 ALT="$\textstyle\parbox{\pboxargslen}{\em cond p main$-$order parameter$-$order ring {\sf \&aux} (open
1098 (list
1099 (list
1100 cond
1101 nil
1102 p))) closed \/}$"> [<EM>FUNCTION</EM>]
1103<BLOCKQUOTE>
1104Reduce a list of colored polynomials P. The difficulty as compared
1105to the usual Buchberger algorithm is that the polys may have the same
1106leading monomial which may result in cancellations and polynomials
1107which may not be determined. Thus, when we find those, we will have
1108to split the condition by calling determine. Returns a list of pairs
1109(COND' P') where P' is a reduced grobner basis with respect to any
1110parameter choice compatible with condition COND'. Moreover, COND'
1111form a cover of COND.</BLOCKQUOTE><H4><A NAME="SECTION000400470000000000000">
1112<I>green<MATH CLASS="INLINE">
1113-
1114</MATH>reduce<MATH CLASS="INLINE">
1115-
1116</MATH>colored<MATH CLASS="INLINE">
1117-
1118</MATH>poly</I></A>
1119</H4>
1120<P><IMG WIDTH="413" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1121 SRC="img104.gif"
1122 ALT="$\textstyle\parbox{\pboxargslen}{\em cond f parameter$-$order ring \/}$"> [<EM>FUNCTION</EM>]
1123<BLOCKQUOTE>
1124It takes a colored polynomial F and it returns a modified
1125polynomial obtained by reducing coefficient of F modulo green list of
1126the condition COND.</BLOCKQUOTE><H4><A NAME="SECTION000400480000000000000">
1127<I>green<MATH CLASS="INLINE">
1128-
1129</MATH>reduce<MATH CLASS="INLINE">
1130-
1131</MATH>colored<MATH CLASS="INLINE">
1132-
1133</MATH>list</I></A>
1134</H4>
1135<P><IMG WIDTH="421" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1136 SRC="img105.gif"
1137 ALT="$\textstyle\parbox{\pboxargslen}{\em cond fl parameter$-$order ring \/}$"> [<EM>FUNCTION</EM>]
1138<BLOCKQUOTE>
1139Apply GREEN<MATH CLASS="INLINE">
1140-
1141</MATH>REDUCE<MATH CLASS="INLINE">
1142-
1143</MATH>COLORED<MATH CLASS="INLINE">
1144-
1145</MATH>POLY to a list of polynomials FL.</BLOCKQUOTE><H4><A NAME="SECTION000400490000000000000">
1146<I>cond<MATH CLASS="INLINE">
1147-
1148</MATH>system<MATH CLASS="INLINE">
1149-
1150</MATH>green<MATH CLASS="INLINE">
1151-
1152</MATH>reduce</I></A>
1153</H4>
1154<P><IMG WIDTH="411" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
1155 SRC="img106.gif"
1156 ALT="$\textstyle\parbox{\pboxargslen}{\em gs parameter$-$order ring \/}$"> [<EM>FUNCTION</EM>]
1157<BLOCKQUOTE>
1158Apply GREEN<MATH CLASS="INLINE">
1159-
1160</MATH>REDUCE<MATH CLASS="INLINE">
1161-
1162</MATH>COLORED<MATH CLASS="INLINE">
1163-
1164</MATH>LIST to every pair of
1165a grobner system GS.</BLOCKQUOTE><H4><A NAME="SECTION000400500000000000000">
1166<I>parse<MATH CLASS="INLINE">
1167-
1168</MATH>to<MATH CLASS="INLINE">
1169-
1170</MATH>colored<MATH CLASS="INLINE">
1171-
1172</MATH>poly<MATH CLASS="INLINE">
1173-
1174</MATH>list</I></A>
1175</H4>
1176<P><IMG WIDTH="412" HEIGHT="50" ALIGN="MIDDLE" BORDER="0"
1177 SRC="img107.gif"
1178 ALT="$\textstyle\parbox{\pboxargslen}{\em f vars params main$-$order parameter$-$order {\sf \&aux} (k
1179 (length
1180 vars)) (vars$-$params
1181 (append
1182 vars
1183 params)) \/}$"> [<EM>FUNCTION</EM>]
1184<BLOCKQUOTE>
1185Parse a list of polynomials F, given as a string, with respect to
1186a list of variables VARS, given as a list of symbols, to the internal
1187representation of a colored polynomial. The polynomials will be
1188properly sorted by MAIN<MATH CLASS="INLINE">
1189-
1190</MATH>ORDER, with the coefficients, which are
1191polynomials in parameters, sorted by PARAMETER<MATH CLASS="INLINE">
1192-
1193</MATH>ORDER. Both orders
1194must be admissible monomial orders. This form is suitable for parsing
1195polynomials with integer coefficients.</BLOCKQUOTE><H4><A NAME="SECTION000400510000000000000">
1196<I>red<MATH CLASS="INLINE">
1197-
1198</MATH>reduction</I></A>
1199</H4>
1200<P><IMG WIDTH="513" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
1201 SRC="img108.gif"
1202 ALT="$\textstyle\parbox{\pboxargslen}{\em p pred ring {\sf \&aux} (p
1203 (remove$-$if
1204 \char93 'poly$-$constant$-$p
1205 p)) \/}$"> [<EM>FUNCTION</EM>]
1206<BLOCKQUOTE>
1207Takes a family of polynomials and produce a list whose prime factors
1208are the same but they are relatively prime
1209Repetitively used the following procedure: it finds two elements f, g
1210of P which are not relatively prime; it replaces f and g with
1211f/GCD(f,g), g/ GCD(f,f) and GCD(f,g).</BLOCKQUOTE><HR>
1212<!--Navigation Panel-->
1213<A NAME="tex2html855"
1214 HREF="node5.html">
1215<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
1216<A NAME="tex2html852"
1217 HREF="manual.html">
1218<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
1219<A NAME="tex2html846"
1220 HREF="node3.html">
1221<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
1222<A NAME="tex2html854"
1223 HREF="node1.html">
1224<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
1225<BR>
1226<B> Next:</B> <A NAME="tex2html856"
1227 HREF="node5.html">The Coefficient Ring package</A>
1228<B> Up:</B> <A NAME="tex2html853"
1229 HREF="manual.html">CGBLisp User Guide and</A>
1230<B> Previous:</B> <A NAME="tex2html847"
1231 HREF="node3.html">The String Interface to</A>
1232<!--End of Navigation Panel-->
1233<ADDRESS>
1234<I>Marek Rychlik</I>
1235<BR><I>3/21/1998</I>
1236</ADDRESS>
1237</BODY>
1238</HTML>
Note: See TracBrowser for help on using the repository browser.