The following programs were written by me or my graduate students, usually as part of their ``Diplomarbeit'' (diploma thesis). They are freely distributable, and you may use them free of charge, but at your own risk. If you find an error or a bug, please
let me know.
(Schriftliche Hausarbeit zur Erlangung des ersten Staatsexamens)
(Schriftliche Hausarbeit zur Erlangung des ersten Staatsexamens)
Description: Three Methods for computing the radical of a polynomial ideal are implemented and compared:
(Schriftliche Hausarbeit zur Erlangung des ersten Staatsexamens)
- Find the appropriate multigraded Hilbert series and determine its coefficient at the desired term. To this end, one may try to use ``truncated multiplications'' for the geometric series corresponding to the denominator polynomials.
- Find the appropriate Hilbert basis. Then count all terms of the desired degree in a polynomial ring weighted by the magic sums of the squares corresponding to the Hilbert basis elements.
- Represent the solution squares as a finite point set, determine its vanishing ideal and the Hilbert function of that ideal.
Some of these approaches are implemented in the given CoCoA file.
Description: There are two basic strategies for optimizing the performance of the Buchberger algorithm for computing a Gröbner basis of a homogeneous ideal: minimalization of the number of critical paris which have to be treated, and optimization of the reduction process for the remaining pairs.
The first optimization can be achieved using the results of [M. Caboara, M. Kreuzer, and L. Robbiano, Efficiently computing minimal sets of critical pairs, J. Symb. Comput. (to appear)] . For the second optimization, J. Schmidbauer examined in his diploma thesis various methods based on simultaneous reductions, e.g. the ones used by J.C. Faugere in his algorithm F4.
The text of the thesis and the program files (including source code and instructions) are contained in the following two files.
The necessary CoCoA packages and setup files are contained in the following two zip-archives.
CoCoA Version: 4.1
Description: This project aims to provide efficient implementations of the standard operations in Linear Algebra for the case of polynomial matrices. The following algorithms were implemented by Bettina Krammer in a number of different ways:
There is also a file residue-examples.coc which provides some examples for the usage of the functions in residues.coc.
Special thanks go to Dave Bayer, David Eisenbud and Mike Stillman for allowing us to transfer their work into the CoCoA world.
To load the package, type
<< 'macaulay.pkg';
inside CoCoA, or put this command inside your file userinit.coc. The package defines an alias 'MC'.To find out which functions are available, you can then type
MC.Help_Macaulay();
inside CoCoA. You get a list of all implemented scripts. Each has its own help function, e.g.
MC.Help_Flatten();There is also a file called check.pkg. It contains functions to check all the macros of the package macaulay.pkg. It also provides examples for each macro. To load the package into CoCoA, type
<< 'check.pkg';
inside CoCoA. This package defines the Alias 'MCC' for itself. You can then check a macro by typing for instanceMCC.Check('DualVariety');
where the name of the macro has to be put in single quotes.
- cop_linux.tgz for x86 computers equipped with the Linux operating system
- cop_dos.zip for x86 computers using the DOS/Windows operating systems
In both cases, you will find the following files (after decompression).
- cop_Fp, cop_Fp8, cop_Q, cop_QN (resp. *.exe) Binaries for various base fields (Fp = finite field, Fp8 = finite field with <256 elements, Q = rational numbers, QN = cyclotomic field)
- install.doc Some installation instructions for DOS
- cop.doc A short manual explaining the available commands and their syntax
- demo.doc, demo1, demo 2a, demo2b, demo3 A demo COP session and its data files
Finally, if you want to see how it's all done, you can have a look at the C++ source code for Linux and DOS. (The source code is getting pretty outdated. If you want do compile it yourself, you'll have to perform some adjustments.)
Since this is an unfinished project, we cannot release the source codes of the above programs.