Changeset 3087
- Timestamp:
- 2015-06-21T20:50:08-07:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/f4grobner/polynomial.lisp
r3086 r3087 309 309 (t (monom-dimension (leading-term poly))))) 310 310 311 (defun mod-standard-extension(plist312 313 314 315 311 (defun standard-extension-1 (plist 312 &aux 313 (k (length plist)) 314 (plist (poly-standard-extension plist)) 315 (nvars (poly-dimension (car plist)))) 316 316 "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 the318 beginning of each polynomial. Subsequently, P1, P2, ..., PK are 319 destructively modifiedtantamount to replacing PI with UI*PI-1."317 Firstly, new K variables U1, U2, ..., UK, are inserted into each 318 polynomial. Subsequently, P1, P2, ..., PK are destructively modified 319 tantamount to replacing PI with UI*PI-1." 320 320 (flet ((subtract-1 (p) 321 321 (append-item p (make-instance 'term :coeff -1 :dimension (+ k nvars))))) … … 324 324 325 325 326 (defun s aturation-polynomial(F plist326 (defun standard-sum (F plist 327 327 &aux 328 328 (k (length plist)) … … 332 332 ;; Set PLIST to [U1*P1,U2*P2,...,UK*PK] 333 333 (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]. 335 Firstly, new K variables, U1, U2, ..., UK, are inserted into each 336 polynomial. Subsequently, P1, P2, ..., PK are destructively modified 337 tantamount to replacing PI with UI*PI, and the resulting polynomials 338 are added. It should be noted that the term order is not affected, 339 which is equivalent to using a lexicographic order." 336 340 (declare (type ring ring)) 337 341 (setf (cdr (last (poly-termlist plist))) 342 ;; Add -1 as the last term 338 343 (list (make-term :monom (make-monom :dimension d) 339 344 :coeff (funcall (ring-uminus ring) (funcall (ring-unit ring))))))
Note:
See TracChangeset
for help on using the changeset viewer.