0D value = 1D binary

1D value = 2D binary

2D value = 3D binary

(A,B) = (a,b)

That the right way to think

Scalar product A x B

= 0D value x 0D value

= convolution( 1D binary , 1D binary)

= ifft(fft(a).*fft(b))

Convolution product on vector A x B

= 1D value x 1D value

= convolution( 2D binary , 2D binary)

= ifft2(fft2(a).*fft2(b))

Matrix product A x B

= 2D value x 2D value

= convolution( 3D binary , 3D binary)

= ifft3(fft3(a).*fft3(b))

…But…

Division A / B

= DE-convolution !! (since why so hard)

= ifft(fft(a)./fft(b)) can’t

= inverse circulant binary matrix –> not binary !

12 x 34

[1*3],[1*3 + 2*4] , [2*4]

3,11,8

3, [substract 10 and add remainder to 3] , [8]

4,0,8

See details here

https://ccrma.stanford.edu/~jos/mdft/Multiplication_Decimal_Numbers.html

(Over here in America)

]]>