# Notes and Thoughts on Mathematical Groups

These are my notes and thoughts regarding this video about Mathematical Groups.

A Group consists of a **set of elements**. For example...

```
// The hours on a clock
var hours = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
// The possible ways you can move a triangle such that
// each movement results in a unique orientation of the
// triangle (symmetries of a triangle)
var movements = [
'pick up and set down',
'flip',
'rotate',
'flip and rotate',
'flip twice',
'rotate twice',
'rotate twice and flip'
];
// The set of all integers
```

Within each group, there are **ways to combine elements**. These operations will always result in another element of the set. For example, on a clock you can add 1 and 11 hours to get 0 (12). You can add numbers greater than 11 and that's the same thing as adding a number mod 11 (modular arithmetic).

The inability to escape from the 12 elements of the clock, is called **closure**. Using the allowed operations, it's not possible to combine the elements such that you get a new unknown element.

Within the Group there will always be an **identity element**. When you run an operation on the identity element and any other element, the results in the same element. For the integers, zero is the identity element. Zero plus any other integer will results in the same integer. For the triangle example, combining the "pick up and set down" operation will any other operation will be the same thing as the other operation.

Within the Group for every element there is an **inverse element**. So you can always operate on an element and its inverse to get the identity element.

Finally, when operating on elements, the operation is associative, meaning it matters the order in which do the operations.

To summarize, a Group is a mathematical system that is self contained. Within it are all the possible states and all of the possible ways to get to those states. And it's a guaranteed that within that system, there is no way to escape. There's no way for the system to get misconfigured or result in an unexpected state.