[1] | 1 |
|
---|
| 2 | ;;; *COLORED-POLY-DEBUG* (nil) [VARIABLE]
|
---|
| 3 | ;;; If true debugging output is on.
|
---|
| 4 | ;;;
|
---|
| 5 | ;;; DEBUG-CGB (&rest args) [MACRO]
|
---|
| 6 | ;;;
|
---|
| 7 | ;;; MAKE-COLORED-POLY (poly k &key (key #'identity) [FUNCTION]
|
---|
| 8 | ;;; (main-order #'lex>) (parameter-order #'lex>)
|
---|
| 9 | ;;; &aux l)
|
---|
| 10 | ;;; Colored poly is represented as a list
|
---|
| 11 | ;;; (TERM1 TERM2 ... TERMS)
|
---|
| 12 | ;;; where each term is a triple
|
---|
| 13 | ;;; (MONOM . (POLY . COLOR))
|
---|
| 14 | ;;; where monoms and polys have common number of variables while color is
|
---|
| 15 | ;;; one of the three: :RED, :GREEN or :WHITE. This function translates
|
---|
| 16 | ;;; an ordinary polynomial into a colored one by dividing variables into
|
---|
| 17 | ;;; K and N-K, where N is the total number of variables in the polynomial
|
---|
| 18 | ;;; poly; the function KEY can be called to select variables in arbitrary
|
---|
| 19 | ;;; order.
|
---|
| 20 | ;;;
|
---|
| 21 | ;;; MAKE-COLORED-POLY-LIST (plist &rest rest) [FUNCTION]
|
---|
| 22 | ;;; Translate a list of polynomials PLIST into a list of colored
|
---|
| 23 | ;;; polynomials by calling MAKE-COLORED-POLY. Returns the resulting list.
|
---|
| 24 | ;;;
|
---|
| 25 | ;;; COLOR-POLY-LIST (flist &optional (cond (list nil nil))) [FUNCTION]
|
---|
| 26 | ;;; Add colors to an ordinary list of polynomials FLIST, according to a
|
---|
| 27 | ;;; condition COND. A condition is a pair of polynomial lists. Each
|
---|
| 28 | ;;; polynomial in COND is a polynomial in parameters only. The list
|
---|
| 29 | ;;; (FIRST COND) is called the ``green list'' and it consists of
|
---|
| 30 | ;;; polynomials which vanish for the parameters associated with the
|
---|
| 31 | ;;; condition. The list (SECOND COND) is called the ``red list
|
---|
| 32 | ;;;
|
---|
| 33 | ;;; COLOR-POLY (f &optional (cond (list nil nil))) [FUNCTION]
|
---|
| 34 | ;;; Add color to a single polynomial F, according to condition COND.
|
---|
| 35 | ;;; See the documentation of COLOR-POLY-LIST.
|
---|
| 36 | ;;;
|
---|
| 37 | ;;; COLORED-POLY-TO-POLY (cpoly) [FUNCTION]
|
---|
| 38 | ;;; For a given colored polynomial CPOLY, removes the colors and
|
---|
| 39 | ;;; it returns the polynomial as an ordinary polynomial with
|
---|
| 40 | ;;; coefficients which are polynomials in parameters.
|
---|
| 41 | ;;;
|
---|
| 42 | ;;; COLORED-POLY-PRINT (poly vars &key (stream t) (beg t) [FUNCTION]
|
---|
| 43 | ;;; (print-green-part nil)
|
---|
| 44 | ;;; (mark-coefficients nil))
|
---|
| 45 | ;;; Print a colored polynomial POLY. Use variables VARS to represent
|
---|
| 46 | ;;; the variables. Some of the variables are going to be used as
|
---|
| 47 | ;;; parameters, according to the length of the monomials in the main
|
---|
| 48 | ;;; monomial and coefficient part of each term in POLY. The key variable
|
---|
| 49 | ;;; STREAM may be used to redirect the output. If parameter
|
---|
| 50 | ;;; PRINT-GREEN-PART is set then the coefficients which have color :GREEN
|
---|
| 51 | ;;; will be printed, otherwise they are discarded silently. If
|
---|
| 52 | ;;; MARK-COEFFICIENTS is not NIL then every coefficient will be marked
|
---|
| 53 | ;;; according to its color, for instance G(U-1) would mean that U-1 is
|
---|
| 54 | ;;; in the green list. Returns P.
|
---|
| 55 | ;;;
|
---|
| 56 | ;;; COLORED-POLY-PRINT-LIST (poly-list vars &key (stream t) (beg t) [FUNCTION]
|
---|
| 57 | ;;; (print-green-part nil)
|
---|
| 58 | ;;; (mark-coefficients nil))
|
---|
| 59 | ;;; Pring a list of colored polynomials via a call to
|
---|
| 60 | ;;; COLORED-POLY-PRINT.
|
---|
| 61 | ;;;
|
---|
| 62 | ;;; DETERMINE (f &optional (cond (list nil nil)) (order #'lex>) [FUNCTION]
|
---|
| 63 | ;;; (ring *coefficient-ring*))
|
---|
| 64 | ;;; This function takes a list of colored polynomials F and a condition
|
---|
| 65 | ;;; COND, and it returns a list of pairs (COND' F') such that COND' cover
|
---|
| 66 | ;;; COND and F' is a ``determined'' version of the colored polynomial
|
---|
| 67 | ;;; list F, i.e. every polynomial has its leading coefficient determined.
|
---|
| 68 | ;;; This means that some of the initial coefficients in each polynomial
|
---|
| 69 | ;;; in F' are in the green list of COND, and the first non-green
|
---|
| 70 | ;;; coefficient is in the red list of COND. We note that F' differs from
|
---|
| 71 | ;;; F only by different colors: some of the terms marked :WHITE are now
|
---|
| 72 | ;;; marked either :GREEN or :RED. Coloring is done either by explicitly
|
---|
| 73 | ;;; checking membership in red or green list of COND, or implicitly by
|
---|
| 74 | ;;; performing Grobner basis calculations in the polynomial ring over the
|
---|
| 75 | ;;; parameters. The admissible monomial order ORDER is used only in the
|
---|
| 76 | ;;; parameter space. Also, the ring structure RING is used only for
|
---|
| 77 | ;;; calculations on polynomials of the parameters only.
|
---|
| 78 | ;;;
|
---|
| 79 | ;;; DETERMINE-1 (cond p end gp order ring) [FUNCTION]
|
---|
| 80 | ;;; Determine a single colored polynomial P according to condition COND.
|
---|
| 81 | ;;; Prepend green part GP to P. Cons the result with END, which should be
|
---|
| 82 | ;;; a list of colored polynomials, and return the resulting list of
|
---|
| 83 | ;;; polynomials. This is an auxillary function of DETERMINE.
|
---|
| 84 | ;;;
|
---|
| 85 | ;;; DETERMINE-WHITE-TERM (cond term restp end gp order ring) [FUNCTION]
|
---|
| 86 | ;;; This is an auxillary function of DETERMINE. In this function the
|
---|
| 87 | ;;; parameter COND is a condition. The parameters TERM, RESTP and GP are
|
---|
| 88 | ;;; three parts of a polynomial being processed, where TERM is colored
|
---|
| 89 | ;;; :WHITE. We test the membership in the red and green list of COND we
|
---|
| 90 | ;;; try to determine whether the term is :RED or :GREEN. This is done by
|
---|
| 91 | ;;; performing ideal membership tests in the polynomial ring. Let C be
|
---|
| 92 | ;;; the coefficient of TERM. Thus, C is a polynomial in parameters. We
|
---|
| 93 | ;;; find whether C is in the green list by performing a plain ideal
|
---|
| 94 | ;;; membership test. However, to test properly whether C is in the red
|
---|
| 95 | ;;; list, one needs a different strategy. In fact, we test whether
|
---|
| 96 | ;;; adding C to the red list would produce a non-empty set of parameters
|
---|
| 97 | ;;; in some algebraic extension. The test is whether 1 belongs to the
|
---|
| 98 | ;;; saturation ideal of (FIRST COND) in (CONS C (SECOND COND)). Thus, we
|
---|
| 99 | ;;; use POLY-SATURATION. If we are successful in determining the color of
|
---|
| 100 | ;;; TERM, we simply change the color of the term and return the list
|
---|
| 101 | ;;; ((COND P)) where P is obtained by appending GP, (LIST TERM) and
|
---|
| 102 | ;;; RESTP. If we cannot determine whether TERM is :RED or :GREEN, we
|
---|
| 103 | ;;; return the list ((COND' P') (COND'' P
|
---|
| 104 | ;;;
|
---|
| 105 | ;;; COND-SYSTEM-PRINT (system vars params &key (suppress-value t) [FUNCTION]
|
---|
| 106 | ;;; (print-green-part nil)
|
---|
| 107 | ;;; (mark-coefficients nil) &aux (label 0))
|
---|
| 108 | ;;; A conditional system SYSTEM is a list of pairs (COND PLIST), where
|
---|
| 109 | ;;; COND is a condition (a pair (GREEN-LIST RED-LIST)) and PLIST is a
|
---|
| 110 | ;;; list of colored polynomials. This function pretty-prints this list of
|
---|
| 111 | ;;; pairs. A conditional system is the data structure returned by
|
---|
| 112 | ;;; GROBNER-SYSTEM. This function returns SYSTEM, if SUPPRESS-VALUE is
|
---|
| 113 | ;;; non-NIL and no value otherwise. If MARK-COEFFICIENTS is non-NIL
|
---|
| 114 | ;;; coefficients will be marked as in G(u-1)*x+R(2)*y, which means that
|
---|
| 115 | ;;; u-1 is :GREEN and 2 is :RED.
|
---|
| 116 | ;;;
|
---|
| 117 | ;;; COND-PRINT (cond params) [FUNCTION]
|
---|
| 118 | ;;; Pretty-print a condition COND, using symbol list PARAMS as parameter
|
---|
| 119 | ;;; names.
|
---|
| 120 | ;;;
|
---|
| 121 | ;;; ADD-PAIRS (gs pred) [FUNCTION]
|
---|
| 122 | ;;; The parameter GS shoud be a Grobner system, i.e. a set of pairs
|
---|
| 123 | ;;; (CONDITION POLY-LIST) This functions adds the third component: the
|
---|
| 124 | ;;; list of initial critical pairs (I J), as in the ordinary Grobner
|
---|
| 125 | ;;; basis algorithm. In addition, it adds the length of of the POLY-LIST,
|
---|
| 126 | ;;; less 1, as the fourth component. The resulting list of quadruples is
|
---|
| 127 | ;;; returned.
|
---|
| 128 | ;;;
|
---|
| 129 | ;;; COND-PART (p) [FUNCTION]
|
---|
| 130 | ;;; Find the part of a colored polynomial P starting with the first
|
---|
| 131 | ;;; non-green term.
|
---|
| 132 | ;;;
|
---|
| 133 | ;;; COND-HM (p) [FUNCTION]
|
---|
| 134 | ;;; Return the conditional head monomial of a colored polynomial P.
|
---|
| 135 | ;;;
|
---|
| 136 | ;;; DELETE-GREEN-POLYS (gamma) [FUNCTION]
|
---|
| 137 | ;;; Delete totally green polynomials from in a grobner system GAMMA.
|
---|
| 138 | ;;;
|
---|
| 139 | ;;; GROBNER-SYSTEM (f &key (cover (list '(nil nil))) (main-order [FUNCTION]
|
---|
| 140 | ;;; #'lex>)
|
---|
| 141 | ;;; (parameter-order #'lex>) (reduce t)
|
---|
| 142 | ;;; (green-reduce t) (top-reduction-only nil)
|
---|
| 143 | ;;; (ring *coefficient-ring*)
|
---|
| 144 | ;;; &aux
|
---|
| 145 | ;;; (cover
|
---|
| 146 | ;;; (saturate-cover cover parameter-order ring))
|
---|
| 147 | ;;; (gamma
|
---|
| 148 | ;;; (delete-green-polys (mapcan #'(lambda (cond)
|
---|
| 149 | ;;; (determine f cond parameter-order ring))
|
---|
| 150 | ;;; cover))))
|
---|
| 151 | ;;; This function returns a grobner system, given a list of colored
|
---|
| 152 | ;;; polynomials F, Other parameters are:
|
---|
| 153 | ;;; A cover COVER, i.e. a list of conditions, i.e. pairs of the form
|
---|
| 154 | ;;; (GREEN-LIST RED-LIST), where GREEN-LIST and RED-LIST are to lists of
|
---|
| 155 | ;;; ordinary polynomials in parameters. A monomial order MAIN-ORDER used
|
---|
| 156 | ;;; on main variables (not parameters). A monomial order PARAMETER-ORDER
|
---|
| 157 | ;;; used in calculations with parameters only. REDUCE, a flag deciding
|
---|
| 158 | ;;; whether COLORED-REDUCTION will be performed on the resulting grobner
|
---|
| 159 | ;;; system. GREEN-REDUCE, a flag deciding whether the green list of each
|
---|
| 160 | ;;; condition will be reduced in a form of a reduced Grobner basis.
|
---|
| 161 | ;;; TOP-REDUCTION-ONLY, a flag deciding whether in the internal
|
---|
| 162 | ;;; calculations in the space of parameters top reduction only will be
|
---|
| 163 | ;;; used. RING, a structure as in the package COEFFICIENT-RING, used in
|
---|
| 164 | ;;; operations on the coefficients of the polynomials in parameters.
|
---|
| 165 | ;;;
|
---|
| 166 | ;;; REORDER-PAIRS (b bnew g pred &optional (sort-first nil)) [FUNCTION]
|
---|
| 167 | ;;; Reorder pairs according to some heuristic. The heuristic at this time
|
---|
| 168 | ;;; is ad hoc, in the future it should be replaced with sugar strategy
|
---|
| 169 | ;;; and a mechanism for implementing new heuristic strategies, as in the
|
---|
| 170 | ;;; GROBNER package.
|
---|
| 171 | ;;;
|
---|
| 172 | ;;; COLORED-CRITERION-1 (i j f) [FUNCTION]
|
---|
| 173 | ;;; Buchberger criterion 1 for colored polynomials.
|
---|
| 174 | ;;;
|
---|
| 175 | ;;; COLORED-CRITERION-2 (i j f b s) [FUNCTION]
|
---|
| 176 | ;;; Buchberger criterion 2 for colored polynomials.
|
---|
| 177 | ;;;
|
---|
| 178 | ;;; COND-NORMAL-FORM (f fl main-order parameter-order [FUNCTION]
|
---|
| 179 | ;;; top-reduction-only ring)
|
---|
| 180 | ;;; Returns the conditional normal form of a colored polynomial F with
|
---|
| 181 | ;;; respect to the list of colored polynomials FL. The list FL is assumed
|
---|
| 182 | ;;; to consist of determined polynomials, i.e. such that the first term
|
---|
| 183 | ;;; which is not marked :GREEN is :RED.
|
---|
| 184 | ;;;
|
---|
| 185 | ;;; COND-SPOLY (f g main-order parameter-order ring) [FUNCTION]
|
---|
| 186 | ;;; Returns the conditional S-polynomial of two colored polynomials F and
|
---|
| 187 | ;;; G. Both polynomials are assumed to be determined.
|
---|
| 188 | ;;;
|
---|
| 189 | ;;; COND-LM (f) [FUNCTION]
|
---|
| 190 | ;;; Returns the conditional leading monomial of a colored polynomial F,
|
---|
| 191 | ;;; which is assumed to be determined.
|
---|
| 192 | ;;;
|
---|
| 193 | ;;; COND-LC (f) [FUNCTION]
|
---|
| 194 | ;;; Returns the conditional leading coefficient of a colored polynomial
|
---|
| 195 | ;;; F, which is assumed to be determined.
|
---|
| 196 | ;;;
|
---|
| 197 | ;;; COLORED-TERM-TIMES-POLY (term f order ring) [FUNCTION]
|
---|
| 198 | ;;; Returns the product of a colored term TERM and a colored polynomial
|
---|
| 199 | ;;; F.
|
---|
| 200 | ;;;
|
---|
| 201 | ;;; COLORED-SCALAR-TIMES-POLY (c f ring) [FUNCTION]
|
---|
| 202 | ;;; Returns the product of an element of the coefficient ring C a colored
|
---|
| 203 | ;;; polynomial F.
|
---|
| 204 | ;;;
|
---|
| 205 | ;;; COLORED-TERM* (term1 term2 order ring) [FUNCTION]
|
---|
| 206 | ;;; Returns the product of two colored terms TERM1 and TERM2.
|
---|
| 207 | ;;;
|
---|
| 208 | ;;; COLOR* (c1 c2) [FUNCTION]
|
---|
| 209 | ;;; Returns a product of two colores. Rules:
|
---|
| 210 | ;;; :red * :red yields :red
|
---|
| 211 | ;;; any * :green yields :green
|
---|
| 212 | ;;; otherwise the result is :white.
|
---|
| 213 | ;;;
|
---|
| 214 | ;;; COLOR+ (c1 c2) [FUNCTION]
|
---|
| 215 | ;;; Returns a sum of colors. Rules:
|
---|
| 216 | ;;; :green + :green yields :green,
|
---|
| 217 | ;;; :red + :green yields :red
|
---|
| 218 | ;;; any other result is :white.
|
---|
| 219 | ;;;
|
---|
| 220 | ;;; COLOR- (c1 c2) [FUNCTION]
|
---|
| 221 | ;;; Identical to COLOR+.
|
---|
| 222 | ;;;
|
---|
| 223 | ;;; COLORED-POLY+ (p q main-order parameter-order ring) [FUNCTION]
|
---|
| 224 | ;;; Returns the sum of colored polynomials P and Q.
|
---|
| 225 | ;;;
|
---|
| 226 | ;;; COLORED-POLY- (p q main-order parameter-order ring) [FUNCTION]
|
---|
| 227 | ;;; Returns the difference of colored polynomials P and Q.
|
---|
| 228 | ;;;
|
---|
| 229 | ;;; COLORED-TERM-UMINUS (term ring) [FUNCTION]
|
---|
| 230 | ;;; Returns the negation of a colored term TERM.
|
---|
| 231 | ;;;
|
---|
| 232 | ;;; COLORED-MINUS-POLY (p ring) [FUNCTION]
|
---|
| 233 | ;;; Returns the negation of a colored polynomial P.
|
---|
| 234 | ;;;
|
---|
| 235 | ;;; STRING-GROBNER-SYSTEM (f vars params [FUNCTION]
|
---|
| 236 | ;;; &key (cover (list (list "[]" "[]")))
|
---|
| 237 | ;;; (main-order #'lex>)
|
---|
| 238 | ;;; (parameter-order #'lex>)
|
---|
| 239 | ;;; (ring *coefficient-ring*)
|
---|
| 240 | ;;; (suppress-value t)
|
---|
| 241 | ;;; (suppress-printing nil)
|
---|
| 242 | ;;; (mark-coefficients nil) (reduce t)
|
---|
| 243 | ;;; (green-reduce t)
|
---|
| 244 | ;;; &aux
|
---|
| 245 | ;;; (f
|
---|
| 246 | ;;; (parse-to-colored-poly-list f vars params
|
---|
| 247 | ;;; main-order parameter-order))
|
---|
| 248 | ;;; (cover
|
---|
| 249 | ;;; (string-cover cover params
|
---|
| 250 | ;;; parameter-order)))
|
---|
| 251 | ;;; An interface to GROBNER-SYSTEM in which polynomials can be specified
|
---|
| 252 | ;;; in infix notations as strings. Lists of polynomials are
|
---|
| 253 | ;;; comma-separated list marked by a matchfix operators []
|
---|
| 254 | ;;;
|
---|
| 255 | ;;; STRING-COND (cond params &optional (order #'lex>)) [FUNCTION]
|
---|
| 256 | ;;; Return the internal representation of a condition COND, specified
|
---|
| 257 | ;;; as pairs of strings (GREEN-LIST RED-LIST). GREEN-LIST and RED-LIST in
|
---|
| 258 | ;;; the input are assumed to be strings which parse to two lists of
|
---|
| 259 | ;;; polynomials with respect to variables whose names are in the list of
|
---|
| 260 | ;;; symbols PARAMS. ORDER is the predicate used to sort the terms of
|
---|
| 261 | ;;; the polynomials.
|
---|
| 262 | ;;;
|
---|
| 263 | ;;; STRING-COVER (cover params &optional (order #'lex>)) [FUNCTION]
|
---|
| 264 | ;;; Returns the internal representation of COVER, given in the form of
|
---|
| 265 | ;;; a list of conditions. See STRING-COND for description of a condition.
|
---|
| 266 | ;;;
|
---|
| 267 | ;;; SATURATE-COVER (cover order ring) [FUNCTION]
|
---|
| 268 | ;;; Brings every condition of a list of conditions COVER to the form (G
|
---|
| 269 | ;;; R) where G is saturated with respect to R and G is a Grobner basis
|
---|
| 270 | ;;; We could reduce R so that the elements of R are relatively prime,
|
---|
| 271 | ;;; but this is not currently done.
|
---|
| 272 | ;;;
|
---|
| 273 | ;;; SATURATE-COND (cond order ring) [FUNCTION]
|
---|
| 274 | ;;; Saturate a single condition COND. An auxillary function of
|
---|
| 275 | ;;; SATURATE-COVER.
|
---|
| 276 | ;;;
|
---|
| 277 | ;;; STRING-DETERMINE (f vars params &key (cond (quote ("[]" "[]"))) [FUNCTION]
|
---|
| 278 | ;;; (main-order #'lex>) (parameter-order #'lex>)
|
---|
| 279 | ;;; (suppress-value t) (suppress-printing nil)
|
---|
| 280 | ;;; (mark-coefficients nil)
|
---|
| 281 | ;;; (ring *coefficient-ring*)
|
---|
| 282 | ;;; &aux
|
---|
| 283 | ;;; (f
|
---|
| 284 | ;;; (parse-to-colored-poly-list f vars params
|
---|
| 285 | ;;; main-order parameter-order))
|
---|
| 286 | ;;; (cond
|
---|
| 287 | ;;; (string-cond cond params parameter-order)))
|
---|
| 288 | ;;; A string interface to DETERMINE. See the documentation of
|
---|
| 289 | ;;; STRING-GROBNER-SYSTEM.
|
---|
| 290 | ;;;
|
---|
| 291 | ;;; TIDY-GROBNER-SYSTEM (gs main-order parameter-order reduce [FUNCTION]
|
---|
| 292 | ;;; green-reduce ring)
|
---|
| 293 | ;;; Apply TIDY-PAIR to every pair of a Grobner system.
|
---|
| 294 | ;;;
|
---|
| 295 | ;;; TIDY-PAIR (pair main-order parameter-order reduce green-reduce [FUNCTION]
|
---|
| 296 | ;;; ring &aux gs)
|
---|
| 297 | ;;; Make the output of Grobner system more readable by performing
|
---|
| 298 | ;;; certain simplifications on an element of a Grobner system.
|
---|
| 299 | ;;; If REDUCE is non-NIL then COLORED-reduction will be performed.
|
---|
| 300 | ;;; In addition TIDY-COND is called on the condition part of the pair
|
---|
| 301 | ;;; PAIR.
|
---|
| 302 | ;;;
|
---|
| 303 | ;;; TIDY-COND (cond order ring) [FUNCTION]
|
---|
| 304 | ;;; Currently saturates condition COND and does RED-REDUCTION on the red
|
---|
| 305 | ;;; list.
|
---|
| 306 | ;;;
|
---|
| 307 | ;;; COLORED-REDUCTION (cond p main-order parameter-order ring [FUNCTION]
|
---|
| 308 | ;;; &aux (open (list (list cond nil p))) closed)
|
---|
| 309 | ;;; Reduce a list of colored polynomials P. The difficulty as compared
|
---|
| 310 | ;;; to the usual Buchberger algorithm is that the polys may have the same
|
---|
| 311 | ;;; leading monomial which may result in cancellations and polynomials
|
---|
| 312 | ;;; which may not be determined. Thus, when we find those, we will have
|
---|
| 313 | ;;; to split the condition by calling determine. Returns a list of pairs
|
---|
| 314 | ;;; (COND' P') where P' is a reduced grobner basis with respect to any
|
---|
| 315 | ;;; parameter choice compatible with condition COND'. Moreover, COND'
|
---|
| 316 | ;;; form a cover of COND.
|
---|
| 317 | ;;;
|
---|
| 318 | ;;; GREEN-REDUCE-COLORED-POLY (cond f parameter-order ring) [FUNCTION]
|
---|
| 319 | ;;; It takes a colored polynomial F and it returns a modified
|
---|
| 320 | ;;; polynomial obtained by reducing coefficient of F modulo green list of
|
---|
| 321 | ;;; the condition COND.
|
---|
| 322 | ;;;
|
---|
| 323 | ;;; GREEN-REDUCE-COLORED-LIST (cond fl parameter-order ring) [FUNCTION]
|
---|
| 324 | ;;; Apply GREEN-REDUCE-COLORED-POLY to a list of polynomials FL.
|
---|
| 325 | ;;;
|
---|
| 326 | ;;; COND-SYSTEM-GREEN-REDUCE (gs parameter-order ring) [FUNCTION]
|
---|
| 327 | ;;; Apply GREEN-REDUCE-COLORED-LIST to every pair of
|
---|
| 328 | ;;; a grobner system GS.
|
---|
| 329 | ;;;
|
---|
| 330 | ;;; PARSE-TO-COLORED-POLY-LIST (f vars params main-order [FUNCTION]
|
---|
| 331 | ;;; parameter-order
|
---|
| 332 | ;;; &aux (k (length vars)) (vars-params
|
---|
| 333 | ;;; (append vars params)))
|
---|
| 334 | ;;; Parse a list of polynomials F, given as a string, with respect to
|
---|
| 335 | ;;; a list of variables VARS, given as a list of symbols, to the internal
|
---|
| 336 | ;;; representation of a colored polynomial. The polynomials will be
|
---|
| 337 | ;;; properly sorted by MAIN-ORDER, with the coefficients, which are
|
---|
| 338 | ;;; polynomials in parameters, sorted by PARAMETER-ORDER. Both orders
|
---|
| 339 | ;;; must be admissible monomial orders. This form is suitable for parsing
|
---|
| 340 | ;;; polynomials with integer coefficients.
|
---|
| 341 | ;;;
|
---|
| 342 | ;;; RED-REDUCTION (p pred ring [FUNCTION]
|
---|
| 343 | ;;; &aux (p (remove-if #'poly-constant-p p)))
|
---|
| 344 | ;;; Takes a family of polynomials and produce a list whose prime factors
|
---|
| 345 | ;;; are the same but they are relatively prime
|
---|
| 346 | ;;; Repetitively used the following procedure: it finds two elements f, g
|
---|
| 347 | ;;; of P which are not relatively prime; it replaces f and g with
|
---|
| 348 | ;;; f/GCD(f,g), g/ GCD(f,f) and GCD(f,g).
|
---|
| 349 | ;;;
|
---|