• Keine Ergebnisse gefunden

DCT-II via FFT

Im Dokument Sparse Fast Trigonometric Transforms (Seite 145-148)

and −M

2

+ 1 in Section 2.4. Note that in the definition of a short support which we will give in Section 6.1 and which we will use throughout Chapter 6, the support will not be considered periodically. To be able to differentiate between these two cases we will call the support one-block support if we allow it to be wrapped periodically around the boundary of the vector, and short support if this is not the case in Chapters 5 and 6. According to this nomenclature, the vectorsaM in Section 2.4 would actually have a one-block support. However, as short support is the commonly used term and we only introduced the name one-block support to avoid confusion with respect to the closely related concepts used in Chapters 5 and 6, we decided to use the wordshort support in Chapters 2 and 3, since there are no ambiguities there.

The support interval Sx contains all indices at which x has nonzero entries. Since for some of the theoretical concepts used hereafter we require the support of x to be a periodized interval inN0, some of the indices inSx may correspond to zero entries ofx.

By definition, the support length m of x∈ RN is uniquely determined, but the first support index is not unique ifm > N/2. Consider for example the vectorx∈R8 with

x= (1,0,0,0,1,0,0,0)T.

Then x has a short support of length m = 5, but, according to Definition 5.2, we can choose the first support index µx to be either 0 or 4, resulting in the support intervals Sx = I0,4(3) or Sx = I4,(3)0, respectively. For m ≤ N2, though, the first support index is

always uniquely determined. ♦

5.2 DCT-II via FFT

Our aim in this chapter is to develop a fast algorithm that deterministically recovers a vector x∈ RN, N = 2J−1, from its DCT-II transformed vector xIIb ∈ RN if we know a priori thatx has a one-block support of some unknown length. In our newly introduced notation this means that xhas the support set

Sx=Iµ(J−1)x, νx ={µx,(µx+ 1) mod N, . . . , νx}

for someµx, νx∈I0, N−1(J−1) and the support lengthm= (νx−µx+ 1) mod N. We do not require any a priori knowledge of min this chapter.

Apart from the fast DCT-II algorithm using a factorization of CIIN into real invertible matrices and the divide-and-conquer method, which we explained briefly in Section 4.2, one can also obtain a fast DCT-II algorithm using the FFT. More precisely, the DCT-II of any vector x∈RN can be computed from the DFT of the auxiliary vector y ∈R2N of double length, where

y:=

xT,(JNx)T T

= x0, x1, . . . , xN−1

| {z }

=xT

, xN−1, xN−2, . . . , x0

| {z }

=(JNx)T

T

,

i.e., the first half of the vectoryisxand the second half of yis the reflection ofx,JNx.

As in Theorem 4.4,JN denotes the counter identity matrix of sizeN×N. Equivalently, we can write that

yk:=

(xk if k∈ {0, . . . , N−1},

xN−1−k if k∈ {N, . . . ,2N−1}. (5.1)

The following lemma shows the close relation betweenxIIb andy, namely thatb xIIb can be computed fromyb and vice versa, see also [PPST19], Section 6.3.1.

Lemma 5.4 (Lemma 1 in [BP18c]) LetN ∈N, x∈ RN and y = (xT,(JNx)T)T ∈ R2N.

(i) yis symmetric, i.e.,

y=J2Ny.

(iii) byis completely determined by xIIb via

ybk=

Proof. (i) Note thatyis symmetric by construction, since J2Ny=J2N

5.2 DCT-II via FFT

where we set l0= 2N−1−l for l∈ {0, . . . , N−1}.

(iii) If k ∈ {0, . . . , N −1}, the claim in (iii) follows directly from (ii). For any index k∈ {N, . . . ,2N −1} the symmetry ofy guaranteed by (i) implies that

byk=

\J2Ny

k=

2N−1

X

l0=0

ω2Nkl0y2N−1−l0

=

2N−1

X

l=0

ω2Nk(2N−1−l)yl

=

2N−1

X

l=0

ω2N−k(l+1)yl

2N−k

2N−1

X

l=0

ω2N−klyl, (5.2)

where we set l:= 2N −1−l0 for l0 ∈ {0, . . . ,2N −1}. Ifk=N, (5.2) yields

ybN2N−N

2N−1

X

l=0

ω2N−N lyl

=−

2N−1

X

l=0

ω2NN lyl

=−byN,

so it follows that ybN = 0. If k ∈ {N + 1, . . . ,2N −1}, then 2N −k ∈ {1, . . . , N−1}, and we obtain from (5.2) that

ybk2N−k 2N−1

X

l=0

ω2N−kl

yl

2N−k

2N−1

X

l=0

ω2N(2N−k)lyl

2N−k·yb2N−k

=−

√2N

εN(2N −k)ω4N−k·xII2N−kb .

Lemma 5.4 implies that we can computeybfromxIIb inO(N)time, and that each entry ofybdepends on only one entry ofxIIb. Thus, the problem of reconstructingx∈RN from xIIb can be transferred to recovering the vector y = (xT,(JNx)T)T ∈R2N from by. If x has a one-block support of length m, we can apply any deterministic 2m-sparse IDFT algorithm for recovering y = (xT,(JNx)T)T ∈ R2N, which also gives us x. However, if such an algorithm required every entry of by, we would not obtain an algorithm for recovering xfrom xIIb via IDFTs whose runtime is sublinear in the vector length N. As each entry of by depends on only one entry of xIIb, we can achieve a sublinear runtime if the sampling complexity of the employed IDFT algorithm is sublinear inN.

As already mentioned in Chapter 2, there exist fast algorithms for recovering a sparse vectoryfromy. However, to the best of our knowledge, all algorithms for arbitrary spar-b sity have a runtime that is at least quadratic in the sparsity. We provided an incomplete list of such methods at the beginning of Chapter 2. Actually, withx having a one-block support of lengthm, the associated vectory= (xT,(JNx)T)T ∈R2N is2m-sparse with a very special structure, so we can employ this knowledge to achieve a sublinear runtime for our algorithm.

Definition 5.5 (Reflected Block Support)Let N = 2J−1 with J ≥ 2 and x∈ RN have a one-block support of lengthm < N. Then we say that the vector

y:=

xT,(JNx)T T

∈R2N has areflected block support.

Remark 5.6 Note that the vector y does not necessarily have a support consisting of two blocks of lengthm. Under certain conditions it is also possible thatypossesses two support blocks of different lengths or just a single support block of length 2m. We will discuss the support structure ofy in more detail in Section 5.4.1. Ify has only a single support block, we will denote its length bym(J) for algorithmic purposes. If y has two support blocks, we will refer to their length asn(J) if both blocks have the same length, and asn(J)(0) and n(J)(1) otherwise. The support set ofy will be denoted by S(J)⊆I0,2(J)J−1. See Remark 5.13 for additional information about the support ofy. ♦ By utilizing the a priori known information about the support structure ofy, we hope to obtain an algorithm for reconstructing y from yb that is faster than all previously existing deterministic methods for general2m-sparse vectors. Note that even though y has a sparsity of 2m, it is, due to its symmetry guaranteed by Lemma 5.4 (i), already completely determined by them nonzero entries in its first half.

Consequently, our aim in this chapter is to first develop a deterministic IDFT algorithm for recovering a vector with reflected block support from its DFT transformed vector. If we can then show that this algorithm has runtime and sampling complexities that are subquadratic in the block length and sublinear in the vector length, this will also give us a deterministic IDCT-II algorithm for recovering a vector with one-block support from its DCT-II transformed vector with the same runtime and sampling requirements.

Im Dokument Sparse Fast Trigonometric Transforms (Seite 145-148)