稀疏Walsh-Hadamard变换


15

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

假设输入向量是稀疏的:它只有几个非零条目(例如 )。有任何方法来计算在时间上的WHT,使得和 为 ?[RdF[RdFdd=Ød日志dF[Rd=Ø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。0X<d-1个Xÿ

例:

d = 4。

WHT H是

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

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

++
++
+-
+-

行块是

++
++

--
--

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

++
+-

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

++
+-
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.