Hacker News new | ask | show | jobs
by robomartin 1702 days ago
Well, musical notation looks like gibberish to someone who did not learn it. That said, I do agree with you 100% on scientific papers. Without an explanation of the formulas to cater to a wider audience a lot of papers fall into the "and then a miracle occurs" fallacy. Not because that's what they actually do. Not at all. I say this because to a large set of readers the impenetrable math has to be taken as a divine act that moves you from step n to n+1.

I remember going to lunch with one of my math professors in college. He was working on his PhD and was about to publish his thesis. As we sat down to eat he was very excited as he pulled out a sheet of paper from his pocket. It had been folded 3 or 4 times. You could tell he had been carrying this thing around, folding and unfolding it, for a long time because the folds showed wear.

This piece of paper was full of formulas, both sides, there was not a single blank area on the entire sheet.

He unfolded it and proceeded to give me a quick talk about what he was working on. He was very excited about it and I was happy for him. And yet that entire piece of paper looked like a language from another galaxy to me. I was on my third Calculus course. I had no clue what he was talking about.

Digressing a bit:

To this day I remember this when helping my kids with math, science and coding. As a matter of fact, I am currently working on an explanation of exponentiation and logarithms. In both cases everything looks great if things are even multiples of the base. The minute you do something like 2*2.1 or log_base_3(35.53) you hit the "and then a miracle occurs" problem, where you have to explain a thing by using the thing ("A white horse is a horse that is white").

I've spent the last couple of days working on cleaning-up an explanation of these things that makes sense without using a miracle to get to the answer. One of the problems is that there are natural explanations for things like square and cube (area and volume), but, what do powers of 2.1 and 3.25 mean? It is interesting how things completely break down. I don't think I have found a single mathematics text that bridges this gap.

If anyone has a sensible explanation of this I'd love to hear it!

2 comments

Following on from my other reply...

When we start teaching math to students, we start with counting blocks: "You have 2 piles of blocks, one pile of 3 and another pile of 2. If you put them together, you get a pile of 5 blocks!"

That stops working as well when you deal with fractions. You can get away with 2.5 blocks, but 2.5 blocks is really 3 blocks, but one is a little smaller than the others. And at some point you can't use blocks to represent 2.3456 blocks. So you need different kinds of "natural" problems to represent those numbers.

But, as you point out. There are some things that aren't really representable as "natural problems". For a long time the idea of 0 wasn't natural. (People were actually killed for talking about the idea of 0) I mean, what does it mean to have 0 chickens? You either have some chickens, and you say "I have N chickens", or you don't have any chickens and you say nothing. Why would you need a number to represent nothing?

Maybe n^2.1 doesn't have a natural explanation. At least, not one you can hold in your hand. Can you imagine a shape with 2.1 dimensions to relate it to geometry? Probably not. But you can use geometry to prove that n^(a+b) = n^a * n^b and then you can apply those rules to "unnatural values" with an understanding of what is happening. The natural explanation of n^2 can be applied to the unnatural idea of n^2.1

Everything in math can't be understood with geometry or "natural examples", lots of math (most of math?) describes things that are not representable within the constraints of our physical world. That's what makes it so powerful!

Also, not everything in math can just be calculated (see: irrational numbers)

> For a long time the idea of 0 wasn't natural.

Yes! A long time ago I read a wonderful little book on just this bit of history:

https://www.amazon.com/Zero-Biography-Dangerous-Charles-Seif...

You can start explaining fractional powers with roots, e.g. x^0.5
Right, the problem is that you quickly run into the "miracle occurs" territory.

The square root of a number takes us from an area to the length of the side of the square corresponding to that area. The cube root is the same for a cube. What is the 10th root of x?

It's a number that, when multiplied by itself ten times equals x.

OK. How do you compute this number?

The best I can offer at this point is, for simplicity, a brute force search or, for faster results, a bisection search algorithm.

In other words, the "and then a miracle occurs" moment is right there. The fact that I can key these numbers into a calculator and get the answer isn't the kind of explanation I want to use for my kid. I don't want to say "once you get here you pick-up your calculator", because the legitimate question then might be "If it's magic, why don't I just pick it up at the start of the problem?"

To be clear, I don't mean "miracle" as anything other than "this shit is hard-to-impossible to explain or calculate by hand". That said, you could probably run through a quick bisection search by hand and likely converge on a low error answer in 2 to 5 cycles.

The meaning of of the e root of b explained with exponentiation and the exponentiation is explained with the root.

I think the magic/miracle of math is that you can go from "real world" into "math world" then back into "real world". If a rule is true for c and n and n+1, and you can physically represent the idea when n=2 and n=3, then you can apply that representation theoretically to n>3 to understand ideas that are not easily understandable.

The 10th root of x takes you from a measurement of an 10 dimensional object to the measurement of a 9 dimensional object. That's crazy, right? Without needing to "understand" what an 10 dimensional object is, you know something about it because you understand what roots mean with lower values...

