スパースウォルシュアダマール変換


15

ウォルシュ-アダマール変換(WHT)は変換フーリエ変換の一般化であり、寸法の実数または複素数のベクトルに直交変換であり。変換は量子コンピューティングで一般的ですが、Johnson-Lindenstrauss Lemmaの証明で使用するための高次元ベクトルのランダム射影の一種の前提条件として最近研究されました。その主な特徴は、正方形のd × d行列ですが、時間O (d logのベクトルに適用できることです。d=2md×d(よりむしろ D 2 FFTのような方法によって)。O(dlog⁡d)d2

入力ベクトルがあるとしスパース:それはほんの数ゼロ以外のエントリ(たとえばを持つ )。時間におけるWHT計算する方法があるF (R 、D )ように、F (D 、D )= O (DのログD )及び F (R 、D )= O (DのログD )のための、R = oは(d ) ?r≪df(r,d)f(d,d)=O(dlog⁡d)f(r,d)=o(dlog⁡d)r=o(d)

注:これらの要件は、小さなrに対してよりも高速に実行するものが欲しいという考えを形式化する1つの方法にすぎません。dlog⁡dr


次の2つの簡単な観察結果を知っていると確信していますが、とにかく他の読者のためにそれらを書き留めておきます。r = o(log d)の場合のみ、O(d log d)よりも優れています。(2)入力ベクトルがスパースであっても、出力は一般にスパースではありません。これは、r = 1であってもf(r、d)がo(d)になることを期待できないことを意味します。
— 伊藤剛

4
フーリエ変換の同じ質問に対する答えが何であるか知っていますか?
— ロビンコタリ

剛:はい、私は(1)を知っています。これは実際、これを必要とするアプリケーションに対して行われていることです。(2)についても同様です。ロビン、それは良い点です-FTについては何も知りません。実際、それは掘り始めるのに良い場所かもしれません。
— スレシュヴェンカト

私はウィキペディアで掘っていたはずだったことが判明しました。FFTページには、スパース計算の問題に関連する可能性のある2つの論文が記載されています。
— Suresh Venkat

回答:


6

インデックスの整数xによってWHT行、。したがって、xはlog dビットです。同様に、列にインデックスを付けます。位置(x、y)は、(- 1 )⟨ X 、Y ⟩指数は、長さログDのドット積です。rが2のべき乗であると仮定し、必要に応じて切り上げます。最初のlog rビットを変化させ、d / rの各方法で他のlog(d / r)ビットを修正することにより、dxr行列をrxrブロックに分割します。このrxrブロックは、サイズがrの小さいWHTマトリックスです。ただし、一部の列が欠落、反復、または否定される場合があります。いずれの場合も、ベクトルを簡単に前処理してから、時間r log rでrxr WHTを実行し、合計時間d log rでd / r回繰り返します。0≤バツ<d(−1)⟨バツ、y⟩

例:

d = 4。

WHT Hは

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

任意の列セットは00および10(左端から2つ上)です:

++
++
+-
+-

行ブロックは

++
++

そして

--
--

(a、b)T(a+b、0)T

++
+-

(a、b)T(−a−b、0)T

++
+-
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.