close Warning: Can't synchronize with repository "(default)" (The repository directory has changed, you should resynchronize the repository with: trac-admin $ENV repository resync '(default)'). Look in the Trac log for more information.

Changeset 57 for branches


Ignore:
Timestamp:
2015-06-05T11:19:50-07:00 (9 years ago)
Author:
Marek Rychlik
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/f4grobner/polynomial.lisp

    r55 r57  
    224224  (declare (type poly p))
    225225  (reduce (ring-gcd ring) (mapcar #'term-coeff (rest (poly-termlist p))) :initial-value (poly-lc p)))
     226
     227(defun buchberger-criterion (ring g)
     228  "Returns T if G is a Grobner basis, by using the Buchberger
     229criterion: for every two polynomials h1 and h2 in G the S-polynomial
     230S(h1,h2) reduces to 0 modulo G."
     231  (every
     232   #'poly-zerop
     233   (makelist (normal-form ring (spoly ring (elt g i) (elt g j)) g nil)
     234             (i 0 (- (length g) 2))
     235             (j (1+ i) (1- (length g))))))
     236
Note: See TracChangeset for help on using the changeset viewer.