Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Software for drawing group lattice diagrams?

  1. Sep 6, 2015 #1

    I was wondering if there is code already available to draw group lattice diagrams if I already know what the subgroup structure of the group and its subgroups are. For example, it's easy to determine the subgroup lattice for cyclic groups simply using divisors via Lagrange's Theorem. But it's a bit tedious to hand-draw the lattice diagram. I'm curious if I can notice a geometric trend in the lattice geometry of cyclic groups. I suspect not and predict the geometry would be as random as the factors of integers but I don't know for sure. Also I understand there are connections between groups that have similar lattice structures. For example isomorphic groups have the same structure.

    Anyway, having a program to quickly draw the structure would aid in learning about groups and I think it's a good idea to have one.

    I can code it if none are available. I've already started on the code although it's not working for larger groups yet. Here's ##C_{50}##: my 50lattice.jpg

    Ok thanks,

    Edit: Sorry, I found one in the Wolfram demos that also includes cyclic groups (I'd just delete this thread if I could):

    Edit: I uploaded this code and it's inadequate so this demo will not do unless I upgrade it. Anyway, anyone has a better idea?
    Last edited: Sep 6, 2015
  2. jcsd
  3. Sep 7, 2015 #2


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

  4. Sep 7, 2015 #3
    Thanks Borg but no that's not it. Been searching the web and haven't found anything yet. The Wolfram demo is entirely inadequate. I just cannot believe there is no publicly-available routine to manage group lattice diagrams in a nice, thorough, pleasing, and educationally-enriching manner. This is what I would like:

    (1) Implement a routine in a Mathematica Manipulate environment which instantaneously depicts the group lattice of say 10,000 cyclic groups in terms of their orders as I move a control-bar from the 10 position to the 10,000 position.

    (2) Update the routine to include dihedral, dicyclic, symmetric, integer mod, general linear groups, and other interesting groups.

    (3) Add an option that depicts the lattice in terms of the actual group members. For example the symmetric and dihedral.

    (4) Add an option that identifies properties of a group based on the lattice like isomorphic, normalizers, centralizers, and other things I don't know yet.

    I'll work on this a bit here if you guys don't mind. Perhaps if no software is available to do the above, we could move this to the Math software forum since then it becomes a programming issue.

    Here's one I manually made for ##C_{100}## which I think is correct. However, it doesn't look nice. Wish it to be clear, symmetrical (100 on top and 1 on the bottom) un-cluttered as possible and if lines have to intersect, switch to a 3-D plot perhaps like the second plot below.
    Last edited: Sep 7, 2015
  5. Sep 7, 2015 #4
    GAP can do this.

    Anyway, the lattice of subgroups of a finite cyclic group is characterized by the distributive property. That is, we have for a finite group that the lattice of subgroups is distributive if and only if the lattice is distributive. See "The Theory of Groups" by Hall.

    A more geometric property would be given by the pentagon-diamond theorem which characterizes the distributive lattices and hence the cyclic groups.
    Last edited: Sep 7, 2015
  6. Sep 7, 2015 #5
    Here is a nicer one for ##C_{100}##:

    100 & ---- & 20& ---- & 4\\
    | & & | & & |\\
    50& ---- & 10 & ---- & 2\\
    | & & | & & | \\
    25 & ---- & 5& ---- & 1

    You should notice that the lattice diagram of a number ##n## is just a collection of (hyper)cubes with as basis axes the primes in the prime decomposition.
  7. Sep 7, 2015 #6
    . . . not easy for me. I think this is the lattice for ##C_{120}## however there should be an edge going from 120 to 24 on top and another going from 15 to 3 on the bottom I think so anyway.
    also can't seem to get the last vertical line to line up correctly.

    I'll check-out the book by Hall tomorrow.
    120 &----&40 &----&8&----24 \\
    |& &|& &|& &| \\
    60 &----&20 &----&4&----12 \\
    |&&|&&|&&| \\
    30 &----&10 &----&2&----6 \\
    |&&|&&|&&| \\
    15 &----&5 &----&1&----3 \\
    Last edited: Sep 7, 2015
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook