Hacker News new | ask | show | jobs
by goldenkey 3378 days ago
I am getting a PhD in mathematics after having programmed since I was 10, basically PhD level CS degree equivalent.

I see Mathematics as somewhat like programming but not exactly like you.

Bijections seem to show information equivalence, like two programs outputting the same information but in different encodings.

Mathematical structures like rings, groups, vector spaces, ideals, etc.. are like object classes, if you can cast your current structure to them -- or prove it is that kind of structure via duck typing or whatnot, you then get a whole slew of new methods, transformations, properties, and casts that you can use on the structure to further manipulate it.

Instead of learning APIs, we learn mathematical objects/structures and their properties (necessary to cast other structures or construct them.)

The casting is really key. Once you cast a bunch of disparate things around using their derives properties and you get an equality, you've got a bijection. Connect the islands. Boom, modular form <-> elliptic curve, etc. Langlands program!

I think programming first helped a lot with having the mindset for information equivalence. That's really the key to so many theorems. Things that appear different and cannot be compared until their representations converge through a lot of wormy structure alchemy. Then you either have equivalence or at least, like structures, so a comparison can be made, and thus a decent theorem.

I really want to study representation theory. I hardly know it but it seems to be a computational/information theoretic subset of mathematics.