Live data from Hacker News

Why math is painful to read

matusiak.eu

91–100 of 106 posts

Re: Why math is painful to read

#91
post #7
post #6

I could not disagree more with that post. Mathematical notation is to Python what English would be to Assembly Language: it is a high-level notation, designed see the forest rather than getting lost in the trees. Take Maxwell's equations for example. After learning vector calculus and becoming familiar with its notation, you notice how much meaning you can extract at a quick glance from the four Maxwell's equations e…

> Mathematical notation is to Python what English would be to Assembly Language Which is often the problem, it looks specific, but it really isn't; it's full of implicit assumptions about what the reader should know. It's not executable, because it's a language designed for being written by hand rather than executed by a computer. However, the teaching of math would greatly benefit from an explicit executable form th…

What's that, we should write math in a language that computers can understand?

Knuth did that:

     \frac{\frac{1}{x}+\frac{1}{y}}{y-z}

And thank Don, he made the computer output something human readable.

Re: Why math is painful to read

#92
post #80

Earlier quoted context omitted.

I think you make a really good point about the power of mathematical notation and conventions. However, I completely agree with the article. Do mathematical formulas have to use Greek letters rather than useful variable names like "distance" or "speed"? Does C's syntax actually allow you to express something you can't in Python? Or is it more terse for historical reasons? (And never mind that it's a good idea to use…

Mathematical formulas with real-world interpretations can use those variable names. The problem occurs when the thing you're trying to express has no analogue in the real world. What variable name should I give to a reduced Noetherian subscheme of an arbitrary scheme? If you think "reducedNoethereianSubscheme" is a better variable name than X, then you'll love writing the notation for a function on it: f: reducedNoet…

That's totally unreadable. What is 'f'? Did you mean reducedNoethereianSubschemeTransformer?

Re: Why math is painful to read

#93
post #82
post #81

Earlier quoted context omitted.

Notation is what it is because it serves our ( ie. mathematicians') interest so well. If every one of us started writing Integral Of Quadratic Polynomial = Cubic Polynomial plus constant maybe we would increase the size of the audience a tad bit....but the downside would be, we'd move at a glacial pace & never make progress. Things like direct product and cyclic groups are basic....almost trivial even. If a non-progr…

If a non-programmer asks you "Why do you guys say int x = 10; float y = 0.2 Why not x is an whole number who value is 10 y is a fraction whose value is one fifth. Knowing what language we're working in is enough to know that's exactly what that code says. This is not the case in mathematical notation. C × A could be the direct product of two groups, or maybe the tensor product of two graphs, or perhaps the product of…

Knowing what language we're working in is enough to know that's exactly what that _math_ says, too.

You don't expect to understand Java after learning PHP, and you don't expect to understand a Topology paper after learning Algebra.

"C x A" is a combination of C and A. C, x, and A are defined once somewhere at the beginning of the paper/book.

Re: Why math is painful to read

#94
post #38

The problem with math isn't symbology or notation per se, it's that it's not evolved to take advantage of modern technology. It's an artifact of pencil-and-paper being the medium of choice for expressing ideas. We can do much better. When you are looking at an equation, you are looking at the purest distillation of an idea. Underneath that equation sits countless layers of abstraction and reasoning. Why can't I peel…

Math's hyperlink: http://mathworld.wolfram.com/Angle.html

Re: Why math is painful to read

#95
post #4

Earlier quoted context omitted.

To a mathematician reading the technical literature from his own field, there's no issue with math notation. Let me guess. You haven't learned much differential geometry? Constants vary by 2 pi depending on which definition you use. Functions might come before or after their arguments. And, of course, you leave everything that is "unambiguous" out of the notation. (Proving that it truly is unambiguous is sometimes no…

There's something to be said for the notion of a glossary or legend... have these been considered at all? Or a notational standards body of some kind, perhaps?

How many standards would you like? :-) http://mathoverflow.net/questions/33152/is-there-a-reference...

Re: Why math is painful to read

#96
post #90
post #55

Earlier quoted context omitted.

> If so, those mathematicians must be extremely stupid. Not necessarily. Before modern times mathematicians worked alone and didn't need a notation that others would understand. Newton, for example -- his calculus notation wasn't very good, and over time Liebniz' notation ended up being used instead (completely apart from the issue of who invented the calculus). > Surely persons of average intelligence must be able t…

Liebniz was a mathematician. Newton was a member of the Royal Academy. They communicated with each other.

Apart from the fact that you mean the "royal society", yes, both true. They also came into conflict about priority with respect to the calculus. And surprisingly enough, that debate rages on.

Re: Why math is painful to read

#97
post #6

I could not disagree more with that post. Mathematical notation is to Python what English would be to Assembly Language: it is a high-level notation, designed see the forest rather than getting lost in the trees. Take Maxwell's equations for example. After learning vector calculus and becoming familiar with its notation, you notice how much meaning you can extract at a quick glance from the four Maxwell's equations e…

I couldn't possibly disagree more with your post. :) The language of math requires exact precision which makes extracting what the series of abstract symbols "mean" incredibly difficult. Trying to learn new mathematical concepts from wikipedia is damn near impossible. Here are two examples. b-spline: http://en.wikipedia.org/wiki/B-spline spherical harmonics: http://en.wikipedia.org/wiki/Spherical_harmonics Trying to…

Both of your examples are new to me as well, however I can make sense of topics discussed. Just to use your example, the first equation for B-splines defines it as a function from a tuple of ordered reals to real vector of dimension d. The real difficulty with math is not so much the symbols as they give a precise but very legalistic way of defining things but the underlying concept or intuition that it represents, the deep semantics if you will. The best analogy is law. The way a lawyer or judge defines things will be different from the way a lay person would due to the difference in precision. The descriptions will be technically correct but will make you second guess on what it really means. I wouldn't go so far as to say it sucks but math is definitely scientific legalese.

Re: Why math is painful to read

#98
post #95

Earlier quoted context omitted.

There's something to be said for the notion of a glossary or legend... have these been considered at all? Or a notational standards body of some kind, perhaps?

How many standards would you like? :-) http://mathoverflow.net/questions/33152/is-there-a-reference...

Enough that (1) someone tells me about it in 5th grade and (2) people stop complaining.

I mean, seriously. The top answer is, "Wikipedia".

Re: Why math is painful to read

#99
post #91
post #7

Earlier quoted context omitted.

> Mathematical notation is to Python what English would be to Assembly Language Which is often the problem, it looks specific, but it really isn't; it's full of implicit assumptions about what the reader should know. It's not executable, because it's a language designed for being written by hand rather than executed by a computer. However, the teaching of math would greatly benefit from an explicit executable form th…

What's that, we should write math in a language that computers can understand? Knuth did that: \frac{\frac{1}{x}+\frac{1}{y}}{y-z} And thank Don, he made the computer output something human readable.

It would be very tricky to make a computer understand what a TeX equation actually means in general, rather than just know how to typeset it. e.g.

   f(d) = \int_0^1 g(y) d y dy
(Meaning integral of (g(y)dy) w.r.t. y)

Re: Why math is painful to read

#100

No, that's not why math is painful to read. The reason math is painful to read is because it's either obvious, in which case it's not painful to read, or because it contains new ideas that you need to work hard on before you can grok them. There is no short cut. You can't write math like a novel, you can't read math like a novel. There are ideas that are deep and difficult, and unless you actually spend time working…

> The reason math is painful to read is because it's either obvious, in which case it's not painful to read, or because it contains new ideas that you need to work hard on before you can grok them. The same could be said for code that uses only single letter variables and functions. It'd be a lot easier with readable variable names.

Apologies in advance, but I don't have time to write this as clearly and effectively as I want to, but I felt I had to express an opinion here, and raise some points. Pascal misquoted: long letter, I lack the time to write a short one.

A difference is that when you're reading someone else's code you're usually doing it to try to fix a problem in a specific part of the code, and specifically not trying to understand the full setting, the full architecture, and the grand idea(s).

I could give you an example of a proof, explained in detail, easy to follow every step, and at the end you still wouldn't have gained any understanding of the field, the area, the ideas, or the underlying reasons why things are true. You will have been helped in your small scale specific task in getting control of one tiny aspect, but without working on it for yourself, gaining the insights for yourself, doing the work for yourself, you won't get the bigger picture.

When I work with code, especially someone else's code, I almost invariably end up replacing the long, descriptive variable names with single letter names within the scope of a page. It's easier to read a short line than a long line that's trying to describe, again, the meaning and purpose of every variable. Being able to keep definitions and meanings of variables over a page or two of scope is trivial, especially when you have an IDE that can remind you if necessary. Personally, I don't use one, but I've seen them used to good effect.

When working intensively on a piece of code, keeping track of what "v" means comes naturally, it's repeated often enough that you have effectively used spaced repetition and have learned it. Having constantly to skim over the full_description_of_the_entire variable_encoded_in_the_name becomes a chore.

And no, I don't check back in the version with the single letter names, because others don't share my style, ability, or point of view, and they insist on having verbose code that reads like a novel. That's fine for fixing small errors in local code, but that's not what math is about.

I find it interesting that every mathematician I've discussed this with says that coding and math are fundamentally different activities. Almost every coder I know seems to think somehow they are the same, even though they haven't done any really advanced math.

Post reply on HN