When I was a child, the schools tried to get me to memorize the multiplication tables. At least through ten, teachers would say. I thought it was pretty silly.
You shouldn't force memorization. It should come naturally as you use certain things many times. If you use 7x6 often, you will remember it. If not, you will forget it. That should be totally fine. Why should it matter if you memorized 7x6 or you had to go the long way and say 7x5 is 35 so add 7 to 35 and you'll get 7x6?
Imagine if you said, good programmers are often fast typists and some idiot decided to add a touch typing test to their hiring process.
» Goodhart's law is an adage often stated as "When a measure becomes a target, it ceases to be a good measure".
Edit turn asterisks to x. Please read x as multiply.
But if it's not second nature, you may decide not to do it many times. Is it "need this -> gets memorized" or "memorized -> can use as tool"?
Personally I've never been a proponent of memorizing things, preferring to Google when needed, but I can see how the argument runs.
While studying, in general, mnemonic hooks pose a foundation for further notions to become solid. Then, the whole of them become available micro-tools for reasoning.
When I think of the thousands of multiplications I've done since then, it's clear I was a dope and my teachers were perfectly right.
I do not get the joke. What do you mean?
Suppose now somebody threw in that expression seriously. Would not that be an admonition to learn the tables and learn each element properly (do, check, memorize; do, check, memorize, check, check, check)?
You can cheat though. 2, 5, 9, and 11 have simple deterministic algorithms you can apply to get the result. These help, but the multiplication table is one of the only useful maths concepts that's stuck with me from grade school.
As it turns out, though intuitively appealing, this idea is wrong.
You can't learn to touch-type by programming. You have to focus some effort on specifically the touch-typing aspect of things. Half an hour a day of directed practice at touch-typing for a month will improve your typing speed more than ten hours a day of programming for a year. Similarly with multiplication tables: if you devote the necessary effort to memorizing the 28 or so necessary facts and speeding up recall on them, your speed at long multiplication increases dramatically. In my childhood I refused. When confronted with a multiplication problem, I would get medieval on it: mediation and duplation! This was a bad strategy.
In fact, I've often wondered if committing more lookup tables to memory might help more. Consider the Briggsian logarithms:
log₁₀ 1.1 = .0414
log₁₀ 1.2 = .0792
log₁₀ 1.3 = .1139
log₁₀ 1.4 = .1461
log₁₀ 1.5 = .1761
log₁₀ 1.6 = .2041
log₁₀ 1.7 = .2304
log₁₀ 1.8 = .2553
log₁₀ 1.9 = .2788
log₁₀ 2.0 = .3010
log₁₀ 3.0 = .4771
log₁₀ 4.0 = .6021
log₁₀ 5.0 = .6990
log₁₀ 6.0 = .7782
log₁₀ 7.0 = .8451
log₁₀ 8.0 = .9031
log₁₀ 9.0 = .9542
Consider the problem of computing the horizontal scan frequency of a minimal viable text terminal CRT. It refreshes at 60 Hz, contains 24 lines of text of 8 scanlines each, and has a 10% VBI, so the problem is multiplying 60 · 24 · 8 · 1.09. In Magic Logarithm Land, we just have to add the logarithms. We can mentally interpolate log₁₀ 24 as 1.30 + .4 · (.48 - .30) = 1.38 and log₁₀ 1.09 = .9 · .04 = .04, so we have 1.78 + 1.38 + .90 + .04 = 4.10, which is between 4.08 and 4.11, so the answer is about 12800 Hz. The exact answer with the multiplicands as given is 12556.8, so that's less than 2% error, as it usually is when rounding to two places. Even that is excessive precision given the fuzziness implicit in the VBI figure.I can't actually do this mentally, partly because I haven't memorized even the list of 17 logarithms listed above, so instead what I end up doing is something like, well, 24 · 8 is about 25 · 8, which is 200, and ×60 gives 600 + 600 = 12000, and then we add 10% for 13200, and then we'll be about 5% high because of rounding up the 24 and the 1.09, which also gives 12700 or 12800. But I can't help thinking that mentally adding 78 + 38 + 90 + 4 would be easier!
Memorizing a quarter-square table for the integers up to 100 would also help with this kind of thing.
Agreed, though, that a typing test for programmers or a times-table test for mathematicians would be counterproductive.
> We can mentally interpolate log₁₀ 24 as 1.30 + .4 · (.48 - .30) = 1.38
Easily one could go log₁₀ 24 = log₁₀ (6*4) = .78+.60 = 1.38, for example,
but you went something along the lines of "log₁₀20 + .4 · log₁₀(3/2)", making "24" read as something like "20x(3/2)^(4/10)"... What was the intended process?
In fact I happened to make an error in the mental interpolation that coincidentally was in the right direction: I estimated .4 · .18 ≈ .4 · .2 = .08, giving me the more correct .38 by luck.
It is of course true that if you factor your numbers you can get better precision with fewer table entries, as you did. But I think it's easier to mentally routinize linear interpolation between table entries so you can do it instantly than to mentally routinize factorization. Such mental linear interpolation was commonplace when using physical printed books of logarithm tables because it easily gives you, say, 4-place precision out of a 3-place table, allowing you to use a book that's one tenth the size and contains one tenth the incorrect entries.
Even very small amounts of memorization can give you lots of logarithms if you do mental work with them. With just log₁₀ 2 ≈ .3010 (and log₁₀ 10 ≡ 1), we can easily derive log₁₀ 5 ≈ .6990, log₁₀ 4 ≈ .6020, log₁₀ 8 ≈ .9030, log₁₀ 2.5 ≈ .3980, log₁₀ 1.6 ≈ .2040, log₁₀ 1.25 ≈ .0970, etc. If you additionally know log₁₀ 3 ≈ .4771, you can easily get 6 = 2·3, 9 = 3·3, 1.2 = 6·2/10, 1.8 = 9·2/10, 2.4 = 1.2·2 (as you said), 1.5 = 5·3/10, etc.
Equal temperament takes advantage of the fact that 3 is very close to 2 to the 19/12 power, about 0.3% larger; note numbers are frequency logarithms to the base of the 12th root of 2. Unfortunately that isn't very helpful if the numbers you need to calculate with are given in decimal form...
Consider your example of the CRT. You are for interpolating, I tend towards factoring - no issue.
First we memorize the log₁₀ of the main factors:
2→ .3 , 3→ .48 , 5→ .7 , 7→ .845 , 11→ 1.04 , 13→ 1.115 , 17→ 1.23 , 19→ 1.28
...a good exercise that may allow us, potentially, to perform mental computations through simpler operations within a 1% error margin.And we could, in the example, perform (.78+1)+(.9+.48)+.9+(1.04-1) = 4.1 . Good. But now, one still needs a calculator to perform 10^4.1 ... :) This does not happen when we mentally multiply - we have ways to remain within acceptable approximation and still not need "crutches" printed in paper or silicon.
Though of course, again: better with than without resources. For what I am concerned, that handful of factors will be memorized with priority not inferior to the date of the battle of Bosworth.
But one should use more precise values to make it work.
10^0.08 = 1.202 and 10^0.115 = 1.303 : 20/35 in the distance from 0.08 and 0.115, where you have 0.1, you likewise proceed with the same proportion on the results and obtain 1.202+0.057 = 1.259
Thing is, practice is required, and experience in managing precision confidently in this realm.
Edit:
In fact, the linear interpolation can work surprisingly well, but the space in linear vs logarithmic remains warped, and it is easy to err without realizing.
I just threw those numbers in a calculator to verify it:
l12.d = Log10(1.2) ==> 0.0791812460476248175522684
l13.d = Log10(1.3) ==> 0.1139433523068367759556452
dst.d = (0.1-l12)/(l13-l12)
lrs.d = 1.2 + 0.1*dst ==> 1.2598892190166359750236325
Log10(lrs) ==> 0.1003323596533426953492096
Pow(10,0.1) ==> 1.2589254117941672816982646You may be aware that the linear interpolation error for a regular function scales as the square of the interval size, so if the table you're interpolating from has 10× as many entries, you get 100× less absolute error.
look, rightly, you do not need to memorize them tables by recitation¹: but consistently, then, you should (as a learner) actually perform all of them multiplications for as many times as needed to make you know them results as if you memorized them even in a less "experienceful" manner.
¹Which is not at all necessary, by the way - on the opposite. When you go, "5x6=30", you are not supposed to keep that in a mental veneer while you think of some random else: you are supposed to keep that thought rooted to its foundations made of structures built on (six and five) sets of five and six, and internally see it as evident. You can recite with presence and awareness.
Maybe it might not work well for others, though you'd expect there's some learning method better than how they did it in my day, on both effectiveness and fun. (I forget exactly how we were supposed to do it.)
I did the same, up to 20. I've used it so much since then that even though it seemed silly at the time of learning, it has proved that my total time saved is far greater than the time spend memorizing it. It helps that I went to STEM for university and in general are interested in it. But I'd say over a lifetime average Joe/Jane that handle a normal persons finances will at some point have saved more time than spend learning it.