Frobby - Computations With Monomial Ideals
Frobby is a software system for computations with monomial
ideals. Frobby is free software and it is intended as a vehicle for
research on monomial ideals.
The current functionality is irreducible decomposition, Alexander
dual, associated primes, minimization and intersection of monomial
ideals as well as the computation of Frobenius problems (using
fplll
and
4ti2) with very large
numbers. Other than that, Frobby is able to change the format of a
monomial ideal between formats used by Macaulay 2, monos (old and new
version) and
4ti2.
Likely future features include faster associated primes, primary
decomposition, Hilbert polynomial, minimal resolutions and the
integer gap.
Download And Installation
Frobby version 0.7.4 is much easier to use and install than some earlier
versions.
Before you can install Frobby, you first need to install
GMP and you need to enable C++ support
in GMP. When installing GMP, you enable C++ support by providing the
option --enable-cxx to autoconf, i.e. you need to write "./configure
--enable-cxx" rather than "./configure" when installing GMP.
After having installed GMP, download the source for Frobby from the
link above and then unpack the file by writing
|
tar -xvf frobby_v0.7.4.tar.gz
|
then change to the frobby_v0.7.4 directory and build the program by writing
This will compile the program into an executable file. To try Frobby
out, you might generate a random monomial ideal by typing
and you can decompose a random monomial ideal by typing
|
bin/frobby genideal|bin/frobby irrdecom
|
You can see all of the functionality that Frobby offers, including
information on how to use the built-in help system, by simply typing
You can also see the tutorial below for how to perform a number of
specific tasks using Frobby.
NOTE: Frobby is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
Tutorial
This tutorial goes through how to perform a number of specific tasks
using Frobby.
Generating a random ideal
Type "bin/frobby genideal -varCount 4" to generate a random monomial
ideal in 4 variables. Type "bin/frobby help genideal" to see what
other options the action genideal accepts. Note that the built-in help
system has a help page for all of the actions frobby can carry
out. type "bin/frobby" to see a list of all available actions.
Computing the irreducible decomposition of a monomial ideal
Type "bin/frobby irrdecom < ideal" to decompose the monomial stored in
the file "ideal".
Computing the Alexander dual of a monomial ideal
Type "bin/frobby alexdual < ideal" to compute the Alexander dual of the
ideal stored in the file "ideal".
Figuring out the file formats that Frobby uses
These are not documented, but they should be self-explanatory once
seen. As a help, Frobby tries to say what the problem is if an input
file is invalid. To see an example of an ideal, type "bin/frobby
genideal -oformat XXX". This generates a random monomial ideal in the
format XXX, whatever you insert instead of XXX. If the input file is
in a format known to Frobby, and the file does not contain errors,
Frobby is able to figure out what format it is, and by default it will
produce output in the same format. To override this behavior, use the
parameters -oformat and -iformat. Using these with the transform
action allows to change the format of an ideal.
Computing Frobenius numbers
Type "bin/frobby genfrob > f" to generate a random Frobenius problem and
place it in the file f. You can view it by typing "cat f". To solve
it, type "bin/frobby frobdyn < f". However, the algorithm used by
frobdyn is very slow, especially if the numbers in the input are
large, so you might want to try the other algorithm. This algorithm is
very fast, provided that the Frobenius problem does not have too many
numbers.
To use this algorithm, you must first install the program 4ti2 and
place it in the empty directory 4ti2 that is present in the Frobby
directory. Then the script frobgrob in the frobby directory will carry
out the necessary steps to compute the Frobenius number using Frobby
and 4ti2.
We will not go into exactly what frobgrob does here, although advanced
users can take a look at the script to figure it out. You will want to
be aware that performance is significantly improved by sorting the
numbers in the Frobenius problem such that the smallest numbers are
the first ones in the file. (TIP: For the best and most consistent
performance, it is advised to use the program fplll to LLL-reduce the
generated lattice basis, aswell as to use the -adjust option on the
latformat action when converting back from fplll format.)
Papers
The algorithms currently in Frobby are described in the following
three papers, which are all available by clicking the "papers" link at
the top of this page.
Solving Thousand Digit Frobenius Problems Using Grobner Bases
The Label Algorithm For Irreducible Decomposition of Monomial Ideals
The Slice Algorithm For Irreducible Decomposition of Monomial Ideals
All public versions