Trachtenberg system
The Trachtenberg system is a system of rapid mental calculation. The system consists of a number of readily memorized operations that allow one to perform arithmetic computations very quickly. It was developed by the Russian Jewish engineer Jakow Trachtenberg in order to keep his mind occupied while being in a Nazi concentration camp.
The rest of this article presents some methods devised by Trachtenberg. Some of the algorithms Trachtenberg developed are ones for general multiplication, division and addition. Also, the Trachtenberg system includes some specialised methods for multiplying small numbers between 5 and 13 (but shown here is 212).
The section on addition demonstrates an effective method of checking calculations that can also be applied to multiplication.
General multiplication, Trachtenberg math theory
The method for general multiplication is a method to achieve multiplications with low space complexity, i.e. as few temporary results as possible to be kept in memory. This is achieved by noting that the final digit is completely determined by multiplying the last digit of the multiplicands. This is held as a temporary result. To find the next to last digit, we need everything that influences this digit: The temporary result, the last digit of times the nexttolast digit of , as well as the nexttolast digit of times the last digit of . This calculation is performed, and we have a temporary result that is correct in the final two digits.
In general, for each position in the final result, we sum for all :
People can learn this algorithm and thus multiply four digit numbers in their head – writing down only the final result. They would write it out starting with the rightmost digit and finishing with the leftmost.
Trachtenberg defined this algorithm with a kind of pairwise multiplication where two digits are multiplied by one digit, essentially only keeping the middle digit of the result. By performing the above algorithm with this pairwise multiplication, even fewer temporary results need to be held.
Example:
To find the first (rightmost) digit of the answer, start at the first digit of the multiplicand:
 The units digit of
 The first digit of the answer is . The tenth digit is ignored.
To find the second digit of the answer, start at the second digit of the multiplicand:
 The units digit of plus the tens digit of plus
 The units digit of .
 .
 The second digit of the answer is and carry to the third digit.
To find the third digit of the answer, start at the third digit of the multiplicand:
 The units digit of plus the tens digit of plus
 The units digit of plus the tens digit of plus
 The units digit of
 The third digit of the answer is and carry to the next digit.
To find the fourth digit of the answer, start at the fourth digit of the multiplicand:
 The units digit of plus the tens digit of plus
 The units digit of plus the tens digit of plus
 The units digit of plus the tens digit of .
 carried from the third digit.
 The fourth digit of the answer is and carry to the next digit.
