Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
== Outdated egg! This is an egg for CHICKEN 3, the unsupported old release. You're almost certainly looking for [[/eggref/4/grobner-basis|the CHICKEN 4 version of this egg]], if it exists. If it does not exist, there may be equivalent functionality provided by another egg; have a look at the [[https://wiki.call-cc.org/chicken-projects/egg-index-4.html|egg index]]. Otherwise, please consider porting this egg to the current version of CHICKEN. [[tags: egg]] == grobner-basis === Introductory This egg is for finding Gröbner Basis for a set of polynomials. What is a Gröbner Basis? Visit: http://www.geocities.com/CapeCanaveral/Hall/3131/ === Limitation You need to (define) specify the number of variables for the polynomial set. === Examples CHICKEN Version 2.732 - linux-unix-gnu-x86 [ symbolgc manyargs dload ptables applyhook cross ] (c)2000-2007 Felix L. Winkelmann compiled 2007-11-09 on localhost (Linux) ;1> (use numbers grobner-basis) ; loading /usr/lib/chicken/3/numbers.scm ... ; loading /usr/lib/chicken/3/numbers-base.so ... ; loading /usr/lib/chicken/3/grobner-basis.so ... ==== ;; define a lexicographic ordered polynomial set with 3 variables ;2> (define lex-rational-xyz (lex-rational (list "x" "y" "z"))) ==== ;; define a polynomial set with two polynomials ;3> (define S (list '((4 2 0 1) (-7 0 2 0)) '((1 1 1 2) (3 1 0 4)) ) ) ==== ;; see the polynomial set in the usual notation ;4> (polys-string lex-rational-xyz S) "[(4*x^2*z)+(-7*y^2),(x*y*z^2)+(3*x*z^4)]" ==== ;; solve for Grobner Basis ;5> (polys-string lex-rational-xyz (gbasis lex-rational-xyz S)) "[(y^3*z)+(3*y^2*z^3),(y^5)+(27*y^2*z^6),(x*y*z^2)+(3*x*z^4),(x^2*z)+(-7/4*y^2)]" ==== ;; see if we can solve the same set of polynomial with graded-reverse-ordering ;6> (define grevlex-rational-xyz (grevlex-rational (list "x" "y" "z"))) ;7> (polys-string grevlex-rational-xyz (gbasis grevlex-rational-xyz S)) "[(x^2*z)+(-7/4*y^2),(x*z^4)+(1/3*x*y*z^2),(y^2*z^3)+(1/3*y^3*z),(y^4*z^2)+(1/3*y^5),(x^2*y^5)+(21/4*y^6*z)]" === Author Naruto Canada narutocanada@gmail.com === License MIT === Contributions ;; ;; With code snippets from: ;; comp.lang.scheme ;; http://mitpress.mit.edu/sicp/full-text/book/book.html ;; http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html ;; http://www-swiss.ai.mit.edu/~jaffer/SCM.html ;; bit-scheme ;; === Requirements (use numbers) === Version History
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you subtract 20 from 10?