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 3087


Ignore:
Timestamp:
2015-06-21T20:50:08-07:00 (10 years ago)
Author:
Marek Rychlik
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/f4grobner/polynomial.lisp

    r3086 r3087  
    309309        (t (monom-dimension (leading-term poly)))))
    310310
    311 (defun mod-standard-extension (plist
    312                                &aux
    313                                 (k (length plist))
    314                                 (plist (poly-standard-extension plist))
    315                                 (nvars (poly-dimension (car plist))))
     311(defun standard-extension-1 (plist
     312                             &aux
     313                              (k (length plist))
     314                              (plist (poly-standard-extension plist))
     315                              (nvars (poly-dimension (car plist))))
    316316  "Calculate [U1*P1-1,U2*P2-1,...,UK*PK-1], where PLIST=[P1,P2,...,PK].
    317 Firstly, new K variables U1, U2, ..., UK, are inserted at the
    318 beginning of each polynomial.  Subsequently, P1, P2, ..., PK are
    319 destructively modified tantamount to replacing PI with UI*PI-1."
     317Firstly, new K variables U1, U2, ..., UK, are inserted into each
     318polynomial.  Subsequently, P1, P2, ..., PK are destructively modified
     319tantamount to replacing PI with UI*PI-1."
    320320  (flet ((subtract-1 (p)
    321321           (append-item p (make-instance 'term :coeff -1 :dimension (+ k nvars)))))
     
    324324
    325325
    326 (defun saturation-polynomial (F plist
     326(defun standard-sum (F plist
    327327                                 &aux
    328328                                   (k (length plist))
     
    332332                                   ;; Set PLIST to [U1*P1,U2*P2,...,UK*PK]
    333333                                   (plist (apply #'nconc (poly-standard-extension plist))))
    334   "Calculate [F,U1*P1+U2*P2+...+UK*PK-1], where PLIST=[P1,P2,...,PK]."
    335   ;; Add -1 as the last term
     334  "Calculate the polynomial U1*P1+U2*P2+...+UK*PK-1, where PLIST=[P1,P2,...,PK].
     335Firstly, new K variables, U1, U2, ..., UK, are inserted into each
     336polynomial.  Subsequently, P1, P2, ..., PK are destructively modified
     337tantamount to replacing PI with UI*PI, and the resulting polynomials
     338are added.  It should be noted that the term order is not affected,
     339which is equivalent to using a lexicographic order."
    336340  (declare (type ring ring))
    337341  (setf (cdr (last (poly-termlist plist)))
     342        ;; Add -1 as the last term
    338343        (list (make-term :monom (make-monom :dimension d)
    339344                         :coeff (funcall (ring-uminus ring) (funcall (ring-unit ring))))))
Note: See TracChangeset for help on using the changeset viewer.