Continue with the same method to obtain the remaining digits.
Trachtenberg called this the 2 Finger Method. The calculations for finding the fourth digit from the example above are illustrated at right. The arrow from the nine will always point to the digit of the multiplicand directly above the digit of the answer you wish to find, with the other arrows each pointing one digit to the right. Each arrow head points to a UT Pair, or Product Pair. The vertical arrow points to the product where we will get the Units digit, and the sloping arrow points to the product where we will get the Tens digits of the Product Pair. If an arrow points to a space with no digit there is no calculation for that arrow. As you solve for each digit you will move each of the arrows over the multiplicand one digit to the left until all of the arrows point to prefixed zeros.
An example of the algorithm multiplying numbers represented as variable length ASCII strings is shown below in C++.
class Trachtenberg
{
public:
void multiply(const char* a, const char* b)
{
size_t large = strlen(a);
size_t small = strlen(b);
if (large == 0  small == 0) {
answer = solution = new char[2]{ '0', '\0' };
return;
}
if (large < small) {
std::swap(a, b);
std::swap(large, small);
}
solution = new char[large + small];
answer = solution + large + small  1;
*answer = '\0'; // zero terminate
size_t digits = 0;
const char* starta = a + large;
const char* startb = b + small;
intermediate = 0;
while (digits != small) {
multiplystep(++digits, starta, startb);
}
for (size_t d = digits; d != large; ++d) {
multiplystep(digits, starta, startb);
}
while (digits != 1) {
multiplystep(digits, starta, startb);
}
while (intermediate) {
*answer = '0' + intermediate % 10;
intermediate /= 10;
}
}
const char* result() const { return answer; }
private:
size_t intermediate;
char* solution = nullptr;
char* answer = nullptr;
void multiplystep(size_t digits, const char* starta, const char* startb)
{
const char* digita = starta;
const char* digitb = startb;
for (size_t n = 0; n != digits; ++n) {
digitb;
intermediate += (*digita  '0') * (*digitb  '0'); // convert from ASCII string
++digita;
}
*answer = '0' + intermediate % 10; // convert back to string
intermediate /= 10;
}
};
Division in the Trachtenberg System is done much the same as in multiplication but with subtraction instead of addition. Splitting the dividend into smaller Partial Dividends, then dividing this Partial Dividend by only the leftmost digit of the divisor will provide the answer one digit at a time. As you solve each digit of the answer you then subtract Product Pairs (UT pairs) and also NT pairs (NumberTens) from the Partial Dividend to find the next Partial Dividend. The Product Pairs are found between the digits of the answer so far and the divisor. If a subtraction results in a negative number you have to back up one digit and reduce that digit of the answer by one. With enough practice this method can be done in your head.
General addition
A method of adding columns of numbers and accurately checking the result without repeating the first operation. An intermediate sum, in the form of two rows of digits, is produced. The answer is obtained by taking the sum of the intermediate results with an Lshaped algorithm. As a final step, the checking method that is advocated both removes the risk of repeating any original errors and identifies the precise column in which an error occurs all at once. It is based on check (or digit) sums, such as the ninesremainder method.
For the procedure to be effective, the different operations used in each stage must be kept distinct, otherwise there is a risk of interference.
Other multiplication algorithms
When performing any of these multiplication algorithms the following "steps" should be applied.
The answer must be found one digit at a time starting at the least significant digit and moving left. The last calculation is on the leading zero of the multiplicand.
Each digit has a neighbor, i.e., the digit on its right. The rightmost digit's neighbor is the trailing zero.
The 'halve' operation has a particular meaning to the Trachtenberg system. It is intended to mean "half the digit, rounded down" but for speed reasons people following the Trachtenberg system are encouraged to make this halving process instantaneous. So instead of thinking "half of seven is three and a half, so three" it's suggested that one thinks "seven, three". This speeds up calculation considerably. In this same way the tables for subtracting digits from 10 or 9 are to be memorized.
And whenever the rule calls for adding half of the neighbor, always add 5 if the current digit is odd. This makes up for dropping 0.5 in the next digit's calculation.
Multiplying by 2
Rule: Multiply each digit by 2 (with carrying).
Example: 8624 x 2
Working from left to right:
 8+8=16,
 6+6=12 (carry the 1),
 2+2=4
 4+4=8;
 8624 x 2 = 17248
Example:76892 x 2
Working from left to right:
 7+7=14
 6+6=12
 8+8=16
 9+9=18
 2+2=4;
 76892 x 2 =153784
Multiplying by 3
Rule:
 Subtract the rightmost digit from 10.
 Subtract the remaining digits from 9.
 Double the result.
 Add half of the neighbor to the right, plus 5 if the digit is odd.
 For the leading zero, subtract 2 from half of the neighbor.
Example: 492 × 3 = 1476
Working from right to left:
 (10 − 2) × 2 + Half of 0 (0) = 16. Write 6, carry 1.
 (9 − 9) × 2 + Half of 2 (1) + 5 (since 9 is odd) + 1 (carried) = 7. Write 7.
 (9 − 4) × 2 + Half of 9 (4) = 14. Write 4, carry 1.
 Half of 4 (2) − 2 + 1 (carried) = 1. Write 1.
Multiplying by 4
Rule:
 Subtract the rightmost digit from 10.
 Subtract the remaining digits from 9.
 Add half of the neighbor, plus 5 if the digit is odd.
 For the leading 0, subtract 1 from half of the neighbor.
Example: 346×4 = 1384
Working from right to left:
 (10 − 6) + Half of 0 (0) = 4. Write 4.
 (9 − 4) + Half of 6 (3) = 8. Write 8.
 (9 − 3) + Half of 4 (2) + 5 (since 3 is odd) = 13. Write 3, carry 1.
 Half of 3 (1) − 1 + 1 (carried) = 1. Write 1.
