scalanlp/breeze — pull request #113 by rtreffer (2014-01-04 18:11:32+00:00)
Title: Add fast haar transformation (forward and inverse)

This patch adds a fast haar transformation in 1 and 2d.
The 1d version works on a DenseVector, returning a power-of-two
sized vector that contains the fht.
The 2d version works by applying the fht first column wise and
then row wise.

I've tested it in the sbt console, it works (at least for the cases I've tested). 2d (matrix) fht might need s.o. who uses that method for a deeper review / check.

I hope I got the Can{I,}FHT system right....

Two TODOs are noted: I'm not sure about complex numbers and haar trasforms and I'm not sure if an unscaled int/long version would make sense. It would be easy to add both, but I couldn't find out if these are common / usefull.