c ≡ u +.× v
1. https://www.jsoftware.com/papers/tot.htmTerry Tao on some desirable properties of mathematical notation
31–40 of 229 posts
Re: Terry Tao on some desirable properties of mathematical notation
#32Imagine I give you a list of words and ask you to remember them. 5 minutes later, I ask you to give me those words in reverse order. Not too hard, right? Now imagine if those words I gave you were in Vietnamese, or some language you don't speak. Suddenly the task becomes much more confusing. You aren't remembering a small handful of objects and ideas, but instead trying to juggle the individual syllables in your head…
I dropped out of college at 19 and attempted to return at 21. My first math course back was discrete math and my teacher was a grad student who very clearly had no interest in teaching and was only there in order to subsidize his "real work". Keep in mind this is a large public university charging $40k/year. Going into his office hours was like going to another country, because his only method to explain math was rea…
Mathematics is a deep subject. It requires many hours of study over decades to develop. Students who are struggling deserve to have a patient teacher explain things to them in terms they already understand. Not every student has this experience, however. I have tutored a number of my peers in undergrad and they have complained of similar treatment from professors or TAs. I do my best to help them and make sure they really understand the topics they're studying.
Re: Terry Tao on some desirable properties of mathematical notation
#33Imagine I give you a list of words and ask you to remember them. 5 minutes later, I ask you to give me those words in reverse order. Not too hard, right? Now imagine if those words I gave you were in Vietnamese, or some language you don't speak. Suddenly the task becomes much more confusing. You aren't remembering a small handful of objects and ideas, but instead trying to juggle the individual syllables in your head…
> Math notation sucks because none of it maps to things non-mathematicians know. This doesn't mean maths notation sucks any more than vim's user interface sucks because it doesn't make sense to non-vim-users. Mathematical notation presumably mostly makes perfect sense to the kind of people who deal with mathematical notation all day long.
I think this nails it perfectly. There are plenty of good programmers who refuse to use vim. In math those people can't operate.
Re: Terry Tao on some desirable properties of mathematical notation
#34Another interesting notation is iverson notation. See Notation as a Tool of Thought [1]. Here's the inner product (note that this is actually general inner product): c ≡ u +.× v 1. https://www.jsoftware.com/papers/tot.htm
Re: Terry Tao on some desirable properties of mathematical notation
#35Earlier quoted context omitted.
The question is if we should optimize for pencil efficiency or education. To me, it's obvious: I've met way more people interesting in learning math than performing it, so we try to make notation as clear and possible. Vim, like math notation, is optimized for efficiency. That's great for power users, but it's not what you would use if you wanted to teach someone how to word process. (BTW, try imaging Vim where each…
Vim, like math notation, is optimized for efficiency. That's great for power users, but it's not what you would use if you wanted to teach someone how to word process. Vim is a text editor, not a word processor. Additionally, Vim is a tool designed for power users. Mathematical notation is also meant for power users. When we teach mathematics, we introduce the notation gradually, so students have time to pick it up.…
I have too many things to remember, and there are plenty of options that give me equal power but don't demand that investment from me.
Math isn't like that - I do more math than the average person and I hate having to decipher the annotation. The number of times I've tried to work out if this sigma is the same as the sigma in this other paper frustrates me enormously.
Or the paper that used a accuracy^bar metric as their primary reporting metric, and we couldn't get near it until we found an obscure footnote in an appendix that explained the ^bar metrics were temporally averaged at test time around a known labelled standard (ie, test data was used to optimise the performance).
Re: Terry Tao on some desirable properties of mathematical notation
#36Earlier quoted context omitted.
> Math notation sucks because none of it maps to things non-mathematicians know. This doesn't mean maths notation sucks any more than vim's user interface sucks because it doesn't make sense to non-vim-users. Mathematical notation presumably mostly makes perfect sense to the kind of people who deal with mathematical notation all day long.
> Mathematical notation presumably mostly makes perfect sense to the kind of people who deal with mathematical notation all day long. Maybe the overuse of opaque names leads to self-selection of who becomes a mathematician? Single-letter non-descriptive variable and functions names would “make sense” to programmers who use it all day long too — but that alone doesn’t make it a good idea.
We're trying to derive that a^x = b^(x * log_b(a)).
Or in verbose descriptive terms, oldBase `exponentiate` oldExponent = newBase `exponentiate` ( oldExponent `multiply` inverseExponentiationInNewBase (oldBase) ).
We could maybe argue about the verbosity and clarity of each statement, but I think math's notation shines when you compare derivations instead of statements:
a^x
= b^( log_b(a^x) )
= b^( ln(a^x)/ln(b) )
= b^( x * ln(a)/ln(b) )
= b^( x * log_b(a) )
or with descriptive names (apologies to readers on mobile): oldBase `exponentiate` oldExponent
= newBase `exponentiate` ( inverseExponentiationInNewBase(oldBase `exponentiate` oldExponent) )
= newBase `exponentiate` ( inverseNaturalExponentiation(oldBase `exponentiate` oldExponent) `divide` inverseNaturalExponentiation(newBase) )
= newBase `exponentiate` ( oldExponent `multiply` inverseNaturalExponentiation (oldBase) `divide` inverseNaturalExponentiation(newBase) )
= newBase `exponentiate` ( oldExponent `multiply` inverseExponentiationInNewBase (oldBase) )
If I were doing it by hand, I know I'd screw it up with long stuff to copy. Remember accidentally dropping negative signs in school? Hell, I'm still not really sure I got the second version right. By hand, I'd also get super frustrated and impatient writing sooo much.This is a ridiculous over the top example, since I'm avoiding using everyday symbols like * and / and ^ and log, but for working mathematicians and applied mathematicians, their notation is just as familiar to them and I'm sure it'd be equally annoying to write out descriptively as it is for us to write out basic math symbols descriptively.
Programming notations are to be written and read. Math notation is to be manipulated.
Re: Terry Tao on some desirable properties of mathematical notation
#37Difficulties, if any, perceived or real, arising in connection with notation, are usually incomparably smaller than those presented with the subject itself. (Personally, I only wish mathematical notation were better integrated with software in general and programming languages in particular.)
I'm not disagreeing, but I'm curious how you would back up that assertion.
Re: Terry Tao on some desirable properties of mathematical notation
#38I found this post a shame. (The post itself, not putting it here; I love seeing math posts on HN, and automatically upvote. Bringing hackers and mathematicians together is highly worthwhile for both.) Usually Tao's posts are so insightful, and crystallise some idea so perfectly that it feels like I was just on the cusp of discovering it myself—a rare talent, and hard to cultivate since it goes against the ego. In thi…
Re: Terry Tao on some desirable properties of mathematical notation
#39I found this post a shame. (The post itself, not putting it here; I love seeing math posts on HN, and automatically upvote. Bringing hackers and mathematicians together is highly worthwhile for both.) Usually Tao's posts are so insightful, and crystallise some idea so perfectly that it feels like I was just on the cusp of discovering it myself—a rare talent, and hard to cultivate since it goes against the ego. In thi…
> I'd like to hear especially from anyone who isn't a professional mathematician: did you feel that this post improved your understanding of the purpose and function of good notation? Yes I skipped past the long list of properties and went straight for his long list of ways to write the inner product of two vectors and his illustrations of why you want to use different notation in different cases. Here's a question f…
I definitely think that he's earned the right to contribute to the mathematical community in whatever way he sees fit, and, especially if it benefits other people, which it clearly does, then my opinion of it shouldn't and doesn't matter a hill of beans. I just usually feel that he combines those missions—not that he has to, but that he does—and felt that he didn't here; but, again, that is, if at all, very much my problem and not at all his.
Re: Terry Tao on some desirable properties of mathematical notation
#40Imagine I give you a list of words and ask you to remember them. 5 minutes later, I ask you to give me those words in reverse order. Not too hard, right? Now imagine if those words I gave you were in Vietnamese, or some language you don't speak. Suddenly the task becomes much more confusing. You aren't remembering a small handful of objects and ideas, but instead trying to juggle the individual syllables in your head…
In addition, the same notation is often overloaded in new domains, where the association with the prior domain is metaphorical, or even simply allegorical. As a novice programmer, it took years to get out of the habit of using non-descriptive single-letter variable and function names. It’s a terrible habit, and makes code incomprehensible — and programmers know it. Math, as taught to kids, is full of single-letter va…
Note that if you programmed in FP languages, you'd have to unlearn the "descriptive variable names" thing you were taught. Once you deal with abstractions, names cease to be meaningful. If the most you can say about a parameter to a higher order function is that it is "a function", then "f" is the best name for it. Some very good programmers argue that long/descriptive names often obscure the shape of an abstraction.