Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

They're just spooky names for simple concepts - and the article defines them on first use. If abstract algebra were a requirement, they'd skip these definitions.

Paraphrasing 'Group' from the article to see if I've understood it:

A set of elements G, and some operation ⊕, where

  (g1 ⊕ g2) is also in G. // "Type-safety"

  Some g0 exists such that (gn ⊕ g0) == (g0 ⊕ gn) == gn // "Zero"

  For every g, there's some inverse gi such that (g ⊕ gi) == (gi ⊕ g) == g0 // "Cancelling-out"

  a ⊕ (b ⊕ c) == (a ⊕ b) ⊕ c // "Associative"

  If (a ⊕ b) == (b ⊕ a) then the group is also "abelian/commutative"




Is the aspirin symbol you're using as + figure, a special kind of +, or just a different looking +? What does the circle around the + mean?

I'm mentioning this, as other people in this thread are discussing "explaining symbols you use", and you're using a non-standard symbol for +. I can easily imagine a circle around + making + a different operation, and wonder if it is so?

Aspirin I've bought in the past has a + on it, and its trademark is a + within a circle. That's why I've latched on what a "common person" might view the symbol as:

https://www.brand.aspirin.com/sites/g/files/vrxlpx46831/file...

Interestingly, I have University level math courses, but decades out of date, and have never run into that symbol. I see it here:

https://en.wikipedia.org/wiki/Direct_sum


⊕ is a standard symbol for this kind of math. The symbol itself is ancient because it's so simple, so I don't see what Bayer's aspirin logo has to do with it.

It acts as a normal +, mostly. When you're dealing with modulo math, the "normal" plus becomes a bit weird as there are rules attached to a number expressed as "(a + b) mod c", so mathematicians often use symbols like ⊕ to mean something like "+, but different". The second link you posted does the same, it acts sort of like normal addition, conceptually, except it's not done on actual numbers but groups.

In definitions like these, you may as well use a peace symbol or a picture of a frog; "some operation ⊕" means "there is some operation we write down like this, and it does this and that".

Another place you may find ⊕ is when it's used to represent XOR in some cases; (a + b) mod 2 is a bitwise XOR when operating on single bits (again, it means "normal addition except with weird rules", namely the mod 2 that makes you throw out anything larger than the last bit).


⊕ is variable! Just like g1 or g2.

I specifically didn't use an already-existing symbol because then you wouldn't know if I'm talking about that symbol, or any symbol in general.

Integer-multiplication is associative, E.g.

  "3 times 9 is 9 times 3"
  (3 + 9) == (9 + 3) == 27
and it has an identity element, E.g.

  "3 times 1 is 3"
  (3 + 0) == 3

You can see a group and similar structures as sets of rules an object needs to follow to be considered a group or whatever. Conceptually, a group is anything that behaves like a group. It could be a dog! So, the operator can be anything you want as long as the indicated properties hold. It's like a generic API that lets you use whatever concrete type you want as long as it conforms to certain rules.

edit: What I mean is that, as a consequence, the symbol used is not really important.


They're spooky names for simple concepts, with extremely deep consequences and hard theory, don't be fooled.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: