- Timestamp:
- 2015-06-06T21:22:21-07:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/f4grobner/ngrobner.lisp
r467 r513 60 60 list of terms in the current monomial order rather than a Maxima general expression.") 61 61 62 (defvar $poly_grobner_algorithm '$buchberger63 "The name of the algorithm used to find grobner bases.")64 65 (defvar $poly_top_reduction_only nil66 "If not FALSE, use top reduction only whenever possible.67 Top reduction means that division algorithm stops after the first reduction.")68 69 70 62 (defvar *ratdisrep-fun* #'identity 71 63 "A function applied to polynomials after conversion to Maxima representation.") … … 110 102 111 103 112 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;113 ;;114 ;; Selection of algorithm and pair heuristic115 ;;116 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;117 118 (defun find-grobner-function (algorithm)119 "Return a function which calculates Grobner basis, based on its120 names. Names currently used are either Lisp symbols, Maxima symbols or121 keywords."122 (ecase algorithm123 ((buchberger :buchberger $buchberger) #'buchberger)124 ((parallel-buchberger :parallel-buchberger $parallel_buchberger) #'parallel-buchberger)125 ((gebauer-moeller :gebauer_moeller $gebauer_moeller) #'gebauer-moeller)))126 127 (defun grobner (ring f &optional (start 0) (top-reduction-only nil))128 ;;(setf F (sort F #'< :key #'sugar))129 (funcall130 (find-grobner-function $poly_grobner_algorithm)131 ring f start top-reduction-only))132 133 (defun reduced-grobner (ring f &optional (start 0) (top-reduction-only $poly_top_reduction_only))134 (reduction ring (grobner ring f start top-reduction-only)))135 104 136 105 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Note:
See TracChangeset
for help on using the changeset viewer.