How to simplify repeated convolution and Hadamard multiplication Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Approximate a convolution as a sum of separable convolutionsRepeated convolution of probability distributionsLaplace and unit step- multiplication vs convolutionHadamard product and conventional productRepeated Discrete ConvolutionFrobenius Norm of Hadamard Product and TraceConditions for Hadamard to distribute with matrix multiplicationDuality of the convolution theorem in Fourier DomainDiagonalization and the Hadamard productHadamard product and being unitary

Why does this iterative way of solving of equation work?

Are my PIs rude or am I just being too sensitive?

What items from the Roman-age tech-level could be used to deter all creatures from entering a small area?

Why is "Captain Marvel" translated as male in Portugal?

Limit for e and 1/e

Geometric mean and geometric standard deviation

Two different pronunciation of "понял"

How does modal jazz use chord progressions?

Stop battery usage [Ubuntu 18]

Is above average number of years spent on PhD considered a red flag in future academia or industry positions?

I'm thinking of a number

How to market an anarchic city as a tourism spot to people living in civilized areas?

How are presidential pardons supposed to be used?

Passing functions in C++

How to say that you spent the night with someone, you were only sleeping and nothing else?

Autumning in love

Who can trigger ship-wide alerts in Star Trek?

I'm having difficulty getting my players to do stuff in a sandbox campaign

What computer would be fastest for Mathematica Home Edition?

Notation for two qubit composite product state

Writing Thesis: Copying from published papers

Estimate capacitor parameters

Can a zero nonce be safely used with AES-GCM if the key is random and never used again?

How is simplicity better than precision and clarity in prose?



How to simplify repeated convolution and Hadamard multiplication



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Approximate a convolution as a sum of separable convolutionsRepeated convolution of probability distributionsLaplace and unit step- multiplication vs convolutionHadamard product and conventional productRepeated Discrete ConvolutionFrobenius Norm of Hadamard Product and TraceConditions for Hadamard to distribute with matrix multiplicationDuality of the convolution theorem in Fourier DomainDiagonalization and the Hadamard productHadamard product and being unitary










1












$begingroup$


I’ve determined that the following expression gives me the correct answer in a programming challenge:



$$ (A circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) $$



… for a certain number of $(circledast M times H)$ iterations, where A, M, and H are matrices (M is symmetric, and H is binary (each entry is either zero or one)), $circledast$ is convolution, and $times$ is Hadamard (pointwise) multiplication.



However this approach is slightly too slow to be an acceptable solution. If I could only simplify the above expression to something like:



$$A circledast ( M circledast M circledast M ... circledast M ) $$



then I would be able to speed up calculating the M-convolutions by grouping it into calculating M2=(M*M), M4=(M2*M2), etc, finishing with $(A circledast M300)$ and the runtime would be well within acceptable bounds.



However I cannot figure out how to include the pointwise multiplication in any simplified equation resembling the second form. $(A times H) circledast (M times H)$ doesn't seem to give an equivalent expression, for example, nor does any of my attempts at splitting up A into (A1-A2) corresponding to the binary entries of H and subtracting the results back together at the end.



Is there a way to use properties of Hadamard multiplication and/or convolution to achieve this simplification?










share|cite|improve this question









