Skip to main content

Cycles on Lattices

So, first a small correction to the last post : a 'honeycomb' layout is a cycle on a hexagonal lattice, while the other layouts there are not on-lattice. I've renamed them 'flower' layouts, as I'm not sure if they have a name - they're not at all new, I just haven't looked! To be clear:

these are two different layouts of the same 12-cycle. As it happens, the honeycomb layout is also a [5, 5, 5]-flower layout with straight edges on the first edge of the outer cycle. However, not every honeycomb is a flower.

There might be many ways to do it, but one way to make honeycomb layouts is to find cycles on a hexagonal lattice. Assuming, of course, that you have such a lattice already - it's not terribly hard to make one, but connecting it up properly is a bit fiddly. Luckily, it turned out that making the dual of a triangular lattice is slightly easier. To see how this works, consider the three possible (regular) planar lattices:

The grey dots are actually the dual lattice of the black lattice. Click-for-bigger to see the lines connecting the dual points. Of course, a square lattice (on the left) is self-dual, while triangular and hexagonal lattices are duals of each other.

Fine, so given such a hex-lattice, how to get cycles of the right size? Well, the simplest way might be to find all cycles in a grid of some size, and just take ones of whatever size. This ... works - but not very well. Here are the 10-cycles from the hex-grid above:


clearly they are all the same! In fact, this is one of the smaller 'families' (orbits) of cycles. There are 78 cycles of size 12, and 2,082 of size 22. Here is a table:
Clearly, this is not the right approach.

Comments

Popular posts from this blog

The Gale-Ryser Theorem

This is a small aside. While reading a paper by Grüner, Laue, and Meringer on generation by homomorphism they mentioned the Gale-Ryser (GR) theorem. As it turns out, this is a nice small theorem closely related to the better known Erdős-Gallai  (EG). So, GR says that given two partitions of an integer ( p and q)  there exists a (0, 1) matrix   A  iff p*   dominates q such that the row sum vector r(A)  = p  and the column sum vector c(A) = q . As with most mathematics, that's quite terse and full of terminology like 'dominates' : but it's relatively simple. Here is an example: The partitions p  and q  are at the top left, they both sum to 10. Next, p is transposed to get p*  = [5, 4, 1] and this is compared to q at the bottom left. Since the sum at each point in the sequence is greater (or equal) for p*  than q , the former dominates. One possible matrix is at the top left with the row sum vector to the right, and th...

1,2-dichlorocyclopropane and a spiran

As I am reading a book called "Symmetry in Chemistry" (H. H. Jaffé and M. Orchin) I thought I would try out a couple of examples that they use. One is 1,2-dichlorocylopropane : which is, apparently, dissymmetric because it has a symmetry element (a C2 axis) but is optically active. Incidentally, wedges can look horrible in small structures - this is why: The box around the hydrogen is shaded in grey, to show the effect of overlap. A possible fix might be to shorten the wedge, but sadly this would require working out the bounds of the text when calculating the wedge, which has to be done at render time. Oh well. Another interesting example is this 'spiran', which I can't find on ChEBI or ChemSpider: Image again courtesy of JChempaint . I guess the problem marker (the red line) on the N suggests that it is not a real compound? In any case, some simple code to determine potential chiral centres (using signatures) finds 2 in the cyclopropane structure, and 4 in the ...

Király's Method for Generating All Graphs from a Degree Sequence

After posting about the Hakimi-Havel  theorem, I received a nice email suggesting various relevant papers. One of these was by Zoltán Király  called " Recognizing Graphic Degree Sequences and Generating All Realizations ". I have now implemented a sketch of the main idea of the paper, which seems to work reasonably well, so I thought I would describe it. See the paper for details, of course. One focus of Király's method is to generate graphs efficiently , by which I mean that it has polynomial delay. In turn, an algorithm with 'polynomial delay' takes a polynomial amount of time between outputs (and to produce the first output). So - roughly - it doesn't take 1s to produce the first graph, 10s for the second, 2s for the third, 300s for the fourth, and so on. Central to the method is the tree that is traversed during the search for graphs that satisfy the input degree sequence. It's a little tricky to draw, but looks something like this: At the top...