Live data from Hacker News

Terry Tao on some desirable properties of mathematical notation

mathoverflow.net

81–90 of 229 posts

Re: Terry Tao on some desirable properties of mathematical notation

#81
post #60
post #28

Earlier quoted context omitted.

Now imagine if those words I gave you were in Vietnamese, or some language you don't speak. Math notation sucks because none of it maps to things non-mathematicians know. I'm struggling to see how someone could conclude the latter statement from the former. Why is it reasonable for Vietnamese to be unintelligible to non-Vietnamese speakers, yet unreasonable for mathematics to be unintelligible to non-mathematicians?

I would argue that in fact most of mathematical notation happens to be intelligible to non-mathematicians (engineers, scientists, etc.)

I would disagree. Engineers, scientists, etc. have their own notation conventions as well. They may be aware of mathematical notation but only in specific areas of math related to their field (i.e. calculus and linear algebra for Newtonian physics). I would not expect a mechanical engineer to understand the notation used by graph theorists or algebraic geometers.

Re: Terry Tao on some desirable properties of mathematical notation

#82
post #49

Mathematical notation is great at facilitating formal manipulations. This is its critical feature, and without it we would get stuck at the level of ancient mathematics. This is the reason it was invented a few hundred years ago in the first place. That said, I find that notation is often abused in texts as a mere substitute for the normal human language which, while allowing to compress the text, does in fact nothin…

Thus:

1. Write a good narrative

and then

2. Write good code

Which is to say that a mathematics text is an instance of literate programming.

Re: Terry Tao on some desirable properties of mathematical notation

#84
post #17

Earlier quoted context omitted.

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…

> Math, as taught to kids, is full of single-letter variable names (or worse, as you point out, using non-Roman letters and other symbols) that are devoid of any hints to the uninitiated of what their meaning might be. Any time a new symbol is used in a text, it will typically be introduced. The phrase "Let A be the subgraph composed of G" for example defines A in relation to G. Typically, the author will also define…

> More often than not, I think folks just say "SINGLE VARIABLE NAMES BAD. MATH HAVE SINGLE VARIABLE NAMES". It's really dense. In any given math paper, the author typically defines any such variables. And if those definitions don't make sense, it's because the underlying mathematical objects are beyond you, and you need further background

Yes, that’s my point.

Imagine learning a foreign language by being given a dictionary and a set of grammar rules. Is that enough to learn the language? Not really. You’d be missing idioms, patterns of speech, common phrases & compositions - the same is true in math.

If you already halfway understand the language, then yes, you can do with a reference / definitions and rules for application — but even then, understanding how to use them is not trivial.

Also, you are talking about “texts”, but there are plenty of domains in which conference and journal papers assume a certain set of notation, and that notation is not defined, nor even consistent; you need to be well-read in the field to even have a hope of understanding what’s going on. AI/robotics comes to mind, but ML in general is sometimes guilty of this.

Re: Terry Tao on some desirable properties of mathematical notation

#85
post #17

Earlier quoted context omitted.

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…

Are you sure it’s not the opposite? Plenty of students can solve a set of equations. But when you start asking them about trains speeding in the night...

I think this is actually proof that students are treating math as a set of rules applied to a process, and not having any real understanding of how the variables and equations they’re mechanistically applying rules to have any connection to the real world.

If they did, it would be a lot easier to talk about trains speeding through the night!

Re: Terry Tao on some desirable properties of mathematical notation

#86
post #40
post #17

Earlier quoted context omitted.

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…

But Math is taught gradually, introducing concepts in child-friendly ways, and moving up towards "adult" notation. 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 n…

> 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

Of course. But even in FP languages you don’t name all your functions “f”! At some level of abstraction, sure, you use “i” for index variables, etc., but once you back out of that low level, you are going to be naming things that are less abstract.

Re: Terry Tao on some desirable properties of mathematical notation

#87
post #64
post #16

Earlier quoted context omitted.

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…

> Keep in mind this is a large public university charging $40k/year. Funny enough, that grad student was almost certainly making less than that. Universities are screwed up.

Another useful realization, after a witty quote attributed to Einstein, is to consider that as much trouble as you (the GP) were having with math, the grad student was having much more.

Re: Terry Tao on some desirable properties of mathematical notation

#88
post #69

Enumerating what we want from notation helps us understand how far we are from the ideal. The whimsical introduction of Notation to talk about notation makes it practical. Given a domain in mathematics, adding notation (e.g. modulo arithmetic) can make complex notions pretty to express and quick to prove. I used to really enjoy this and tried to redefine notation for each exposition. It's shorter and prettier, but ju…

> domain specific languages, while much more efficient are unpopular JSX seems pretty popular, and when XML was popular similar XML embeddings were, as well. Templating languages are popular. Heck, the relative popularity of “general purpose” programming languages is not consistent across domains, with domain fit being a factor even for general purpose languages.

I would say that JSX is popular precisely because the cost of teaching it is low, which in turn is because of its similarity to other commonly used notation (HTML / XML).

Of course it's got its fair share of dumb gotchas, but I found it far easier to learn than, say, any of the myriad Rails DSLs.

Re: Terry Tao on some desirable properties of mathematical notation

#89
post #79
post #18

Difficulties, 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.)

Not true at all, there are several times I've attempted to read through a textbook only to be stopped by notation because something was introduced prior to being referenced, or notation is overloaded with multiple meanings. I consistently have run into "perceived or real" confusing mathematical notation as an impediment to learning in a way that programming languages have never, ever caused me. Does no one else feel…

I think I agree with you.

I would say this trouble comes about in programming though, in the form of DSLs. Anyone who's worked with Rails knows the pain of having to go look up the non-obvious syntax for xyz specific file that you haven't touched in months.

Maybe you could say this is a problem with large software systems in general - the problems they solve often aren't that complicated (especially if you've worked on other similar software), but learning all the names and patterns and existing features creates a high barrier to entry.

Re: Terry Tao on some desirable properties of mathematical notation

#90
post #36
post #19

Earlier quoted context omitted.

> 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.

If your job consisted of calculating with sequences of changes of programs, with no copy paste available, you'd probably feel differently. For example, a fairly roundabout derivation of a change of base for logarithms (pretending we forget log(a^x) = x log(a) for arbitrary base): We're trying to derive that a^x = b^(x * log_b(a)). Or in verbose descriptive terms, oldBase `exponentiate` oldExponent = newBase `exponent…

Every domain — every language — has its basic jargon, and algebra is no exception. I’m not suggesting that mathematicians simply replace every symbol with a word that hints at meaning; that’s too literal an interpretation of what I wrote. “exponentiate” is no more descriptive than “^”.

But there are alternative ways of describing that derivation that are not as symbol-manipulation heavy; you would certainly not communicate this proof in words to another mathematician — or to a non-mathematician — by simply reading your derivation (or your alternate, verbose derivation) symbol by symbol. Instead you would more likely rely on the meanings of the symbols.

Even in your verbose derivation, however, it’s worth noting that your new names capture the fact that b^x and log_b(x) are inverses, a key piece that someone unfamiliar with logarithms and their relationship to exponentiation now has a hope to understand.

Post reply on HN