Multiplying by 5
 Rule: Take half of the neighbor, then, if the current digit is odd, add 5.
Example: 42×5=210
 Half of 2's neighbor, the trailing zero, is 0.
 Half of 4's neighbor is 1.
 Half of the leading zero's neighbor is 2.
 43×5 = 215
 Half of 3's neighbor is 0, plus 5 because 3 is odd, is 5.
 Half of 4's neighbor is 1.
 Half of the leading zero's neighbor is 2.
 93×5=465
 Half of 3's neighbor is 0, plus 5 because 3 is odd, is 5.
 Half of 9's neighbor is 1, plus 5 because 9 is odd, is 6.
 Half of the leading zero's neighbor is 4.
Multiplying by 6
Rule:
 Add half of the neighbor to each digit. If the current digit is odd, add 5.
Example: 357 × 6 = 2142
Working right to left:
 7 has no neighbor, add 5 (since 7 is odd) = 12. Write 2, carry the 1.
 5 + half of 7 (3) + 5 (since the starting digit 5 is odd) + 1 (carried) = 14. Write 4, carry the 1.
 3 + half of 5 (2) + 5 (since 3 is odd) + 1 (carried) = 11. Write 1, carry 1.
 0 + half of 3 (1) + 1 (carried) = 2. Write 2.
Multiplying by 7
Rule:
 Double each digit.
 Add half of its neighbor (dropping decimals, if any).
 If the basedigit is odd, add 5.
Example: 523 × 7 = 3,661
Working from right to left:
 3×2 + 0 + 5 = 11, 1.
 2×2 + 1 + 1 = 6.
 5×2 + 1 + 5 = 16, 6.
 0×2 + 2 + 1 = 3.
Multiplying by 8
Rule:
 Subtract rightmost digit from 10.
 Subtract the remaining digits from 9.
 Double the result.
 Add the neighbor.
 For the leading zero, subtract 2 from the neighbor.
Example: 456 × 8 = 3648
Working from right to left:
 (10 − 6) × 2 + 0 = 8. Write 8.
 (9 − 5) × 2 + 6 = 14, Write 4, carry 1.
 (9 − 4) × 2 + 5 + 1 (carried) = 16. Write 6, carry 1.
 4 − 2 + 1 (carried) = 3. Write 3.
Multiplying by 9
Rules:
 Subtract the rightmost digit from 10.
 Subtract the remaining digits from 9.
 Add the neighbor to the sum
 For the leading zero, subtract 1 from the neighbor.
For rules 9, 8, 4, and 3 only the first digit is subtracted from 10. After that each digit is subtracted from nine instead.
Example: 2,130 × 9 = 19,170
Working from right to left:
 (10 − 0) + 0 = 10. Write 0, carry 1.
 (9 − 3) + 0 + 1 (carried) = 7. Write 7.
 (9 − 1) + 3 = 11. Write 1, carry 1.
 (9 − 2) + 1 + 1 (carried) = 9. Write 9.
 2 − 1 = 1. Write 1.
Multiplying by 11
Rule:
 Add the digit to its neighbor. (By "neighbor" we mean the digit on the right.)
Example:
 (0 + 3) (3 + 4) (4 + 2) (2 + 5) (5 + 0)
 3 7 6 7 5
To illustrate:
 11=10+1
Thus,
Multiplying by 12
Rule: to multiply by
12:
Starting from the rightmost digit,
double each digit and add the neighbor. (The "neighbor" is the digit on the right.)
If the answer is greater than a single digit, simply carry over the extra digit (which will be a 1 or 2) to the next operation. The remaining digit is one digit of the final result.
Example:
Determine neighbors in the multiplicand 0316:
 digit 6 has no right neighbor
 digit 1 has neighbor 6
 digit 3 has neighbor 1
 digit 0 (the prefixed zero) has neighbor 3
