You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a brief aside, we will touch on a rather interesting side topic: the relation between integer multiplication and convolutions
As an example, let us consider the following multiplication: $$123 \times 456 = 56088$$.
In this case, we might line up the numbers, like so:
Here, each column represents another power of 10, such that in the number 123, there is 1 100, 2 10s, and 3 1s.
So let us use a similar notation to perform the convolution, by reversing the second set of numbers and moving it to the right, performing an element-wise multiplication at each step:
Now all that is left is to perform the carrying operation by moving any number in the 10s digit to its left-bound neighbor.
For example, the numbers $$[4, 18]=[4+1, 8]=[5,8]$$ or 58.
For these numbers,
Which give us $$123\times456=56088$$, the correct answer for integer multiplication.
I am not suggesting that we teach elementary school students to learn convolutions, but I do feel this is an interesting fact that most people do not know: integer multiplication can be performed with a convolution.
This will be discussed in further detail when we talk about the Schonhage-Strassen algorithm, which uses this fact to perform multiplications for incredibly large integers.