Cyclic Difference Sets - by Kris Coolsaet

This ( is an archive of Kris Coolsaet's excellent 1997 tutorial on Cyclic Difference Sets and how to make them. The archive was set up by David MacKay on Mon 6/5/2002 and it will not be modified.


It all started with an innocent e-mail sent to me by Mark Garry, a person unkown to me at that time, and still very much unknown to me at this particular instant. (I have always found that working with people you have never met in person, is one of the major charms of using the Internet.)

He had discovered my little database of cyclic difference sets and wanted to use them in the construction of Golomb rulers. Also, he wasn't satisfied with just using my data, and wanted to understand how I had generated these sets.

I started with sending him various e-mails (most of them rather incoherent, I'm afraid, for I had a lot of other things to do at that time) explaining about the mathematical theory behind cyclic difference sets. However, we soon realized that other people might want to have the same information, so I stopped in mid-correspondence and decided to set up a series of Web-pages instead. This is the result.

These pages will be of immediate interest to people working with Golomb rulers, but they also contain quite a bit of material that is interesting in its own right, especially to people who want to know a bit more about certain fields in mathematics than they were taught in high school (in particular, about Finite Geometry).

The Internet being an interactive medium, I would very much appreciate hearing your comments so as to better adapt these pages to your needs. Did you find any mistakes ? Should I elaborate more on certain topics ? Do you know any links to other pages that might be relevant ? Some of these pages were written in a hurry, so I know that they can be improved.

Anyway, thanks for reading these pages, and I hope you will enjoy them.

Kris Coolsaet

Symbols used in this text:

Previous page.

Next page.

C++ programming example.

Weird coloured necklaces

97/01/10 - Kris Coolsaet