$endgroup$
















    1












    $begingroup$


    I’ve determined that the following expression gives me the correct answer in a programming challenge:



    $$ (A circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) $$



    … for a certain number of $(circledast M times H)$ iterations, where A, M, and H are matrices (M is symmetric, and H is binary (each entry is either zero or one)), $circledast$ is convolution, and $times$ is Hadamard (pointwise) multiplication.



    However this approach is slightly too slow to be an acceptable solution. If I could only simplify the above expression to something like:



    $$A circledast ( M circledast M circledast M ... circledast M ) $$



    then I would be able to speed up calculating the M-convolutions by grouping it into calculating M2=(M*M), M4=(M2*M2), etc, finishing with $(A circledast M300)$ and the runtime would be well within acceptable bounds.



    However I cannot figure out how to include the pointwise multiplication in any simplified equation resembling the second form. $(A times H) circledast (M times H)$ doesn't seem to give an equivalent expression, for example, nor does any of my attempts at splitting up A into (A1-A2) corresponding to the binary entries of H and subtracting the results back together at the end.



    Is there a way to use properties of Hadamard multiplication and/or convolution to achieve this simplification?










    share|cite|improve this question









    $endgroup$














      1












      1








      1





      $begingroup$


      I’ve determined that the following expression gives me the correct answer in a programming challenge:



      $$ (A circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) $$



      … for a certain number of $(circledast M times H)$ iterations, where A, M, and H are matrices (M is symmetric, and H is binary (each entry is either zero or one)), $circledast$ is convolution, and $times$ is Hadamard (pointwise) multiplication.



      However this approach is slightly too slow to be an acceptable solution. If I could only simplify the above expression to something like:



      $$A circledast ( M circledast M circledast M ... circledast M ) $$



      then I would be able to speed up calculating the M-convolutions by grouping it into calculating M2=(M*M), M4=(M2*M2), etc, finishing with $(A circledast M300)$ and the runtime would be well within acceptable bounds.



      However I cannot figure out how to include the pointwise multiplication in any simplified equation resembling the second form. $(A times H) circledast (M times H)$ doesn't seem to give an equivalent expression, for example, nor does any of my attempts at splitting up A into (A1-A2) corresponding to the binary entries of H and subtracting the results back together at the end.



      Is there a way to use properties of Hadamard multiplication and/or convolution to achieve this simplification?










      share|cite|improve this question









      $endgroup$




      I’ve determined that the following expression gives me the correct answer in a programming challenge:



      $$ (A circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) circledast M) times H) $$



      … for a certain number of $(circledast M times H)$ iterations, where A, M, and H are matrices (M is symmetric, and H is binary (each entry is either zero or one)), $circledast$ is convolution, and $times$ is Hadamard (pointwise) multiplication.



      However this approach is slightly too slow to be an acceptable solution. If I could only simplify the above expression to something like:



      $$A circledast ( M circledast M circledast M ... circledast M ) $$



      then I would be able to speed up calculating the M-convolutions by grouping it into calculating M2=(M*M), M4=(M2*M2), etc, finishing with $(A circledast M300)$ and the runtime would be well within acceptable bounds.



      However I cannot figure out how to include the pointwise multiplication in any simplified equation resembling the second form. $(A times H) circledast (M times H)$ doesn't seem to give an equivalent expression, for example, nor does any of my attempts at splitting up A into (A1-A2) corresponding to the binary entries of H and subtracting the results back together at the end.



      Is there a way to use properties of Hadamard multiplication and/or convolution to achieve this simplification?







      matrices convolution hadamard-product






      share|cite|improve this question













      share|cite|improve this question











      share|cite|improve this question




      share|cite|improve this question










      asked Mar 25 at 19:31









      N. WhitcherN. Whitcher

      61




      61




















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "69"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3162225%2fhow-to-simplify-repeated-convolution-and-hadamard-multiplication%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Mathematics Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3162225%2fhow-to-simplify-repeated-convolution-and-hadamard-multiplication%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How should I support this large drywall patch? Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How do I cover large gaps in drywall?How do I keep drywall around a patch from crumbling?Can I glue a second layer of drywall?How to patch long strip on drywall?Large drywall patch: how to avoid bulging seams?Drywall Mesh Patch vs. Bulge? To remove or not to remove?How to fix this drywall job?Prep drywall before backsplashWhat's the best way to fix this horrible drywall patch job?Drywall patching using 3M Patch Plus Primer

          random experiment with two different functions on unit interval Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Random variable and probability space notionsRandom Walk with EdgesFinding functions where the increase over a random interval is Poisson distributedNumber of days until dayCan an observed event in fact be of zero probability?Unit random processmodels of coins and uniform distributionHow to get the number of successes given $n$ trials , probability $P$ and a random variable $X$Absorbing Markov chain in a computer. Is “almost every” turned into always convergence in computer executions?Stopped random walk is not uniformly integrable

          Lowndes Grove History Architecture References Navigation menu32°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661132°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661178002500"National Register Information System"Historic houses of South Carolina"Lowndes Grove""+32° 48' 6.00", −79° 57' 58.00""Lowndes Grove, Charleston County (260 St. Margaret St., Charleston)""Lowndes Grove"The Charleston ExpositionIt Happened in South Carolina"Lowndes Grove (House), Saint Margaret Street & Sixth Avenue, Charleston, Charleston County, SC(Photographs)"Plantations of the Carolina Low Countrye