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.

source: branches/f4grobner/README@ 542

Last change on this file since 542 was 366, checked in by Marek Rychlik, 10 years ago

* empty log message *

File size: 4.8 KB
Line 
1Dear User:
2
3This archive contains files which provide Grobner basis support for
4the free computer algebra system Maxima. The older versions of the
5package are distributed with Maxima in the subfolder of the Maxima
6installation tree, like:
7
8maxima/5.xx.x/share/contrib/Grobner
9
10This version is meant to be a backward-compatible replacement for this
11package. It features an implementation of the Faugere's F4 algorithm.
12
13== INSTALLATION INSTRUCTIONS ==
14
15In order to use the package,
16 1. Copy the files in this directory to your favorite location;
17 or better, checkout the contents of this repository with SVN.
18 2. Edit the file "grobner.mac" to modify the location of the Lisp
19 files, to reflect your choice made in previous step.
20 3. Start your Maxima and load the file "grobner.mac"
21 4. Optionally, compile the Lisp files, so that the next file
22 you load "grobner.mac", the compiled (.fasl) versions of
23 the files will be loaded. The compilation instructions
24 vary slightly depending on Lisp version.
25
26This version has been verified to work under this Maxima version:
27
28----------------------------------------------------------------
29Maxima 5.34.1 http://maxima.sourceforge.net
30using Lisp SBCL 1.2.4-1.fc21
31----------------------------------------------------------------
32
33It should also be portable across other ANSI Common Lisp implementations.
34
35The file grobner.demo is a Macsyma-style demo file for most of the operations
36provided by the package. In order to run it, go to the Maxima level and
37type:
38
39demo("grobner.demo");
40
41or
42
43batch("grobner.demo");
44
45and watch the demonstration.
46
47Maxima documentation for this package has not been written yet, but
48there is a sizable amount of documentation in the LISP source.
49
50== COMPILATION INSTRUCTIONS FOR SBCL ==
51
52=== When using ASDF (preferred way):
53----------------------------------------------------------------
54* (require :asdf)
55* (load "ngrobner.asd")
56* (asdf:install-system :ngrobner)
57----------------------------------------------------------------
58The compiled files (extension .fasl for SBCL) will be typically
59placed in a standard location determined by the ASDF configuration. On my system it is:
60----------------------------------------------------------------
61/home/marek/.cache/common-lisp/sbcl-1.2.4-1.fc21-linux-x64/home/marek/Repos/MaximaGrobner/branches/f4grobner/
62----------------------------------------------------------------
63given that the SVN repository was copied to /home/marek/Repos/MaximaGrobner.
64
65=== When not using ASDF (for whatever reason):
66
67Step 1. Start SBCL in the directory which is a copy of this directory.
68Step 2. Execute Lisp commands:
69----------------------------------------------------------------
70* (load "ngrobner-package.lisp")
71* (ngrobner::compile-ngrobner)
72----------------------------------------------------------------
73
74The resulting compiled files (extension .fasl for SBCL) will end up in
75the same folder as the Lisp files. Then can be moved any directory
76where Maxima can find them, as determined by the variable
77file_search_lisp. This variable needs to be modified in "grobner.mac"
78accordingly. After that, every time you load "grobner.mac" the
79compiled version will be used.
80
81== 5AM TESTS ==
82
83The system is set up for using the FiveAM unit testing framework.
84One performs the tests by loading a single file:
85----------------------------------------------------------------
86* (load "5am-tests")
87----------------------------------------------------------------
88Note that this requires ASDF and QuickLisp being installed.
89
90NOTE: The coverage is still minimal. The number of tests
91will increase over time.
92
93== TESTING WITH ORACLE APPROACH ==
94
95The alternative mechanism is enabled
96by doing this *BEFORE* loading/compiling NGROBNER:
97----------------------------------------------------------------
98* (push :grobner-check *features*)
99----------------------------------------------------------------
100This will enable verification of every Grobner basis computed,
101by performing Buchberger criterion, after the basis is computed.
102This is an "oracle" testing, given that the portion of the code
103required for verification of Groebner bases is correct. A significant
104test involves loading the demonstration code, like:
105----------------------------------------------------------------
106(%i1) batch("grobner.demo");
107----------------------------------------------------------------
108The failure will result in a spectacular error message.
109NOTE: For this to work (push :grobner-check *features*)
110needed to be executed before loading/compiling Lisp code.
111
112== ADDITIONAL COMMENTS ==
113
114The files were derived the sources of a package CGBlisp, version 2,
115also authored by me, which will eventually be released at my Web site
116(see below). An older version of CGBlisp is available at the Web
117site.
118
119Enjoy.
120--Marek Rychlik
121
1225-24-2002
123Revised: 1-25-2009
124Revised: 1-25-2015
125
126E-mail: rychlik@u.arizona.edu
127URL: http://marekrychlik.com
Note: See TracBrowser for help on using the repository browser.