In have a matrix function $A$ (size 3x3) and a vector function $v$ (size 3x1) that I calculate with a matrix-vector multiplication $B(x)e(x)$, $B(x)$ a 3x3 matrix function and $e(x)$ a 3x1 vector function. Applying convolution $A*v$ involves many operatons:

$$ (A(x)*\underbrace{(B(x)e(x))}_{ = v(x)})_{ij} = \begin{bmatrix}A_{11}(x) &A_{12}(x)&A_{13}(x)\\A_{21}(x)&A_{22}(x)&A_{23}(x)\\A_{31}(x)&A_{32}(x)&A_{33}(x)\end{bmatrix} * \begin{bmatrix}v_{11}(x)\\v_{21}(x)\\v_{31}(x)\end{bmatrix}\\ = \sum_{m=0}^{2}\sum_{n=0}^{2} A_{mn} v_{i-m, j-n} $$

For example for one element we have to calculate

$$ (A(x)*v(x))_{32} = A_{00}v_{33} + A_{01}v_{32} + A_{02}v_{31}\\ + A_{10}v_{23} + A_{11}v_{22} + A_{12}v_{21} \\+ A_{20}v_{13} + A_{21}v_{12} + A_{22}v_{11} $$

I wonder whether I can apply the convolution theorem to this problem. If yes does the convolution between A and v become a matrix vector multiplication in the fourier domain: $$ DFT(A(x)*v(x)) = DFT(A(x))\cdot DFT(v(x))? $$ I could not find anything to this after searching in books and on internet. Also another question, I read that the convolution theorem becomes adventageous in 1D if you have sequences with a size bigger than 100. For my problem it is commented that this problem is too small. What if I have discrete set for my variable x, lets say consisting of more than 100 elements, and I have to do this matrix calculation for more than 100 x. Would there be a computational cost difference with and without applying convolution theorem?

P.S.: I know that the mathematical formulations are not very accurate but I wanted to keep it as simple as possible. I hope you readers understand.

  • $\begingroup$ There will be no benefit, the sizes are much too small. $\endgroup$ – Yves Daoust Sep 3 '18 at 21:43
  • $\begingroup$ @YvesDaoust I edited my question. What is your opinion on the edited question? $\endgroup$ – eureka Sep 4 '18 at 8:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.