6 ms·
“Mathematical Notation: A Guide for Engineers and Scientists”[0] really changed my abilities with being able to read papers and decipher what was going on. I h
by binarymax 4y ago
“Mathematical Notation: A Guide for Engineers and Scientists”[0] really changed my abilities with being able to read papers and decipher what was going on. I had university math experience but it was a long time ago. When I started reading papers for algorithms later in my career I couldn’t get past the notation. Once the symbols are explained, as a programmer, I was able to grok so much more. This should be on everyone’s shelf.
[0] https://a.co/d/gQmDIo7 https://a.co/d/gQmDIo7
- slicktux 4y agoPlus one for this! I bought two copies of the referenced book…and for the exact same reasons; I’m a programmer and being able to explain my algorithms using mathematical notation helps validate a program as well as troubleshoot a program… An oldie but goodie is “Mathematics for the million”
- fouronnes3 4y agoAs a programmer I really wish math notation was more rigorous: less ambiguity, more explicit typing, no implicit variables, etc. So much of it would never pass code review. We programmers figured out that code should be optimized for readability, not writtability ; I wish mathematicians did too.
- User23 4y agoIt can be made to be. Dijkstra came up with a nice and rigorous notation he used for his own proofs[1]. That page also includes some slightly spicy takes on why things are as they are. I agree that this is an area where the broader mathematical field has much to learn from computing science. The unforgiving nature of computing automata really drove that innovation. Meanwhile one can afford to be sloppy when one is trying to convince some other mathematician with a sky high IQ. [1] https://www.cs.utexas.edu/users/EWD/transcriptions/EWD13xx/EWD1300.html https://www.cs.utexas.edu/users/EWD/transcriptions/EWD13xx/E...
- blevin 4y agoI did not expect that to read so similarly to a good doc on coding conventions as it did.
- breck 4y agoThis is a project of mine that I take attempts at here and there. Another great book on this topic is "History of Mathematical Notations" https://www.amazon.com/History-Mathematical-Notations-Dover-Mathematics/dp/0486677664/ https://www.amazon.com/History-Mathematical-Notations-Dover-...
- rowanG077 4y agoCouldn't agree more. Mathematician are masters at whipping up random notations and then not adhering to it rigorously. Higher level math would be an order of magnitude easier with machine checked syntax.
- alphabetr 4y ago> Higher level math would be an order of magnitude easier with machine checked syntax. This just isn't true, at least in terms of developing new mathematical ideas. There are already tools (e.g Coq) for providing mathematical syntax checking etc, but nobody uses these in developing new ideas because it would cripple the process of doing mathematics. Particularly in the early stages of work, mathematics is very intuition and heuristic driven, you tend to sketch out an idea by actively using the ambiguity in the notation. Once you've got something that looks broadly correct you progressively try to shore it up by using more detailed and rigorous argument. Maybe as an analogy, think of how architects design houses. They don't start by placing each brick according to correct civil engineering practice. They design something that broadly makes sense and then the civil engineers 'shore it up'.
- rowanG077 4y agoYou are right that it wouldn't be true in regards to new mathematical ideas. That's not what I meant, I should have been clearer. What I meant was 10x easier to learn. Coq isn't about mathematical syntax checking. Coq is about encoding the whole proof in such a way Coq can machine verify it. That's 100 steps further then what I'm talking about. Just a simple syntactic check. Similar to what gofmt does. Is what you are writing considered valid syntax. Not whether what you are writing is correct.
- yig 4y agoOur project IHeartLA is a language with syntax designed to closely mimic conventionally-written linear algebra, while still ensuring an unambiguous, compilable interpretation: https://iheartla.github.io/ https://iheartla.github.io/
- tdba 4y agoThis is amazing, thank you! The symbol replacement seems really slick https://github.com/iheartla/iheartla/wiki/Keywords-And-Special-Symbols https://github.com/iheartla/iheartla/wiki/Keywords-And-Speci...
- larve 4y agoMathematics only clicked and became fun for me when I started using Wolfram Mathematica, because I could fairly easily mess around with the formulas I saw in books until I understood the types and arguments and what is an index vs a reference to some unnamed convention of the field.
- havercosine 4y agoI so so much agree. Just applying the D (differential operator) twice reveals what are we doing much more than the conventional d2y/dx2 notation. By and large mathematics education has missed the point of invention of computers. It is only occasionally used to make a point. We should be teaching mathematics with a programming first approach: get your function code to compile, ponder on its signature, write some test cases to really understand what is going on.
- dmitrybrant 4y agoTotally agree! I remember raising my eyebrow at ambiguities in math notation as early as high school, before I could articulate them as such. One specific example is the convention of cos^-1(x) referring to the inverse cosine of x, instead of the multiplicative inverse of cos(x). Similarly, the convention of cos^2(x) referring to the square of cos(x) instead of a nested cos(cos(x)). It's madness, and totally avoidable.
- willhslade 4y agoTo pick a nit, Iverson did this with APL and I still think it's brilliant. Executable math. It's time will come, I hope.
- deleted 4y ago[deleted]
- time_to_smile 4y agoI find one of the biggest mistakes programmers have about mathematical notation is that it's somehow just a terse, badly implemented programming language. But this is a very poor understanding of what mathematical notation is doing. I think this error in thinking comes from the fact that Sigma notation can often be trivially implemented as a for loop. Programming languages are designed to describe a specific computation, whereas mathematical notation is typically trying to describe an idea (one that might not even have a implementation!) Notation only sometimes and coincidentally describes computation as well. The ambiguity, implied variables etc are an essential part of mathematical notation in the same way it is in common spoken language. Mathematical notation exists to help abstract and work out very hairy ideas, and often that ambiguity is necessary to show connections. > code should be optimized for readability, not writtability Mathematical notation is readable if you're literate in it. It takes lots of practice to become fluent in it, but once you become more familiar it's much easier to read than text (which is why it's used in the first place). Mathematical notation is an extension of mathematical writing, not computational implementation. Reading mathematical notation is much closer to reading poetry than reading code.
- User23 4y ago> I find one of the biggest mistakes programmers have about mathematical notation is that it's somehow just a terse, badly implemented programming language. But this is a very poor understanding of what mathematical notation is doing. No, we think that because proofs and programs are isomorphic[1]. It's not a mistake: traditional mathematical notation provably is a terse badly implemented programming language. Actually it's worse than that, because oftentimes it doesn't even parse. Now I'm not going to say I can't on some level see the appeal. After all I think Perl is a lot of fun to code in. Naturally, its adherents are practiced at making a virtue out of its defects. Who wants to admit they dedicated considerable brainpower to doing something in a fundamentally suboptimal way? That doesn't really matter though. As Mathematica and other tooling shows, the formalists have already won and now it's just a matter of mopping up the stragglers, or waiting for them to age out. This isn't terribly surprising to those who know the basics of the history of mathematics. It took something on the order of two centuries before Recorde's innovation of the equal sign was generally accepted. [1] https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspon...
- havercosine 4y agoMy cultural reading of this notation problem is this: mathematical notation was formalised when scientists were writing papers and letters to each scientists in the era of scarce paper and no internet. So focus was on succinctness at the expense of explainability. It is akin to why commands on Unix machine were short, you were talking to an actual serial terminal to machine somewhere away. So saving a letter or two helped. Persisting with cryptic mathematical notation today, we are stuck with an idea well passed its sell by date. Mathematical notation, mostly, is not precise. Sussman (who wrote the famous SICP book) wrote another book structure and interpretation of classical mechanics. Tough book to go through. But they start with the same premise: mathematical notation is confusing (and hand wavy at times). A better symbolic notation should reveal enough details to be able to code up the mathematics in a program. I found this approach to be bang on target, but could never get enough time to actually go through the book. And I realised why the 'let us build it up from scratch' books work. They force you to think about the function signatures and shape of objects passed to each function. This approach reveals gaps in our understanding much better. For example, F=ma is looks like an algebraic statement, hiding the fact that `a` on the right is about time evolution of the system through the derivative. Steven Strogatz made a funny quote in his infinite powers book. (I'm paraphrasing), if Newton was doing this in today's era he might create a flipbook animation to make this point and not symbols.
- TimTheTinker 4y agoWow, I wish I had known about this book (and had a license to Mathematica) when I was in college. I always got hung up on the notation and my inability to visualize the concept.
- fastneutron 4y agoAnother document with the same flavor is “Larry’s Speakeasy: A Handbook for Spoken Mathematics.” Basically a notation-to-English translation guide. It’s actually listed as a technical report from Lawrence Livermore National Lab, but the only online PDF I can find is here: https://www.academia.edu/28253460/Handbook_for_Spoken_Mathematics_Larrys_Speakeasy https://www.academia.edu/28253460/Handbook_for_Spoken_Mathem...