## Groebner basis

For using the program, please download groebner.jar and
groebner.bat.
In order to run it needs JDK 1.3 or 1.4 (Java Development Kit).
JDK can be downloaded here. Sources are here.
Please be sure that JDK is installed and java is in CLASSPATH (to check it,
type "java" at command prompt. There must be a screen, displaying command line parameters
for java). Then you can try to run groebner by typing "groebner" at command prompt in
the directory where you downloaded files.

### Features

The program works with algebras given by letters and relations. It is possible
to mark some letters as "central", i.e. commuting with every other letter. Features
are:
- Computation of groebner basis. It is possible to define order on monomials using weights of
letters, so that all monomials containing letter with high weight will be greater
then monomials not containing this letter.
- Search of central elements.
- Computation in algebras.(Calculator)

### Example

First make a setting file (projections.in). It should be like:
[Alphabet]
p1 p2 //Projections
central weight -1
tau //central element
[Generators]
p1 p2[Relations]
"p1^2-p1"
"p2^2-p2"

It is an algebra of two idempotents without relations. We added letter tau because
in future we will find central element and assign it to tau. It has weight -1 because
we need to consider our algebra over its center so every word containing p1 or p2
will be greater then word, containing only tau's. Now compute groebner basis:

groebner groebner projections.in projections.out

We see that original relations already formed groebner basis. Then try to find
central element and assign it to tau:
groebner center projections.out projections.out tau

After it, recompute groebner basis:
groebner groebner projections.out projections.out

It can be seen that our algebra is four dimensional over its center generated by tau (projections.out).
We can do some calculations by using calculator mode:
groebner calculator projections.out

### More sofisticated example

Consider the problem:

For which numbers m algebra generated by three idempotents x,y,z and sum m is non-zero?

Prepare the following input file (D4.in):
[alphabet]
x y z
weight -1 central
m
[relations]
"x^2-x"
"y^2-y"
"z^2-z"
"x+y+z-m"

Then use groebner:
groebner groebner D4.in D4.out

Look at D4.out
One of relations is "9m - 45/2m^2 + 20m^3 - 15/2m^4 + m^5". It means if
algbera is non-zero, then 9m - 45/2m^2 + 20m^3 - 15/2m^4 + m^5=0. We can factor
this polynomial and get:

1/2*m*(m-1)*(m-2)*(m-3)*(2*m-3)

It means that possible values of m are 0, 1, 3/2, 2, 3, which is well known.