Abstract Algebra (2016) [pdf]
abstract.ups.edu
abstract.ups.edu
He has a very engaging style. I'm about 1/3 of the way through, but had to pause for other commitments. It's mostly possible to track down the homework questions that he sets and solutions for them.
http://wayback.archive-it.org/3671/20150528171650/https://ww...
Edit: also, there's a Dover edition you can get for < $15.
I found a pdf link to the book googling for its name
that'd be wikipedia. A book might just be a lecture written down, albeit with less room to answer questions.
It's a book that explains all those abstract algebra concepts by introducing motivating examples for each one of them. It's the next best thing to finding the natural setting for them yourself.
Also, this textbook is one of several open source textbooks developed using MathBook XML which allows authors to create multiple output formats such as PDF, HTML and ePub from one canonical source document written in XML. If you are interested in learning about MathBook XML you should check out: http://mathbook.pugetsound.edu/
"[...] attempts to solve the general fifth-degree, or quintic, polynomial were repulsed for the next three hundred years [...] no solution like the quadratic formula was found for the general quintic [...] Finally, at the beginning of the nineteenth century, Ruffini and Abel both found quintics that could not be solved with any formula. It was Galois, however, who provided the full explanation by showing which polynomials could and could not be solved by formulas. He discovered the connection between groups and field extensions. Galois theory demonstrates the strong interdependence of group and field theory, and has had far-reaching implications beyond its original purpose."
My mom was actually reading a novel about him (a beautiful mind kinda style) last summer. I wonder how he would have turned out if he had not passed away so young.
Surprisingly, the only other mathematician that died really young (aka younger than jim morrison and co) is Niels Henrik Abel, also mentioned in the quote. Makes you wonder how healthy algebra is, doesn't it ;p
Herstein and Judson were both a less verbose (sometimes to the point of being unhelpful), but I'd still recommend them. I think I learned a lot from being exposed to different books. I could always look at another book if one book's explanations, examples, proofs, exercises were an issue. The Math Stackexchange was also invaluable because many of the proofs I saw there were very different from the ones I saw in class or in textbooks.
Edit: I've used Gallian. Not sure what's in the 7th edition but the 5th is perfectly good.
I used to date a textbook marketing manager. It was a joke internally, too.
[0] https://www.amazon.com/Abstract-Algebra-3rd-David-Dummit/dp/...
Because you used it as a supplement.
Is anyone aware of something similar, but much more comprehensive?
Sadly, I find it unlikely that we will get mathamaticians to agree to stop calling them Abelian groups, so learners will have to learn that name eventually.
I'd love to hear what differentiates this book. Why should I read this one instead of the existing options? Is it because Sage is used?
Of course, almost everyone failed the course. One guy got an A, a couple of us got C's (I was one) and the rest got F's. Never been prouder of a C in my life.
Certainly, being able to proof any theorems your rely on is important. But being able to recall how any given theorem was proven in a book isn't important.
I mean, I remember getting tested on parts of the "epsilon delta" definition of a limit in analysis, for example, but I don't recall ever being asked to regurgitate the entire thing correctly. It's funny but I don't even associate important tools like Taylor series with "proofs", only applications. The lecturer would sometimes prove things, but we were never tested on the proof, only the ability to apply the result. Mind you, I was physics not math so perhaps that's the difference. In fairness there is a LOT of math tools to learn, and I'm not sure there's really time to get into proving everything as an undergrad, but perhaps that's a mistake.
- Graph theory is pretty algebra-heavy, and graphs are everywhere.
- Static analysis, in particular abstract interpretation, relies heavily on vector spaces and various algebraic structures.
- All the "highly functional" structures (you know, monads and the like) are an off-shot branch of algebra.
- Patch theory (git, darcs and other versioning systems that rely on patches). You get nice stuff if you use algebraic properties (such as having your patch commutes and things like that).
Linear algebra is a subfield of abstract algebra, and lots of general theorems about what classes of matrices are diagonalizable, or what their eigenvalues look like, etc. are within the purview of abstract algebra. These types of results are relevant to many algorithms, e.g., page rank.
Aside from that, I think abstract algebra is quite a beautiful field in its own right. Two books I would recommend are Artin's Abstract Algebra (as an intro) and Lang's Algebra (more advanced, good bridge into the category theory perspective).
[0] https://www.amazon.com/Algebra-Chapter-Graduate-Studies-Math...
Developing an intuition for all those things is best accomplished by studying abstract algebra.
Also, algebraic properties are important. I've got a background in applied algebra, and I think that has informed my programming. And I think that making programmers aware of algebraic properties of their code, and communicating some of those properties to the compiler, may be worthwhile.
The language Fortress [4], which he was one of the language designers of, allowed one to explicitly provide the compiler with such information - you could say that a certain operation was distributive or associative for instance, and the compiler could then do some refactorings and optimizations taking this knowledge into account.
[1] https://en.wikipedia.org/wiki/Guy_L._Steele_Jr.
[2] https://youtu.be/ftcIcn8AmSY
[3] https://youtu.be/ftcIcn8AmSY?t=1m59s
[4] https://en.wikipedia.org/wiki/Fortress_(programming_language...
[0] https://news.ycombinator.com/item?id=13803843 [1] https://www.cs.ox.ac.uk/files/3395/PRG72.pdf
a) arithmetic as applied to 'Classes'. Eg overloading arithmetic operators that work on custom classes -- is, in a way, what abstract algebra does .
b) Interval arithmetic. For example alen algebra applied to arithmetic of time intervals
c) relational database theory as relates to various ways to construct functions on relations.
d) type theory (see https://homotopytypetheory.org/book/ )
e) combinatorics and linear programming (basically being able to express recursive and generative constructs, and reason about them).
If I understand correctly, groups are the basis of some error correction codes.
Monads are used for many things in functional programming.
There are languages that overflow from hardware integers into some kind of BigNum automatically. Those languages are not finite rings. (Well, OK, they're finite in the sense that eventually the memory space will be exhausted...)
Edit: Crypography is specifically associated with algebraic number theory.
Abstract algebra is also used in algebraic geometry, which also comes into play with facial recognition software, and maybe with fingerprinting as well.
But anyway, check this out: http://chris-taylor.github.io/blog/2013/02/13/the-algebra-of...
There's alot of category theory implicit in these ideas. You can learn the abstract approach later on, after you have seen a bunch of examples.
-cryptography
-algebraic coding theory
-Burnside's lemma
-molecular symmetry
-design of software for parallel processors
-lattices and Boolean algebras applied to logic, circuit theory, and probability
-Galois theory