Improve my memory for mental math


I am a scientist, always been interested in math and science, but I have never been so interested in memorizing things just for fun, so not very experienced in the art of memory (yet).

I would like to improve my mental calculation skills. The goal here is not to become a human computer, cheapest smartphone easily beats faster human calculators in terms of speed, but rather to help me in my personal and professional life.

I started some training in basic arithmetic, now it is only a matter of practice to become better and faster. However, to go further and to be faster, I would like to memorize more facts. For example, division, square roots or more complex operations (logarithms, trigonometry, …) are quite heavy on brain, so memorizing useful facts would help (for example logarithms of prime numbers).

I am looking for the best strategy to do so.

Not very experienced in the art of memory yet, but my basic analysis is that I could use the following options :

  1. Use synesthesia à I do not seem to have any kind of synesthesia that could help me here. Maybe I am wrong and maybe I can discover something hidden in my brain that could help, I just do not know how to do this.
  2. Use a mnemonic system, eg. major system or POA, to remember numbers (results) à I tried major system recently to remember the first digits of pi.
  3. Use a memory palace or other mind construction à I do not have any experience in this, I do not know if that would be well suited to memorize operation results. I do not seem to be especially good in space orientation so not sure this would work on me.

The goal here would be memorize tables as attached.
If you give me N (first column), I would like to be able to give any corresponding result quickly (for example, square root of N, column 5). I would also like to be able to easily insert columns (operations) and rows (numbers) without breaking my mind constructions.

My initial idea was to use major system, one story per line or one story per column. In both cases I will have to find a way to quickly reach the targetted cell, which I do not find easy to do with major system (if you ask me the 100 first digits of pi I can give them to you, if you ask me digit 57 this is much more difficult with this system). Moreover, I do not find major system to be very fast (but I probably need more practice!).

Any experience to share? How would you do such a thing? Interested in your thoughts.



I would like to comment on your attached table.
However; did you not attach it?
I don’t see it…

In general I suggest starting without memory techniques and just do the mental calculation.

I have written about this extensively here, on this forum. Do a search if you’re interested.
I have written about all subjects, from square roots, to multiplication and division,etc.

It’s a great skill to have.


Thank-you for your answer, you are right attachment was missing, my bad, here it is.

I agree with you, until now I always tried to store a minimum of facts in memory and to focus on methods to derive my results from a minimum of memorized facts. But I know that would make me faster, and I thought : “well, some people store thousands of digits of pi with mnemonic system, why not storing some usefuls facts that could help me improve my speed instead”. Just exploring here, I do not know if I will go further this way.
I have read some of your posts about it, quite interesting thanks.
Just to be clear : I do not plan to store the full table as it is. For example, once you know sqrt(2) you definitely do not want to store sqrt(8). But knowing sqrt(2), logarithm of first prime numbers or that 1/7=0.142857 … definitely saves me some time.


That’s a great start, @fecmgrcavlb . Here we have the training page of pi. You can react to random n-th digit to pi, pretty handy. Guess Digits of Pi | Art of Memory
I am pleased to answer one of your question, you said it’s difficult to fetch certain n-th memory item in your mp, right?
This requires a specific skill, called “paging”, which means you have to set-up page markers, say every 10 loci (4 digits stored per locus), you mark it with a specific code, say a big red pin :pushpin: in somewhere of your palace.
When doing the test, eg 873-th digit of pi, a quick math is carried out = 873 / 40 = 21 ~ +33 or 22 ~ -7.
You then :running_woman: running through to markers 22 back steps 7, get the answer “3”.
This method is common used in electronic machines, because of energy-saving between memory switch.
One :point_up: thing you have to consider thoughtfully, is the paging size if it’s too big fetching could be difficult; paging a very small amount of data, is not better than walking through all the loci once.

Another rule of thumb, for a small data set below a hundred of items, link method is the best method in terms of 3R, records, recall and revise. All you have to is to link everything with a your peg list accordingly.

I hope those info can be useful to you. :wink:


You’re correct that a base of mathematical facts is essential for mental calculation—and the more you know the more different methods are available to you.

Some comments in terms of what I’ve found most useful for myself and people I’m coaching when they are at an advanced level:

  • Square numbers are useful for lots of reasons (including square roots, cube roots, multiplications and factorizations) so I’d suggest learning these all the way to 99x99.
  • Cube numbers are less useful unless you want to get super fast at cube roots specifically.
  • ln(N) is not worth learning. However for advanced root and power calculations (e.g. calculating 14^14 or the fifth root of 45) it’s useful to learn (base 10) logarithm values of the smallest prime numbers. I learned 2, 3, 7, 1.1, 1.3, 1.7, 1.02 and 1.01, each to 5 decimal places).
  • Do not use a memory palace technique for this as you need immediate retrieval rather than traversing any memory structures. You can use flashcard apps like Anki, and for my uses I’ve built a tool for training these directly.
  • Learning square numbers is more effective than learning square roots, because with the square numbers you can easily calculate the square roots. E.g. for sqrt(13) I know that 36^2 = 1296, so sqrt(13) will be just over 3.6. With a simple method it takes a couple of seconds to estimate this then as 36 + 2/36 = 36.0555… You could get this faster if you had the square roots memorized, but it’s not worth it as they are seldom useful for anything else.
  • Also learn the prime numbers up to 100.
  • Also learn the falues of other fractions, like 6/7. I find it most helpful to learn these as percentages.

Много изчерпателно написано!

Thank-you Kinma, Antelex and Daniel_360 for your help!

