This amazing program allows you to have Maple and GAP draw lattices. So
for example you can use either program to calculate the lattice of
subgroups of a group and then ask for the diagram. The diagram is
automatically brought up in a browser window.
JavaMathThe program first calculates a rank function on the ordered set and uses this to determine the height of the elements. It then places the points in three space using the rank for the height, i.e., for the z-coordinate. The points of the same rank are arranged around a circle on a plane parallel to the x-y plane. Now we imagine forces acting on the elements. Comparable elements are attracted to each other while incomparable elements are repulsed.
These forces are applied several times in three phases. In the first phase the repulsive force is set to be very strong; in the second phase the attractive force is strong; and in the final phase the forces are balanced. You get each of these phases by pressing the Next button. The original program tried several projections from 3-space to 2-space, choosing the best one. With this demo you should use the rotation buttons to get the best projection.
As part of his JavaMath project Andrew Solomon
made several improvements to the applet. Among these is the mouse-over
showing the labels of the elements which is important for both his
application and in the UA Calculator. Of course he is responsible for the
communication between the applet and Maple and Gap.
Chapter 11 of my joint book with J. B. Nation and Jarda Jezek,
Free Lattices,
which covers algorithms for finite lattices, includes some additional
information on our drawing algorithm.
This is the congruence lattice of the direct product of two copies
of the 3 element algebra which is the reduct of the 3 element field
to only its multiplication. The edges colored by their Tame
Congruence Theory type. yellow
is type 2 (group type) and black is type 5 (semilattice type).
The whole
Universal Algebra Calculator program is available.
This is the lattice of all permutations on 4 letters with the
weak Bruhat order. Nathalie Caspard has recently shown such lattices
are bounded homomorphic images of free lattices.
This is the lattice freely generated by two 2 element chains
over the variety generated by N5.
Geyer had conjectured that
a bounded homomorphic image of a free lattice and its
congruence lattice would have the same number of elements.
This is a counter-example found with my lattice program.
This is the congruence lattice of the above lattice.
In the early 1980's I wrote programs to calculate in free lattices.
Each element of a free lattice has a finite lattice associated with it which
determines the important properties of the element. My program calculated
this lattice but I needed to diagram it to see quickly what it was. I thought
this would be easy: I would arrange the elements in levels and draw lines
between covering pairs of elements. This produces a correct diagram
(ignoring lines inadvertantly crossing over elements) but I soon discovered
that even small lattices were unrecognizable using this drawing algorithm.
Over the years the drawing program as been improved to its present form.
Standalone Version
This Java program can be run standalone. In this case you can input
a file the describes your lattice by it upper covers. It could then
be linked to other programs.
Download the source code.
email:email me
Last updated: Mon Aug 26
Ralph Freese