稀疏Walsh-Hadamard变换


15

该沃尔什-哈达玛变换(WHT)是傅立叶变换的概括,并且是尺寸的实数或复数的矢量正交变换。该变换在量子计算中很流行,但是最近作为一种对高维向量的随机投影的预处理器进行了研究,以用于Johnson-Lindenstrauss引理的证明。它的主要特征是,尽管它是平方矩阵,但它可以通过类似FFT的方法应用于时间为(而不是)的向量。d=2米d×dØ(d日志⁡d)d2

假设输入向量是稀疏的:它只有几个非零条目(例如 )。有任何方法来计算在时间上的WHT,使得和 为 ?[R≪dF([R,d)F(d,d)=Ø(d日志⁡d)F([R,d)=Ø(d日志⁡d)[R=Ø(d)

注意:这些要求只是形式化想法的一种方法,即我希望小运行速度比快。d日志⁡d[R


我相信您已经了解以下两个简单的观察,但是无论如何,我都会将它们写下来供其他读者使用:(1)简单的乘法使O(rd)有时间。仅当r = o(log d)时,它才比O(d log d)好。(2)即使输入向量稀疏,输出通常也不稀疏。这意味着即使r = 1,我们也不希望f(r,d)为o(d)。
— 伊藤刚(Tsuyoshi Ito)2010年

4
您知道傅立叶变换的同一个问题的答案是什么吗?
— 罗宾·科塔里

Tsuyoshi:是的,我知道(1),实际上这是对需要此操作的应用程序所做的。至于(2)也是如此。罗宾,这是一个好点-我对《金融时报》一无所知,实际上,这可能是一个开始挖掘的好地方。
— Suresh Venkat 2010年

原来我应该一直在研究维基百科。FFT页面提到了两篇可能与稀疏计算问题有关的论文。
— Suresh Venkat 2010年

Answers:


6

索引由整数x的WHT行,为。因此x具有对数d位。同样,索引列。在(X,Y)位置是(- 1 )⟨ X ,ÿ ⟩其中指数是长度日志d的点积。假设r为2的幂,必要时向上取整。通过使第一个log r位变化并以每种d / r方式固定其他log(d / r)位,将dxr矩阵分解为rxr个块。该rxr块是大小为r的较小WHT矩阵,除了可能缺少某些列,重复或取反外。在任何情况下,都可以轻松地对向量进行预处理,然后在时间r log r中执行rxr WHT,然后重复d / r次以得出总时间d log r。0≤X<d(-1个)⟨X,ÿ⟩

例:

d = 4。

WHT H是

++++
+-+-
++--
+--+

任意列的集合是00和10(最左边的两个)。

++
++
+-
+-

行块是

++
++

和

--
--

在每个块中,都有重复的列,缺少的列,而在第二个块中,则有否定的列。将向量预处理为(a + b ,0 )T并乘以2x2 WHT:(一种,b)Ť(一种+b,0)Ť

++
+-

然后将预处理为(− a − b ,0 )T并乘以2x2 WHT:(一种,b)Ť(-一种-b,0)Ť

++
+-
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.