top | item 22863518

(no title)

fyp | 5 years ago

Most algebraic structures are best understood by which axioms it satisfies. For example basically every subset of axioms of an abelian group is useful enough to have a name. Wiki has a really nice table:

Semigroupoid

Small Category

Groupoid

Magma

Quasigroup

Unital Magma

Loop

Semigroup

Inverse Semigroup

Monoid

Commutative monoid

Group

Abelian group

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

discuss

order

Aardwolf|5 years ago

This is one of those things were better naming would make mathematics easier, imho. The words are just so random and inconsistent.

Example: Commutative and Abelian are synonyms, but there's "Commutative monoid" and "Abelian group". Why not use same adjective. But of course also the random bag of words that have nothing to do with the concept, like magma.

kortex|5 years ago

Could take a page out of the biologist's book. "what's this thing?" Transcriptase - enzyme (-ase) which transcribes - DNA to RNA. "What about this" Reverse transcriptase - does the reverse of transcriptase.

Angiotensin-converting enzyme - does exactly what it says on the tin. You can lex it even further:

- Angio - heart (from ango, vessel)

- Tens - from hypertension, vis tendo, tendere, to stretch.

- (-in) - suffix associated with polypeptides:

- Convertere - turn around, from:

- Con - with

- Vert - turn

- En - inside

- Zyme - from zume/zymē - leavened, loosely, biological thing which causes leavening

It just makes so much sense! Lexemes are so cool. Like digging into linguistic source code.

QuesnayJr|5 years ago

Commutative and abelian aren't really synonyms. "Abelian" is reserved for objects that have a certain amount of rigidity. Commutative monoids are squishy, while abelian groups very rigid. Another place you'll see the name "abelian" is "abelian Lie algebras", which are also rigid. "Abelian categories" axiomatize the kind of rigidity abelian groups have.

Magmas are usually called "groupoids", but there's another generalization of group also called "groupoids". I'm actually not sure they really deserve a short name, rather than just "set with a binary operation", since there isn't much you can say about them in that generality that you can't generalize to "set with two binary operations", "set with a binary and a trinary operation", etc. The argument for a name is it gives you something to modify, since there are interesting special cases such as "medial groupoids". (An example of a medial groupoid is the real numbers with the "average of two numbers" operation.)

moron4hire|5 years ago

Aside: "wiki" is a term referring to a general class of software. The name of the crowd-sourced, free encyclopedia is "Wikipedia", as it is built with wiki software.

In other words, Wikipedia is a member of the set of wikis. You wouldn't call "5" just "integer", e.g. it would be confusing to say "there are integer fingers on one hand".

Y_Y|5 years ago

If someone came up to me and said, "there are integer fingers in one hand" I would be the opposite of confused.

7373737373|5 years ago

I'd like to seen an extension of this table with the negation of these axioms

mikhailfranco|5 years ago

Here is an beautiful old paper about data structures built using a binary join operator, exploring the 16 possible outcomes for properties: unit, idempotent, associative, commutative.

The resulting grid can be factored around set, bag, list and binary tree, with empty/non-empty variants.

Then there is interaction of the structures with binary operators on the data elements themselves, giving a nice analysis of map, filter, fold (reduce) in functional programming.

A.Bunkenburg, The Boom Hierarchy

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49....

There is a rich literature if you chase the references back and forth, starting from Bird-Meertens Formalism (Squiggol), Hoogendijk, through Backhouse and Malcolm, to Meijer and McBride.

QuesnayJr|5 years ago

I think negations usually don't prove interesting, and mathematicians essentially use "non-" to mean "not necessarily". So the theory of "noncommutative rings" includes the theory of "commutative rings" as an easy special case.

hope-striker|5 years ago

What would you do with that?

For example, I can see the use of commutativity (ab = ba) and anticommutativity (ab = -ba), but I'm not sure what I'd do with the negation of commutativity (ab ≠ ba).

whytaka|5 years ago

What I would love are examples of how they are useful.

lliamander|5 years ago

For me the first example where I really got why algebraic structures was useful this video on using abstract algebra in analytics[0].

This helped me grasp something that I had read from Alexander Stepanov[1] that I hadn't fully understood before (not being familiar with the algebraic terminology):

> I suddenly realized that the ability to add numbers in parallel depends on the fact that addition is associative...In other words, I realized that a parallel reduction algorithm is associated with a semigroup structure type. That is the fundamental point: algorithms are defined on algebraic structures.

I think the use case of building infrastructure for parallel/distributed computation as described above is a nice, concrete example of why using abstract algebra in our programs can be useful. It certainly isn't the only use case though. Other things include managing complex control flow, or passing an implicit context through a computational pipeline.

[0] https://www.infoq.com/presentations/abstract-algebra-analyti...

[1] http://stlport.org/resources/StepanovUSA.html

lachenmayer|5 years ago

This is a really cool presentation where the authors "step up the ladder" to design a really elegant API for animations as semirings (where * is used to sequence animations, and + for animations running in parallel), and then go on to implement it in Swift: https://bkase.github.io/slides/algebra-driven-design/