Publications
 Rushan Ziatdinov, Sajid Musa. Rapid mental computation system as a tool for algorithmic thinking of elementary school students development. European Researcher 25(7): 11051110, 2012 [1].
 The Trachtenberg Speed System of Basic Mathematics by Jakow Trachtenberg, A. Cutler (Translator), R. McShane (Translator), was published by Doubleday and Company, Inc. Garden City, New York in 1960.^{ [1]}
The book contains specific algebraic explanations for each of the above operations.
Most of the information in this article is from the original book.
The algorithms/operations for multiplication, etc., can be expressed in other more compact ways that the book does not specify, despite the chapter on algebraic description.^{ [a]}
In popular culture
The 2017 American film Gifted revolves around a child prodigy who at the age of 7 impresses her teacher by doing calculations in her head using the Trachtenberg system.^{ [2]}
Other systems
There are many other methods of calculation in mental mathematics. The list below shows a few other methods of calculating, though they may not be entirely mental.
 Bharati Krishna Tirtha's book "Vedic Mathematics"
 Mental abacus – As students become used to manipulating the abacus with their fingers, they are typically asked to do calculation by visualizing abacus in their head. Almost all proficient abacus users are adept at doing arithmetic mentally.^{[ citation needed]}
 Chisanbop
Software
This section's use of
external links may not follow Wikipedia's policies or guidelines. (May 2016) 
Following are known programs and sources available as teaching tools
Web
iPhone
Android
Notes

^ All of this information is from an original book published and printed in 1960. The original book has seven full Chapters and is 270 pages long.
The chapter titles are as follows. The numerous subcategories in each chapter are not listed.
The Trachtenberg speed system of basic mathematics
 Chapter 1 Tables or no tables
 Chapter 2 Rapid multiplication by the direct method
 Chapter 3 Speed multiplication"twofinger" method
 Chapter 4 Addition and the right answer
 Chapter 5 Division – Speed and accuracy
 Chapter 6 Squares and square roots
 Chapter 7 Algebraic description of the method
 "A revolutionary new method for highspeed multiplication, division, addition, subtraction and square root." (1960)
 "The best selling method for highspeed multiplication, division, addition, subtraction and square root – without a calculator." (Reprinted 2009)
 Multiplication is done without multiplication tables
 "Can you multiply 5132437201 times 4522736502785 in seventy seconds?" "One young boy (grammar schoolno calculator) didsuccessfullyby using The Trachtenberg Speed System of Basic Mathematics"
 Jakow Trachtenberg (its founder) escaped from Hitler's Germany from an active institution toward the close of WWII. Professor Trachtenberg fled to Germany when the czarist regime was overthrown in his homeland, Russia, and lived there peacefully until his midthirties when his antiHitler attitudes forced him to flee again. He was a fugitive and when captured spent a total of seven years in various concentration camps. It was during these years that Professor Trachtenberg devised the system of speed mathematics. Most of his work was done without pen or paper. Therefore most of the techniques can be performed mentally.
References
 ^ Trachtenberg, Jakow (1960). Cutler, Ann (ed.). The Trachtenberg Speed System of Basic Mathematics]. Translated by A. Cutler, R. McShane. Doubleday and Company, Inc. p. 270. 1962 edition: ISBN 9780285629165.
 ^ @GiftedtheMovie (9 March 2017). "Hobbies include playing with legos and learning the Trachtenberg system 👷♀️📚✏️ @McKennaGraceful is Mary // #GiftedMovie" (Tweet) – via Twitter.
Further reading
 Trachtenberg, J. (1960). The Trachtenberg Speed System of Basic Mathematics. Doubleday and Company, Inc., Garden City, NY, USA.
 Катлер Э., МакШейн Р.Система быстрого счёта по Трахтенбергу, 1967 (in Russian).
 Rushan Ziatdinov, Sajid Musa. " Rapid Mental Computation System as a Tool for Algorithmic Thinking of Elementary School Students Development", European Researcher 25(7): 11051110, 2012.
External links
 Chandrashekhar, Kiran. "[Learn All about] Mathematical Shortcuts", SapnaEdu.in at the Wayback Machine (archived 30 May 2018)
 Gifted (2017 film), This film is more about the Trachtenberg system, with Mckenna Grace, a young artist who has learned this technique, playing the lead role.