@Antelex, your suggestion about peg list is interesting, I will give it a try and compare results with journey methods (memory journey coupled with major system in my case). I suppose I can get faster results.

@Daniel_360, thank-you for all of the advices, quite instructive. I also visited your website, congratulations for your work this is great! A few questions about your answer :

  • I was thinking of learning cubes because they are quite common in math/physics (volumes, …) as well as cube roots. But you are right if I can derive them fast enough maybe I should not learn them. However 2 digits squares are pretty easy to compute so I was not planning to learn them initially. I memorized 1-20 squares, so 30-70 (close to 50) and 80-99 (close to 100) are pretty easy to derive, I only need a little bit more time to get squares of 21-29 and 71-79 but this is an easy task. But maybe you are right maybe I should memorize them to be more efficient, I will see while training.
  • I was thinking of ln(N) (natural logarithm) instead of log(N) (decimal logarithm) because this is much more common in maths & physics and basically everything you can do with one can be done with the other one (only a multiplicative constant between both).
  • You remark about immediate retrieval and flashcard app is very interesting. I did not think someone would recommand using a flashcard app here, as I understood the aim for all of this was to avoid “bare” training and to develop association methods to store information. I agree that journey methods seem to be slow (probably because I miss some training!), peg lists seem to be a little bit faster, as suggested by Antelex. Arthur Benjamin uses major system quite efficiently while calculating, this is why I started learning it. So basically you learned all of the math facts you mentionned (squares, log of first prime numbers, …) without any association method? Interested in your thoughts about this.
  • You seem to be very well trained, just to get an idea of what I could pretend if I succeed in my training, can I get an idea on how much time you need to perform the following tasks on average : 3 digit squares, 3x3 multiplication, square root of 3 digit numbers (2-3 decimal places). I just do not know people very good at mental math so I just want to get an idea.

Thank-you for your great help!

Аз не съм треньор,но моето дете се занимава активно,чрез споменатите от Даниел Тиим методи.Мога да кажа,че са ефективни.10неточни корена от 6 цифрено число решава за около 3 мин.Точен 3 корен от 15 цифр.число 10 сек.

I am writing a long post about how to mentally calculate the natural logarithm.
Stay tuned…


I’ll try to address all of your ideas/questions in turn :slight_smile:

  • Cubes can be helpful if you are using them for Physics equations, sure. I’d still say that squares are more important, since they appear more regularly, and can be used for calculating cubes and cube roots. It’s useful to have them memorized if possible, since if you’re calculating e.g. a length using Pythagoras’ Theorem, you don’t want to be spending long on calculating the relevant squares as there’s a risk of forgetting numbers from other parts of the calculation.
  • ln(N) might be more useful directly, but it is easier to calculate log(N) than ln(N) since you can use factors of 10 and 5 directly. For example compare finding ln(500) and log(500). ln(500) = 3*ln(5) + 2*ln(2) but log(500) = 3 - log(2). You’re correct that you’d just have to multiply by about 2.3 to get to the ln(N) values afterwards. However if you know you’ll be doing mostly ln(N) then perhaps ln(N) is easier after all!
  • Yep, I learned everything directly by association. When you’re learning values for other computation (e.g. mental calculation, language vocab, etc.) you don’t want to be using memory palaces at all for retrieval, as at that level it’s cumbersome and slow. Memory palaces are great for fast memorization, such as when storing information when someone is talking at you, or for memory competitions, or other situations when the time pressure is on the memorization end. When the pressure is on the recall end, you can use memory palaces etc. if you like, but I’d always recommend that your goal is to have direct association. For example, I can calculate the day of the week for any calendar date in about 1 second (official record is 59 in one minute). To do this, I have a code for each of the 100 years in a century, a code for each month and one for each century. I have to retrieve all of these values, and typically perform 3 additions and 0-2 modulo calculations on top. If I had to use a memory palace for any of this it would take much much longer. However, for your situation there is less time pressure on the retrieval end so a memory palace might still be workable until you have the relevant data memorized directly.
  • For 3x3 multiplications, with the numbers written down, about 10 seconds. 3x3 squares are the same. Square root of any number to 4 significant digits, also about 10 seconds. Square root of a 6-digit number to 8 significant figures: about 40-60 seconds.

Hope that helps :slight_smile:


Alright Kinma, great news, looking forward to read this :slightly_smiling_face:

Thanks a lot Daniel for all of the details, yes this helps a lot :slightly_smiling_face: .
Yes your remarks about cubes and ln/log make sense, I will try different approaches and see what fits best in my case, but I understand your point. Good point about the fact that log are much easier to compute for human being since they are related to decimal system, I did not really think of this but you are definitely right.
Your remark on direct association is very interesting. Actually, in my case, I find memory palaces slow for both memorization and recall, but probably because I am not trained enough and number associations are not instant yet. But what I was the most afraid of with direct association is that this might be more volatile. For example, if I reach a good level after a few years of training, and I stop training for a few months (life events) then I will have to start again. However, with mnemonic techniques, it is much harder to forget. But much slower to recall.
One last question about the figures you gave : if numbers are not written down but said out loud (real life scenario : speaking of a problem with a colleague, dividing the bill at the restaurant, …), do you find it much harder to perform the same tasks? If yes, an idea on how much (twice as long? …)? I run a lot, and what I try to do while running is squaring 3 digit numbers in my head, I find it much more difficult than when numbers are written down (also probably because I need to focus a little bit on the running part :grin:).