Of course, that doesn't help you actually calculate the 10th root of x. Is there a better way than basically guess, check, and refine? The calculator is just really fast at doing that (and only needs to calculate a relatively small number of significant digits). Sometimes that's just how math is. The only magic there is that computers are very fast at computation compared to people.

>The 10th root of x takes you from a measurement of an 10 dimensional object to the measurement of a 9 dimensional object.

Doesn't it take you from 10d to 1d? For instance, 10^10 is the hypervolume of a 10-cube with all side lengths = 10.

Imagine you are trying to explain this to a 15 year old.

If math is going to make sense to kids we can't resort to explanations that sound like "and then a miracle occurs".

BTW, I am not being critical of your answer. What I am saying is that there are these corners in seemingly simple math that have me scratching my head when it comes to explaining the concepts to a kid in a manner that makes sense and isn't circular. I have yet to find good answers to these questions.

Kid: What does the 10th. root of n mean?

Dad: It's the number, let's call it x, that, when raise to the 10th power is equal to n

Kid: So: n = x * x * x * x * x * x * x * x * x * x?

Dad: Yes! You got it!

Kid: How do you calculate it?

Dad: Well...

Kid: What if it is the 10.1 root of n?

Dad: Well, that's a little different...

Kid: How?

Dad: It's the number than when raised to the p-1 power times the base raised to the fractional portion of the power is equal to n

Kid: What's the fractional portion?

Dad: For the case of p = 10.1, it's 0.1

Kid: x * x * x * x * x * x * x * x * x * x^(p - int(p)) then?

Dad: Yeah.

Kid: How do I calculate x to the 0.1 power?

Dad: Well, you could use your calculator...(now starting to sweat)

Kid: How does the calculator do the math. You know, like when the math teacher says "Show your work"

Dad: Well, you could use logarithms...

Kid: What are logarithms?

Dad: A better method could be to use Newton's method. Here:

https://en.wikipedia.org/wiki/Newton%27s_method

Kid: It says: "start with an initial guess which is reasonably close to the true root, then to approximate the function by its tangent line using calculus, and finally to compute the x-intercept of this tangent line by elementary algebra"

Dad: Yes...

Kid: I don't know calculus. Is that the only way? I just wanted to understand how to calculate the 10th root of a number?

Dad: OK, let's try this. I just threw it together:

    # Calculate the exp root of n using a binary search
    #
    def root_binary_search(n, exp):
        # Return b, which is the exp root of n
        # b**exp should be equal to n
        #
        min = 0
        
        # For exponents < 1 the max needs to be sufficiently large
        max = n
        if exp < 1:
            while max**exp < n:
                max *= 2

        max_error = 0.00001

        while True:
            b = (max + min) / 2
            b_exp = b**exp
            error = abs(n - b_exp)
            # print(f"min: {min:15.4f}   max: {max:15.4f}   b: {b:15.4f}   b_exp: {b_exp:15.4f}   n: {n:15.4f}   error: {error:5.8f}")
            
            if error <= max_error:
                return b
            else:
                if b_exp > n:
                    max = b
                else:
                    min = b


    # Tests
    print(root_binary_search(4, 2), f"  result should be: {4**(1/2)}")
    print(root_binary_search(16, 2), f"  result should be: {16**(1/2)}")
    print(root_binary_search(5, 0.1), f"  result should be: {5**(1/0.1)}")
    print(root_binary_search(2, 10), f"  result should be: {2**(1/10)}")
    print(root_binary_search(4, 0.25), f"  result should be: {4**(1/0.25)}")

Kid: So...you are telling me to guess?

Dad: Yeah...? (looking embarrassed)

Kid: And to accept an error? 4-squared is 256, not 255.998046875?

Dad: Well, you have to understand that with a binary search...

Kid: And, did you see what happens if I run this case?

    print(root_binary_search(4, 1), f"  result should be: {4**1}")
Kid: Dad?

Dad: I have to get back to work. Why don't you ask your math teacher tomorrow?

I think you missed (or at least aren't building off of) the point of my comment.

I'm not questioning the pedagogy in the original comment, just the specific math. x^(1/10) takes a value of dimension [length^10] to a value of dimension [length].

Interestingly, I think you could take this in a few aesthetic directions. From a pure math perspective, this is where you can start talking about set theory, cardinality, etc. Irrational numbers are infinite sequences of digits we can only approximate. From a computer science perspective, you can talk about Newton's method, and also make the argument than an algorithm which converges to a number is a quite meaningful way to describe that number. Some would also add a caveat of 'efficiently' converging. And combining the two perspectives together, you can discuss that the set of computable numbers are of a lower cardinality than the set of reals -- aka 0% of real numbers are computable. You could also look at things from a geometrical perspective, and show how roots higher than square roots are tied to higher dimensions are are nonconstructible in the plane (this might be very hard to show!).