- Timestamp:
- 2015-06-11T20:44:58-07:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/f4grobner/division.lisp
r1294 r1295 243 243 "Divide every polynomial in a list PLIST by its leading coefficient. " 244 244 (mapcar #'(lambda (x) (poly-normalize ring x)) plist)) 245 246 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247 ;;248 ;; These are provided mostly for debugging purposes To enable249 ;; verification of grobner bases with BUCHBERGER-CRITERION, do250 ;; (pushnew :grobner-check *features*) and compile/load this file.251 ;; With this feature, the calculations will slow down CONSIDERABLY.252 ;;253 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;254 255 (defun grobner-test (ring g f)256 "Test whether G is a Grobner basis and F is contained in G. Return T257 upon success and NIL otherwise."258 (debug-cgb "~&GROBNER CHECK: ")259 (let (($poly_grobner_debug nil)260 (stat1 (buchberger-criterion ring g))261 (stat2262 (every #'poly-zerop263 (makelist (normal-form ring (copy-tree (elt f i)) g nil)264 (i 0 (1- (length f)))))))265 (unless stat1 (error "~&Buchberger criterion failed."))266 (unless stat2267 (error "~&Original polys not in ideal spanned by Grobner.")))268 (debug-cgb "~&GROBNER CHECK END")269 t)270 271 272
Note:
See TracChangeset
for help on using the changeset viewer.