;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: Grobner; Base: 10 -*- (defpackage cgb-system (:use :common-lisp :asdf)) (in-package :cgb-system) ;;---------------------------------------------------------------- ;; Various features which affect the functioning of the package ;;---------------------------------------------------------------- ;;Use pseudodivision to keep the size of integer coefficients ;;as small as possible (pushnew :pseudodivide *features*) ;;Use the grobner package within colored-poly package (pushnew :colored-poly-use-grobner *features*) ;;colored-poly package ;;Compute saturation of green lists with respect to ;;red lists in order to eliminate cases early (pushnew :use-saturation *features*) ;;Print tracing and debugging output (pushnew :debug *features*) ;;Use gcd of integers to keep the size of integer coefficients ;; of S-polynomials and normal forms down (pushnew :use-gcd *features*) ;;grobner package ;;Use the algorithm of Gebauer and Moeller (1988) to ;;calculate Grobner bases ;;(pushnew :use-gebauer-moeller *features*) ;;Use pair reordering according to some heuristic in the ;;Grobner algorithm (pushnew :reorder-pairs *features*) ;; ---------------------------------------------------------------- ;; End of feature setup ;; ---------------------------------------------------------------- (defsystem "cgb" :description "Comprehensive Grobner Basis Lisp system" :version "1.0" :author "Marek Rychlik " :licence "Custom" :serial t :components ((:file "infix") (:file "makelist") (:file "order") (:file "monom") (:file "xgcd") (:file "modular") (:file "coefficient-ring") (:file "term") (:file "poly") (:file "modular-poly") (:file "division") (:file "parse") (:file "printer") (:file "poly-with-sugar") (:file "grobner") (:file "colored-poly") (:file "poly-gcd") (:file "rat") (:file "ratpoly") (:file "string-grobner") (:file "dynamics") (:file "prover") (:file "cgb-lisp")))