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 513 for branches/f4grobner


Ignore:
Timestamp:
2015-06-06T21:22:21-07:00 (10 years ago)
Author:
Marek Rychlik
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/f4grobner/ngrobner.lisp

    r467 r513  
    6060list of terms in the current monomial order rather than a Maxima general expression.")
    6161
    62 (defvar $poly_grobner_algorithm '$buchberger
    63   "The name of the algorithm used to find grobner bases.")
    64 
    65 (defvar $poly_top_reduction_only nil
    66   "If not FALSE, use top reduction only whenever possible.
    67 Top reduction means that division algorithm stops after the first reduction.")
    68 
    69 
    7062(defvar *ratdisrep-fun* #'identity
    7163  "A function applied to polynomials after conversion to Maxima representation.")
     
    110102
    111103
    112 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    113 ;;
    114 ;; Selection of algorithm and pair heuristic
    115 ;;
    116 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    117 
    118 (defun find-grobner-function (algorithm)
    119   "Return a function which calculates Grobner basis, based on its
    120 names. Names currently used are either Lisp symbols, Maxima symbols or
    121 keywords."
    122   (ecase algorithm
    123     ((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   (funcall
    130    (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)))
    135104
    136105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Note: See TracChangeset for help on using the changeset viewer.