<div dir="ltr">I've placed my implementation here: <div><span style="font-size:13px"><a href="https://gist.github.com/nbecker/aa4d2297f36db842a704ea44dadbf8fe">https://gist.github.com/nbecker/aa4d2297f36db842a704ea44dadbf8fe</a></span><br></div><div><span style="font-size:13px"><br></span></div><div><span style="font-size:13px">This is written to use the ndarray C++ python interface library.  I don't expect you to reuse the code directly (since that introduces dependencies that aren't in numpy/scipy), but you can use it as a reference.</span></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Mar 23, 2018 at 8:41 AM Chaman Agrawal <<a href="mailto:chaman.ag@gmail.com">chaman.ag@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello everyone,<br><br>Reference : Issue #<a href="https://github.com/scipy/scipy/issues/8590" target="_blank">8590</a> <div><br>I wanted to get started with implementing FWHT so I wanted to ask few things please help.<div><br></div><div>1) Will it be good to implement it in FFT pack or it should be in the signal pack.</div><div><br></div><div>2) Can I implement it in C or Cython as I am not familiar with Fortran so I can not implement it like FFT is implemented.</div><div><br></div><div>3) If I can implement it in C or Cython please give me an overview of the structure for the implementation to help me getting started.</div><div><br></div><div>If there is any other suggestion/guidance that I might have forgot to ask for,please provide it. It would be of great help.</div><div><br></div><div>Thankyou,<br>Chaman</div></div></div><div dir="ltr"><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 23, 2018 at 10:12 AM, Ralf Gommers <span dir="ltr"><<a href="mailto:ralf.gommers@gmail.com" target="_blank">ralf.gommers@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 22, 2018 at 12:39 PM, Chaman Agrawal <span dir="ltr"><<a href="mailto:chaman.ag@gmail.com" target="_blank">chaman.ag@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hello,</div></div></blockquote><div><br></div><div>Hi Chaman, your email client seems to be misconfigured, you're starting new threads. Can you please have a look at changing that?<br><br></div><div>Cheers,<br></div><div>Ralf<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-5116631061792877716h5"><div dir="ltr"><div><br></div>Thanks, please send the link ,it would be good to have multiple references.<div><br>However the important part is where to implement this ,in fftpack or signal as <a class="m_-5116631061792877716m_8631977192633188393m_7886906727287301042gmail-f5 m_-5116631061792877716m_8631977192633188393m_7886906727287301042gmail-text-bold m_-5116631061792877716m_8631977192633188393m_7886906727287301042gmail-link-gray-dark m_-5116631061792877716m_8631977192633188393m_7886906727287301042gmail-no-underline" href="https://github.com/rgommers" style="box-sizing:border-box;background-color:rgb(255,255,255);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;color:rgb(36,41,46);text-decoration:none" target="_blank">Ralf Gommers</a> mentioned in the issue page.</div><div><br></div><div>Cheers,</div><div>Chaman</div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">I have my own code for FHT if you are interested</span><br></div><div><pre style="white-space:pre-wrap;color:rgb(0,0,0);font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">On Thu, Mar 22, 2018 at 2:52 PM Chaman Agrawal <<a href="https://mail.python.org/mailman/listinfo/scipy-dev" target="_blank">chaman.ag at gmail.com</a>> wrote:

><i> Issue #8590 <a href="https://github.com/scipy/scipy/issues/8590" target="_blank">https://github.com/scipy/scipy/issues/8590</a>
</i>><i>
</i>><i> Currently there is no implementation of Fast Walsh–Hadamard transform in
</i>><i> SciPy. Although it seems that FWHT is not as general as FFT but it is
</i>><i> pretty ubiquitous ,it is there is other maths and science softwares like
</i>><i> MATLAB etc. .I would like to contribute towards it. Following are the
</i>><i> details about it.
</i>><i> Fast Walsh–Hadamard transform
</i>><i>
</i>><i> Hadamard transform is an example of a generalized class of Fourier
</i>><i> transforms. It performs an orthogonal, symmetric, involutive, linear
</i>><i> operation on 2^(m) numbers. It is equivalent to a multidimensional DFT.
</i>><i> Time Complexity:
</i>><i>
</i>><i> O(nlogn) with Fast Walsh-Hadamard transform (FWHT)
</i>><i> Comparison with FFT:
</i>><i>
</i>><i> FWHT is very useful for reducing bandwidth storage requirements and
</i>><i> spread-spectrum analysis. Compared to the FFT, the FWHT requires less
</i>><i> storage space and is faster to calculate because it uses only real
</i>><i> additions and subtractions, while the FFT requires complex values. The FWHT
</i>><i> is able to represent signals with sharp discontinuities more accurately
</i>><i> using fewer coefficients than the FFT.
</i>><i> Some Usage examples:
</i>><i>
</i>><i> The Hadamard transform is used in data encryption, as well as many signal
</i>><i> processing and data compression algorithms, such as JPEG XR and MPEG-4 AVC.
</i>><i> It is also a crucial part of Grover's algorithm and Shor's algorithm in
</i>><i> quantum computing. The Hadamard transform is also applied in scientific
</i>><i> methods such as NMR, mass spectroscopy and crystallography.
</i>></pre><br></div></div>
<br></div></div>_______________________________________________<br>
SciPy-Dev mailing list<br>
<a href="mailto:SciPy-Dev@python.org" target="_blank">SciPy-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/scipy-dev</a><br>
<br></blockquote></div><br></div></div>
<br>_______________________________________________<br>
SciPy-Dev mailing list<br>
<a href="mailto:SciPy-Dev@python.org" target="_blank">SciPy-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/scipy-dev</a><br>
<br></blockquote></div><br></div></div></div>
_______________________________________________<br>
SciPy-Dev mailing list<br>
<a href="mailto:SciPy-Dev@python.org" target="_blank">SciPy-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/scipy-dev</a><br>
</blockquote></div>