

Groups: A Primer (2012) - subnaught
http://jeremykun.com/2012/12/08/groups-a-primer/

======
mrcactu5
great article i still think it's tough to find specific examples where
symmetries help is in programming.

semigroups represent the composition of code, and groups are just semigroups
with an "undo" operation. e.g
[http://mmisamore.github.io/2014/09/17/Monogenic-
Semigroups/](http://mmisamore.github.io/2014/09/17/Monogenic-Semigroups/)

has anyone looked on github and drawn the diagrams to show their library is a
group or semigroup?

------
mpancia
This is pretty good, although I am always a bit worried that it is difficult
for people to internalize this stuff without a real drive to get into abstract
algebra.

As a side note, I think a really nice way to go (dovetailing off of the ending
group actions section) is to use group actions and this lemma
([https://qchu.wordpress.com/2013/07/09/the-p-group-fixed-
poin...](https://qchu.wordpress.com/2013/07/09/the-p-group-fixed-point-
theorem/)) to prove a bunch of cool stuff.

It really unifies all of the basic stuff and makes it clear that finite group
theory is really entirely about symmetries/actions.

------
j2kun
As an example of a useful group in programming: elliptic curves used in
cryptography.

~~~
ky3
Z/Zn groups are a better example, whether seen in RSA or Diffie-Hellman.

Elliptic curves require graduate-school math to properly appreciate. Being
mathematically mysterious, they are still the subject of active research.

Vanilla modular arithmetic is at least as old as Fermat, about 400 years. A
breakthrough in ECC is big news. A breakthrough in the integers would flip the
world upside down.

~~~
j2kun
I think you mean the multiplicative group of units of Z/nZ, because additively
Z/nZ has much more structure than a group. Still, for my example and in the
article, one should be motivated to study groups because they show up in
places that you don't expect to find algebraic structure. Z/nZ and its
variants are the obvious places to look. Elliptic curves are surprising.

Also, I wrote a series on elliptic curves which doesn't need any graduate
level mathematics to appreciate [1]. Of course if you want to make
breakthroughs on elliptic curves (or any serious mathematical topic) you need
graduate study.

[1]: [http://jeremykun.com/2014/02/08/introducing-elliptic-
curves/](http://jeremykun.com/2014/02/08/introducing-elliptic-curves/)

