- Timestamp:
- 2016-05-31T18:02:22-07:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/f4grobner/division.lisp
r4052 r4054 66 66 (defun check-loop-invariant (c f a fl r p 67 67 &aux 68 (p-zero (make-poly-zero))68 (p-zero 0) 69 69 (a (mapcar #'poly-reverse a)) 70 70 (r (poly-reverse r))) … … 105 105 (declare (type poly f) (list fl)) 106 106 ;; Loop invariant: c*f=sum ai*fi+r+p, where p must eventually become 0 107 (do ((r 0)108 (c 1)109 (a (make-list (length fl) :initial-element 0))107 (do ((r (make-zero-for f)) 108 (c (make-unit-for f)) 109 (a (make-list (length fl) :initial-element (make-zero-for f))) 110 110 (division-count 0) 111 111 (p f)) … … 203 203 (top-reduction-only $poly_top_reduction_only)) 204 204 #+grobner-check(when (null fl) (warn "normal-form: empty divisor list.")) 205 (do ((r 0)206 (c 1)205 (do ((r (make-zero-for f)) 206 (c (make-zero-for f)) 207 207 (division-count 0)) 208 208 ((or (universal-zerop f) … … 231 231 (declare (ignore c)) 232 232 (subtract 233 (multiply cg (m onom-times-poly mf f))234 (multiply cf (m onom-times-poly mg g))))))233 (multiply cg (multiply mf f)) 234 (multiply cf (multiply mg g)))))) 235 235 236 236 (defun buchberger-criterion (g)
Note:
See TracChangeset
for help on using the changeset viewer.