[SciPy-Dev] Fast Walsh–Hadamard transform for SciPy ?

Neal Becker ndbecker2 at gmail.com
Fri Mar 23 08:59:27 EDT 2018


I've placed my implementation here:
https://gist.github.com/nbecker/aa4d2297f36db842a704ea44dadbf8fe

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.

On Fri, Mar 23, 2018 at 8:41 AM Chaman Agrawal <chaman.ag at gmail.com> wrote:

> Hello everyone,
>
> Reference : Issue #8590 <https://github.com/scipy/scipy/issues/8590>
>
> I wanted to get started with implementing FWHT so I wanted to ask few
> things please help.
>
> 1) Will it be good to implement it in FFT pack or it should be in the
> signal pack.
>
> 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.
>
> 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.
>
> If there is any other suggestion/guidance that I might have forgot to ask
> for,please provide it. It would be of great help.
>
> Thankyou,
> Chaman
>
> On Fri, Mar 23, 2018 at 10:12 AM, Ralf Gommers <ralf.gommers at gmail.com>
> wrote:
>
>>
>>
>> On Thu, Mar 22, 2018 at 12:39 PM, Chaman Agrawal <chaman.ag at gmail.com>
>> wrote:
>>
>>> Hello,
>>>
>>
>> Hi Chaman, your email client seems to be misconfigured, you're starting
>> new threads. Can you please have a look at changing that?
>>
>> Cheers,
>> Ralf
>>
>>
>>> Thanks, please send the link ,it would be good to have multiple
>>> references.
>>>
>>> However the important part is where to implement this ,in fftpack or
>>> signal as Ralf Gommers <https://github.com/rgommers> mentioned in the
>>> issue page.
>>>
>>> Cheers,
>>> Chaman
>>> I have my own code for FHT if you are interested
>>>
>>> On Thu, Mar 22, 2018 at 2:52 PM Chaman Agrawal <chaman.ag at gmail.com <https://mail.python.org/mailman/listinfo/scipy-dev>> wrote:
>>>
>>> >* Issue #8590 https://github.com/scipy/scipy/issues/8590 <https://github.com/scipy/scipy/issues/8590>
>>> *>>* Currently there is no implementation of Fast Walsh–Hadamard transform in
>>> *>* SciPy. Although it seems that FWHT is not as general as FFT but it is
>>> *>* pretty ubiquitous ,it is there is other maths and science softwares like
>>> *>* MATLAB etc. .I would like to contribute towards it. Following are the
>>> *>* details about it.
>>> *>* Fast Walsh–Hadamard transform
>>> *>>* Hadamard transform is an example of a generalized class of Fourier
>>> *>* transforms. It performs an orthogonal, symmetric, involutive, linear
>>> *>* operation on 2^(m) numbers. It is equivalent to a multidimensional DFT.
>>> *>* Time Complexity:
>>> *>>* O(nlogn) with Fast Walsh-Hadamard transform (FWHT)
>>> *>* Comparison with FFT:
>>> *>>* FWHT is very useful for reducing bandwidth storage requirements and
>>> *>* spread-spectrum analysis. Compared to the FFT, the FWHT requires less
>>> *>* storage space and is faster to calculate because it uses only real
>>> *>* additions and subtractions, while the FFT requires complex values. The FWHT
>>> *>* is able to represent signals with sharp discontinuities more accurately
>>> *>* using fewer coefficients than the FFT.
>>> *>* Some Usage examples:
>>> *>>* The Hadamard transform is used in data encryption, as well as many signal
>>> *>* processing and data compression algorithms, such as JPEG XR and MPEG-4 AVC.
>>> *>* It is also a crucial part of Grover's algorithm and Shor's algorithm in
>>> *>* quantum computing. The Hadamard transform is also applied in scientific
>>> *>* methods such as NMR, mass spectroscopy and crystallography.
>>> *>
>>>
>>>
>>>
>>> _______________________________________________
>>> SciPy-Dev mailing list
>>> SciPy-Dev at python.org
>>> https://mail.python.org/mailman/listinfo/scipy-dev
>>>
>>>
>>
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at python.org
>> https://mail.python.org/mailman/listinfo/scipy-dev
>>
>>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at python.org
> https://mail.python.org/mailman/listinfo/scipy-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20180323/08772f1c/attachment-0001.html>


More information about the SciPy-Dev mailing list