Signal Processing 1 - nt.tuwien.ac.at...20 Univ.-Prof. Dr.-Ing. Markus Rupp Learning goals Matrix...

Post on 23-May-2020

1 views 0 download

Transcript of Signal Processing 1 - nt.tuwien.ac.at...20 Univ.-Prof. Dr.-Ing. Markus Rupp Learning goals Matrix...

Signal Processing 1Matrix Computation

Univ.-Prof.,Dr.-Ing. Markus RuppWS 17/18

Th 14:00-15:30EI3A, Fr 8:45-10:00EI4

LVA 389.166Last change: 1.9.2017

20Univ.-Prof. Dr.-Ing.

Markus Rupp

Learning goals Matrix Computation (2Units, Chapter 9)

Kronecker products and sums (Ch 9.1) Vec-operator (Ch 9.3) Hadamard transforms, DFT,FFT (Ch 9.2) Toeplitz and circulant matrices (Ch 8.5)

21Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products Definition 5.1: Consider two matrices A

and B with dimensions nxp and mxq, respectively. Then, the Kronecker Product (also called tensor) is defined as

=⊗

BaBaBa

BaBaBaBaBaBa

BA

npnn

p

p

21

22221

11211

22Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products Example 5.1:

=⊗

=⊗

=

=

362736273627189189189282128212821147147147

363636272727282828212121181818999141414777

999777

;4321

AB

BA

BA

23Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products Properties: 1) In general we have (not commutative)

2) Permutation. There exists a matrix P:

ABBA ⊗≠⊗

( )PBAPAB T ⊗=⊗

24Univ.-Prof. Dr.-Ing.

Markus Rupp

Permutation Matrices Permutation matrices

allow to exchange the i-thand j-th row.

They can simultaneously exchange several rows.

P is unitary: PTP=I.

nn jijiji

ij

PPPP

P

..1

0110

1

1

2211=

=

25Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products Proof (conceptional):

Select one entry of the matrix (or block), for example aij, and show that the desired property is satisfied; then generalize.

Example: Consider:

ABBA ⊗≠⊗

AbBaBABA

1111

,≠

≠but dimension same of

26Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products Properties: 3) Distributive:

4) Associative:

( ) ( ) ( )( ) ( ) ( )CABACBA

CBCACBA⊗+⊗=+⊗⊗+⊗=⊗+

( ) ( )CBACBA ⊗⊗=⊗⊗

27Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products 5) Transpose

6) Trace:

7) If A and B are diagonal matrices, so is their Kronecker product.

( )( ) HHH

TTT

BABA

BABA

⊗=⊗

⊗=⊗

( ) ( ) ( )BABA tracetracetrace =⊗

28Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products 8) Determinant. Let A mxm and B nxn:

9) Product of Kronecker Products:

10) Inverse:

( ) mn BABA )det()det(det =⊗

( )( ) ( ) ( )( )( )( ) ( ) ( )...BDFACEFEDCBA

BDACDCBA⊗=⊗⊗⊗

⊗=⊗⊗

( ) 111 −−− ⊗=⊗ BABA

Kronecker Products 11) The SVD decomposition of a

Kronecker product is given by:

Proof:

29Univ.-Prof. Dr.-Ing.

Markus Rupp

YX ⊗

( ) ( )( )( )( )( )( )

HV

HY

HXYX

U

YX

HY

HXYYXX

HYYY

HXXX

VVUUVVUU

VUVUYX

⊗Σ⊗Σ⊗=

⊗Σ⊗Σ=

Σ⊗Σ=⊗

Σ

( )( )( )

HV

HY

HXYX

U

YX VVUUYX ⊗Σ⊗Σ⊗=⊗Σ

Kronecker Products 12) The pseudo inverse of is

given by the Kronecker product ofthe pseudo inverses.

30Univ.-Prof. Dr.-Ing.

Markus Rupp

YX ⊗

[ ] ( ) ( )[ ] ( )( ) ( )[ ] ( )( ) ( )[ ]( )( ) ( ) ##11

11

1

11#

YXYYTYXX

TX

YXYTYX

TX

YXYTYX

TX

YXYXT

YXT

Σ⊗Σ=ΣΣΣ⊗ΣΣΣ=

Σ⊗ΣΣΣ⊗ΣΣ=

Σ⊗ΣΣΣ⊗ΣΣ=

Σ⊗ΣΣ⊗ΣΣ⊗Σ=ΣΣΣ=Σ

−−

−−

−−

31Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products Theorem 5.1: Let A be an mxm matrix with

eigenvalues αi;i=1,2,…,m and corresponding eigenvectors ai and B an nxn matrix with eigenvaluesβj;j=1,2,…,n and corresponding eigenvectors bi,

Then the mn eigenvalues of the Kronecker product are αiβj; i=1,2,...,m,j=1,2,...,n

and the corresponding eigenvectors are: ji ba ⊗

32Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Products Proof:

Example 5.2:

The eigenvalues of A are (6,-1), of B are (10,4) andof are: (60,24,-4,-10).

( )( ) ( ) ( ) ( )jijijiji

jjjiii

babBaAbaBAbbBaaA

⊗=⊗=⊗⊗

==

βα

βα and Let

−−−−

−−−−

=⊗

−=

=

7314637614

3515281215351228

7337

;1254

BA

BA

( )BA⊗

33Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Sum Definition 5.2: The Kronecker sum of an mxm matrix

A and an nxn matrix B is given by:

Note: This definition can also be found in variations in literature:

For these forms similar properties are obtained!

( ) ( ) ( )BIIABA mn ⊗+⊗=⊕

( ) ( ) ( )( ) ( ) ( )m

Tn

mn

IBAIBAIBAIBA⊗+⊗=⊕

⊗+⊗=⊕

34Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Sum Example 5.3:

=

+

=

=

151111391393771132121111

291092778

111111999777

111111999777

4343

4321

2121

111111999777

;4321

BA

35Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Sum Theorem 5.2: Let A be an mxm matrix with

eigenvalues αi;i=1,2,...,m and corresponding eigenvectors ai and B an nxn matrix with eigenvalues βj;j=1,2,…,n and corresponding eigenvectors bi.

Then the mn eigenvalues of the Kronecker sum are αi+βj; i=1,2,...,m,j=1,2,...,n

and their corresponding eigenvectors are:

ji ba ⊗

36Univ.-Prof. Dr.-Ing.

Markus Rupp

Kronecker Sum Proof:

( )( ) ( )( ) ( )( )( ) ( )( ) ( )

( )( )jiji

jijjii

jiji

jimjinji

jjjiii

bababa

bBabaAbaBIbaIAbaBA

bbBaaA

⊗+=

⊗+⊗=

⊗+⊗=

⊗⊗+⊗⊗=⊗⊕

==

βα

βα

βα and Let

Kronecker Sum Still Example 5.3

37Univ.-Prof. Dr.-Ing.

Markus Rupp

±±±=⊕→

=⊕

=→

=

±=→

=

2335.29,

233

25,

233

25)(

151111391393771132121111

291092778

27,0,0)(111111999777

233

25)(;

4321

BAeigBA

BeigBAeigA

38Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator Definition 5.3: Let the matrix A be of dimension

mxn. The vec operator reorders the elements of a matrix column-wise into a vector:

In Matlab, reshape function

[ ]

==

n

n

a

aa

AaaaA2

1

21 ]vec[;,...,

39Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator Properties:

1)

2)

3)

( )( )

( ) )vec()vec(

)vec()vec()vec()vec(

)vec()vec()tr()vec()vec()tr(

YABAYB

IABABBAIAB

BAABBAAB

T

T

HH

TT

⊗=

⊗=

⊗=

=

=

bk generates thek-th column

40Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator Proof of 3) Let B be of dimension mxn. Consider

the k-th column of AYB

The k-th column of (AYB):k can be written as:

( ) ( ) ( )

[ ] nk

Y

YY

AbAbAb

AYbbAYAYB

n

nkkk

m

jjjk

m

jjkjk

,...,2,1;,...,,

:

2:

1:

21

1:

1::

=

=

== ∑∑==

( )( )

=

xxxx

bbbAY nk...1

41Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator More compactly:

Thus

[ ] ( ) [ ]YAb

Y

YY

AbAbAb Tk

n

nkkk vec,...,,

:

2:

1:

21 ⊗=

[ ]

( )( )

( )

( ) [ ]( ) [ ]

( ) [ ]

( )( )

( )[ ] ( ) [ ]YABY

Ab

AbAb

YAb

YAbYAb

AYB

AYBAYB

AYB T

Tn

T

T

Tn

T

T

n

vecvec

vec

vecvec

vec 2

1

2

1

:

2:

1:

⊗=

⊗⊗

=

⊗⊗

=

=

42Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator This is an important property since it allows for

solving specific matrix equations. Example 5.4: Given A, B, and C, to solve is AXB=C.

If A and B can be inverted, we have X=A-1CB-1. Alternatively:

[ ] [ ]( ) [ ] [ ]

[ ] [ ]CDX

CXABCAXB

D

T

vecvec

vecvecvecvec

1−=

=⊗

=

43Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator Example 5.5: A1XB1+A2XB2 =C

Typical matrix Riccati equations can be solved now: X=AXA+C.

[ ] [ ]

( ) ( ) [ ] [ ]

[ ] ( ) [ ]CDDX

CXABAB

CXBAXBA

D

T

D

T

vecvec

vecvec

vecvec

121

2211

2211

21

−+=

=

⊗+⊗

=+

44Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator Note that property 3) leads to lower complexity.

Definition 5.4: A matrix A is called separable (Ger.: separierbar) if there are two matrices A1, A2 for which we have:

We can then substitute a problem of the form Ax=b into a problem of the form A2XA1=B with smaller complexity.

21 AAA ⊗=

45Univ.-Prof. Dr.-Ing.

Markus Rupp

Vec-Operator Example 5.6:

Solving Ax=b requires the inverse of A, thus O(43)=O(64) operations.

If A is separable, we only need 2O(23)=2O(8).

21

6532

7521

42353025211415101210656432

AA

A

⊗=

=

−−

−−=

Separability (How) can we test that a given matrix is separable? Theorem 5.3. Consider a matrix

with . There exist two unique matrices A and B (up to a complex valued phase) with such that:

46Univ.-Prof. Dr.-Ing.

Markus Rupp

222111 ,;F 21 PNMPNMC MM ==∈ ×

=

211

2

FF

FFFFF

F

1

2221

11211

PPP

P

21F NNlk C ×∈

FABFmin BA, ⊗−

1A =F

Separability Proof: we first show the result w.r.t.

the elements of matrix B:

47Univ.-Prof. Dr.-Ing.

Markus Rupp

( )( ) [ ] [ ]mn

HH

mnH

mn

P

kFklkl

P

lmn

Ab

bb

FvecvecAAtr

FAtr

0AF21

1

2

1

==

=−∂∂ ∑∑

==

Separability We now have to find

48Univ.-Prof. Dr.-Ing.

Markus Rupp

( )

( ) ( ) ( )

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ]

=

∑∑

∑∑

∑∑

∑∑

==

==

==

==

21

21

21

21

11

11A

11A

1

2

1A

FvecFvecmaxeigvecargvec

vecFvecFvecvecFvecFvecmin

AFtrFAtrFFtrmin

AFAtrFmin

P

k

Hklkl

P

l

P

k

Hklkl

Hkl

Hkl

P

l

P

k

Hklkl

Hkl

Hkl

P

l

P

kFkl

Hkl

P

l

A

AA

:for given is solution The

:notation vector in and

:to equivalent is which

RecallSingular Value Decomposition What is the consequence of the spectral

decomposition?

allows to decompose A into a product of two matrices. The size of them depends on the ranklow rank compression.

Matrix completion concept.49

Univ.-Prof. Dr.-Ing. Markus Rupp

[ ] Hr

iv

Hii

u

ii

p

i

HiiiH

HH VUvuvu

VV

UUVUAHii

~~1 ~~12

121 ===

Σ=Σ= ∑∑

== σσσ

Matrix Decomposition SVD is thus the „natural“ form of

decomposing matrices into products Low rank means „data compression“ This is equivalent to the requirement:

This norm provides something similar to sparsity but for matrices.

50Univ.-Prof. Dr.-Ing.

Markus Rupp

∑=

−=

=

+

)(

1*

22

*

:

~~..;~~21min:

Arank

rr

H

FF

normNuclearA

VUAthsVUA

σ

Matrix Decomposition Rank is thus the minimum number of

outer vector products, required to approximate a given matrix A with zero error.

Matrix A is a special case of a tensor, a two-way tensor.

Now let us consider an extension of the matrix concept n-way tensor

51Univ.-Prof. Dr.-Ing.

Markus Rupp

Example 5.7: Big Data Consider a video stream, i.e., a sequence of

matrices Fk of dimension L1 X L2 X L3 (being a frame) over time k. We thus have a three dimensional matrix (three way tensor). We can apply vector operations as follows:

52Univ.-Prof. Dr.-Ing.

Markus Rupp

F1 FN

v1 v2

v3

Example 5.7: Big Data Such a three-way tensor F can be

approximated by:

To find the rank is in general NP-hard!

53Univ.-Prof. Dr.-Ing.

Markus Rupp

),,min()rank(),,min(

min

313221321

2

)rank(

1,3,2,1,, ,3,2,1

LLLLLLFLLL

vvvFF

iiiivvv iii

≤≤

⊗⊗− ∑=

Example 5.7: Big Data We can add arbitrary many dimensions to this

construct. With every additional dimension, its data amount increases substantially.

If a certain pattern is of interest, the time to search through the entire tensor would be unfeasibly long.

Apply first a separation into vectors and/or matrices, then apply search algorithm.

Design decomposition based on a fraction of data and running online without storing the data first….

54Univ.-Prof. Dr.-Ing.

Markus Rupp

Open Problem: Tensor Decomposition We have considered the Canonical Polyadic

Decomposition (CPD) of tensors:

Given T, find rank(T) and then the corresponding rank-one vectors ai,bi,ci for i=1,2,…,rank(T).

55Univ.-Prof. Dr.-Ing.

Markus Rupp

2

)rank(

1,,min ∑

=

⊗⊗−T

iiiicba cbaT

iii

Open Problem: Tensor Decomposition But also other forms of decomposition are

possible, e.g., the low multilinear rank approximation (LMLRA):

Given tensor T, find the unitary matrices U,V,W and the much smaller core tensor S.

Rank(T)=(rank(U),rank(V),rank(W)) Algorithms available: www.tensorlab.net

56Univ.-Prof. Dr.-Ing.

Markus Rupp

70Univ.-Prof. Dr.-Ing.

Markus Rupp

Hadamard Transform Definition 5.5: (Walsh) Hadamard matrices Hn with

dimension nxn are matrices whose entries are -1,1 with the following property

Applications of the Hadamard transform can be found in source coding for speech, image and video processing as well as mobile communications such as the UMTS standard.

=

==

1111

2H

nIHHHH nTn

Tnn

71Univ.-Prof. Dr.-Ing.

Markus Rupp

Hadamard Transform A straightforward method to build larger

Hadamard matrices is called the Sylvester construction:

Example 5.8:

times)2(log

22222

2

...n

nn HHHHHH ⊗⊗⊗=⊗=

−−−−−−

=

⊗==

1111111111111111

:2 224 HHHn

72Univ.-Prof. Dr.-Ing.

Markus Rupp

Hadamard Transform Often normalized Hadamard matrices are used. Applying

1/sqrt(n) as normalization we obtain unitary (orthogonal) matrices.

The advantage of such structured matrices is that a significant amount of operations can be saved (separable).

Is typically n2 operations per vector multiplication of an nxnmatrix required, so can this complexity be reduced to n log2(n) operations.

This is often called the Fast Hadamard Transformation.

73Univ.-Prof. Dr.-Ing.

Markus Rupp

Hadamard Transform Example 5.9: Let z=H4x, with x=[a,b,c,d]T; thus

The operation can be applied straightforwardly with 12 operations and identically with only 8=4log2(4) operations due to structuring.

+−−−−+−+−+++

=

dcbadcbadcbadcba

z

74Univ.-Prof. Dr.-Ing.

Markus Rupp

Hadamard Transform Thus

−+

=

−+

=

=

−+

=

=

21

21

2221 ;

zzzz

z

dcdc

dc

Hzbaba

ba

Hz

H2

H2

H2

H2dcba

2

1

z

z

z

78Univ.-Prof. Dr.-Ing.

Markus Rupp

Hadamard Transform With the HT we can also operate with other

symbols than 0,1 or -1,1.

Example 5.11: assume two complex-valued symbols a,b, constructing:

−=

= )*1()*2(

)2()1(

2**2 ;nn

nnn HH

HHH

abba

H

79Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform Definition 5.6: The Discrete Fourier Transform

describes an operation, mapping a discrete (time) sequence into a discrete Fourier sequence.

Example 5.12: Consider a vector with the entries x=[a,b,c,d,e,f]T. By a DFT this vector can be mapped into the Fourier domain:

xFx

wwwwwwwwwwwwwwwwwwwwwwwww

x

wwwwwwwwwwwwwwwwwwwwwwwww

y 6

16

26

36

46

56

26

46

06

26

46

36

06

36

06

36

46

26

06

46

26

56

46

36

26

16

256

206

156

106

56

206

166

126

86

46

156

126

96

66

36

106

86

66

46

26

56

46

36

26

16

11111

111111

11111

111111

=

=

=

1,..1,0;1

0

1

0

2−=== ∑∑

=

=

−Nlxwxey k

N

k

klNk

N

k

Nklj

l

π

80Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform We introduced the following “twiddle” factors

Due to their periodic properties we have:

Engl: to twiddle one‘s thumbs=Däumchen drehen

mN

jmN ew

π2−

=

mN

NmN

jNmN wew ==

+−+ )(2π

81Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform Properties of the DFT: 1) unique linear mapping

2) Periodicity: xk+N=xk, yl+N =yl

3) Linearity: DFT[αxk+βuk]=αDFT[xk]+βDFT[uk]

1..0,;1 1

0

1

0

1

0

2

−==

==

∑∑−

=

=

=

NlkwyN

x

wxexy

N

l

klNlk

N

k

klNk

N

k

klN

j

kl

π

82Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform 4) Circular Symmetry

Consider a sequence xk; k=0..N-1, of length N. Take the first no terms away and append them at the end.

This property also holds in the Fourier domain.

lklN

N

kk

klN

n

kk

klN

N

nkk

klN

nN

NkNk

klN

N

nkk

klN

nN

Nkk

klN

N

nkk

klN

nN

nkk

ywxwxwx

wxwx

wxwxwx

==+=

+=

+=

∑∑∑

∑∑

∑∑∑

=

=

=

+−

=+

=

+−

=

=

+−

=

1

0

1

0

1

11

111

0

0

0

0

0

0

0

0

83Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform 5) Circular shift

In contrast to the previous property we shift the sequence now by no values circularly:

Corresponding holds in the Fourier domain.l

nlN

N

k

nklNnkN

N

k

nnklNnk

N

k

klNnk

ywwxw

wxwx

ooo

oo

oo

==

=

∑∑−

=

−−

=

+−−

=−

1

0

)(ln

1

0

)(1

0

0

84Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform

Circular Symmetry

Circular Shift

yl

WNlno yl

85Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform 6) Multiplication in Fourier domain

Consider yl=DFT[xk] and zl=DFT[uk]. Then we find for the frequency-wise product wl=yl zl=DFT[vk]:

u

xxx

xxxxxx

x

uuu

uuuuuuuuu

v

vv

v

Nmuxv

NN

N

N

NN

N

NN

N

N

kkmkm

=

===

=

=

−==

−−

+−

+−−

−−

+−

+−−−

=−∑

021

201

110

021

2201

11110

1

1

0

1

0

...

...

...

...

...

...

1,..1,0;

Circulantmatrix

86Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform Example 5.13: Convolution h0,h1,h2

=

=

4

3

2

1

021

102

210

210

210

4

3

2

1

4

3

2

1

210

210

210

2

1

~~

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

xxxxx

hhhhhhhhh

hhhhhh

yyyyy

xxxxx

hhhhhh

hhh

yyy

Overlap Add Method

Overlap Save Method

87Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform The corresponding is true in the Fourier domain. 7) Backwards sequence:

DFT[xN-k]=YN-l=Y-l=Y*l

8) Parseval’s Theorem: Let DFT[xk]=yl, DFT[uk]=zl

∑∑−

=

=

=1

0

*1

0

* 1 N

lll

N

kkk zy

Nux

88Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform Question: Can the DFT similarly to the FHT be

described so that a fast version with less complexity is possible?

Answer in Example 5.12:

6

116

76

36

86

46

76

56

36

46

26

36

36

36

86

46

86

46

46

26

46

26

3286

46

46

2633

62

11

1111111

111111

;11

111;

111

F

wwwwwwwwwwwwwwwwwwwww

FFFwwwwF

wF x ≠

=⊗=

=

=

89Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform Including in and output leads to:

Kronecker product DFT Obviously, we did not receive the correct DFT

matrix. However, it is a DFT, just with the wrong order of

input and output elements.

=

=

5

4

3

2

1

0

16

26

36

46

56

26

46

26

46

36

36

36

46

26

46

26

56

46

36

26

16

5

4

3

2

1

0

1

5

3

4

2

0

56

16

36

26

46

16

56

36

46

26

36

36

36

26

46

26

46

46

26

46

26

5

1

3

2

4

0

111

11111

1111111

;

11

1111111

111111

xxxxxx

wwwwwwwwwwwwwwwwwwwww

yyyyyy

xxxxxx

wwwwwwwwwwwwwwwwwwwww

yyyyyy

90Univ.-Prof. Dr.-Ing.

Markus Rupp

Discrete Fourier Transform

F3

F3

F2

F21

5

3

4

2

0

xxxxxx

F2 5

2

1

4

3

0

yyyyyy

32 FF ⊗

Complexity: 2x(3x2) + 3x(2x1) = 18 <52=25

91Univ.-Prof. Dr.-Ing.

Markus Rupp

Fast Fourier Transform Obviously, the method is sufficient to construct a

fast variant of the DFT, the so called FFT.

Given the dimension N= NL NL-1 ...N2 N1 of the matrices and assuming that all Nk are prime, we find the N-dimensional FFT as:

121... NNNN FFFFF

LL⊗⊗⊗⊗=

92Univ.-Prof. Dr.-Ing.

Markus Rupp

Fast Fourier Transform The drawback is that the ordering is

different to the DFT. However, by suitable permutation matrices for in- and output Pxand Py this can be solved without increasing complexity.

Note that also the classical FFT (by Cooley and Tukey) requires a reordering of the entries!

( ) xNNNNyN PFFFFPFLL 121

... ⊗⊗⊗⊗=−

James William Cooley (1926-29.6.2016) was an American mathematicianJohn Wilder Tukey (16.6.1915 – 26.7.2000) was an American mathematician

Complexity We have used complexity measures but did

not properly introduce them. In fact they heavily rely on the technology

being used (float versus fixed-point, CORDIC or von Neuman architecture….)

To simplify matters, we count onlyadd/mult operations for large numbers ofn.

93Univ.-Prof. Dr.-Ing.

Markus Rupp

ComplexityOperation ComplexityInner vector product O(n)FFT, FHT O(n log(n))Matrix x vectorLevinson Durbin

O(n2)

Matrix x matrixMatrix inverse

O(n3)

94Univ.-Prof. Dr.-Ing.

Markus Rupp

95Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices Definition 5.7: A (finite) mxn or infinite

matrix is called a Toeplitz matrix if its entries aij only depend on the distance i-j.

We call matrices of dimension nxn with this property square Toeplitz.

Otto Toeplitz (* 1.8.1881 in Breslau; † 15.2. 1940 in Jerusalem) was a German mathematician.

96Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices Reconsider the equalizer problem:

vaH

v

vvv

a

aaa

hhh

hhhhhh

r

rrr

L

L

L

L

L

L

L

L

L

+=

+

=

2

3

2

1

0

3

2

1

210

210

210

2

3

2

1

97Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices

In this form we have an underdetermined system of equations. The LS solution for this is given by:

vaH

v

vvv

a

aaa

hhh

hhhhhh

r

rrr

L

L

L

L

L

L

L

L

L

+=

+

=

2

3

2

1

0

3

2

1

210

210

210

2

3

2

1

( )

=

=

−−

2

3

2

11

210

210

210

210

210

210

210

210

210

1

r

rrr

hhh

hhhhhh

hhh

hhhhhh

hhh

hhhhhh

rHHHa

L

L

LHH

HHLS

98Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz MatricesEventually, the matrix to invert is:

+++

++++

++++

+++

=

22

21

20

*21

*10

*20

*12

*01

22

21

20

*21

*10

*20

*02

*12

*01

22

21

20

*21

*10

*02

*12

*01

22

21

20

*

2

1

02

12

01

0

210

210

210

0

0

hhhhhhhhhhhhhhhhhhhhhh

hhhhhhhhhhhhhhhhhhhhhh

hhhh

hhhh

h

hhh

hhhhhh

Square Toeplitz

99Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices Thus, the system of equations exhibits square

Toeplitz structure and it can be solved by a low complexity method (n2: Levinson Durbin see LVA Adaptive Filters)!

Thus, LS is not necessarily destroying the Toeplitzstructure.

However, if the order of the channel L is large, the problem can become numerically challenging.

100Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices Definition 5.7 (continued): A square

Toeplitz matrix Tn of dimension nxn is given by the following form:

rows−

= −

n

h

hhhh

T L

L

n

0

10

10

101Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices

rows−

= −

n

h

hhhh

T L

L

n

0

10

10

For each Toeplitz matrix

it is rather straightforward to compute the DFT corresponding to its first row entries:

∑−

=

Ω−

Ω−−−

Ω−Ω

=

+++=1

0

)1(110 ...)(

L

k

jkk

LjL

jj

eh

ehehheH

102Univ.-Prof. Dr.-Ing.

Markus Rupp

Circulant Matrices Note that for large matrices, the Toeplitz matrix

becomes closer and closer to a circulant matrix:

Toeplitz Circulant The matrices are called asymptotically equivalent.

021

102

210

210

210

210

210

210

hhhhhhhhh

hhhhhh

hhh

hhhhhh

103Univ.-Prof. Dr.-Ing.

Markus Rupp

Circulant Matrices Definition 5.8: A circulant

nxn matrix is of the form

where each row is obtained by cyclically shifting to the right the previous row.

Properties: Toeplitz as well as circulant matrices are commutative, i.e.:

GH=HG

=

021

102

210

210

210

hhhhhhhhh

hhhhhh

Cn

Asymptotic Equivalence Definition 5.9: Two sequences of nxn

matrices An and Bn with ||An||<M1<oo and ||Bn||<M2<oo are called asymptotically equivalent when the Frobenius norm of their difference relative to the order n tends to zero.

104Univ.-Prof. Dr.-Ing.

Markus Rupp

0lim =−

∞→ nBA

Fnnn

Asymptotic Equivalence Roughly speaking, asymptotic

equivalence says that the eigenvalues and vectors become closer and closer the larger the matrices become. More precisely:

105Univ.-Prof. Dr.-Ing.

Markus Rupp

Asymptotic Equivalence Define Then,

And finally:

106Univ.-Prof. Dr.-Ing.

Markus Rupp

nnn BA ∆=−

Asymptotic Equivalence In consequence

This is a weaker form of claiming thatall eigenvalues are identical!

107Univ.-Prof. Dr.-Ing.

Markus Rupp

108Univ.-Prof. Dr.-Ing.

Markus Rupp

Circulant Matrices Theorem 5.5: All circulant matrices of the

same size have the same eigenvectors. The eigenvectors are given by the DFT matrix of the corresponding dimension,i.e.,

Conversely, if the n eigenvalues are the entries of a diagonal matrix Λn, then

is a circulant matrix.

nnnH

n FCF Λ=

Hnnnn FFC Λ=

109Univ.-Prof. Dr.-Ing.

Markus Rupp

Circulant Matrices Application Example 5.16: equalizer problem

Find the filter G for G[r] so that a reappears!

vaC

v

vvv

a

aaa

hhhhhhhhh

hhhhhh

xxr

rr

vaT

v

vvv

a

aaa

hhh

hhhhhh

r

rrr

nL

L

L

L

L

LL

L

nL

L

L

L

L

L

L

L

L

+=

+

+=

+

=

−−

2

3

2

1

0

3

2

1

021

102

210

210

210

2

2

1

2

3

2

1

0

3

2

1

210

210

210

2

3

2

1

Overlap Add Method

Circulant Matrices Cyclic extention: CP=Cyclic Pre/Postfix

110Univ.-Prof. Dr.-Ing.

Markus Rupp

+

=

+

−−

2

3

2

1

2

1

0

3

2

1

210

210

210

210

210

2

3

2

1

0

3

2

1

021

102

210

210

210

2

2

1

v

vvv

aaa

aaa

hhhhhh

hhh

hhhhhh

v

vvv

a

aaa

hhhhhhhhh

hhhhhh

xxr

rr

L

L

L

L

L

L

L

L

L

L

L

L

L

LL

L

CP

CP

111Univ.-Prof. Dr.-Ing.

Markus Rupp

Circulant Matrices now

Complexity determined by FFT!

rFFavFarFF

vaFrF

vaFFCFrFvFaCFrF

vaCr

n

n

G

nnH

n

nH

nnnH

n

nnnn

nH

nnnn

nnnn

n

1

11

11

~~

~

−−

−−

Λ

Λ≈

Λ+=Λ

Λ+=Λ

+=

+=+=

Circulant Matrices Theorem 5.6: The eigenvalues of a

circulant matrix of size n x n are given by its Fourier transform evaluated at the frequencies

112Univ.-Prof. Dr.-Ing.

Markus Rupp

1,....,1,0;2−==Ω nkk

nkπ

Circulant Matrices Proof:

113Univ.-Prof. Dr.-Ing.

Markus Rupp

nnnn FFC Λ=

114Univ.-Prof. Dr.-Ing.

Markus Rupp

Do you remember: Spectral Norm Consider now the spectral norm of A for the vector xM,k:

indlkM

lkM

Mx

Mxind

lM

M

M

lkM

AjHx

xA

xxA

A

xjH

nmljmlj

lj

jH

nmljjHmljjH

ljjH

nmlkjmlkj

lkj

hhh

hh

xA

kM ,22,

2,

,

2

2,2

,

0

10

10

,

))(exp(supsup

sup

))(exp(

))(exp())1(exp(

)exp(

))(exp(

))(exp())(exp())1(exp())(exp(

)exp())(exp(

))(exp())1(exp(

...))(exp(

...0

,=Ω==

=

Ω=

++Ω−+Ω

Ω

Ω=

++ΩΩ−+ΩΩ

ΩΩ

=

+++Ω−++Ω

=

Ω+

+

Ω=

=

+

Is xM really of this form?

115Univ.-Prof. Dr.-Ing.

Markus Rupp

Do you remember: Spectral Norm Consider now the spectral norm for the vector xN:

The corresponding eigenvector xN is a column from the Fourier matrix!

indN

NMx

Mxind

NM

M

M

N

AjHAxxA

xxA

A

x

x

hh

hhhh

xA

N ,2max2

2

2

2,2

1

1

0

10

10

))(exp(sup)(sup

sup

...0

=Ω===

=

=

Ω=

=

σ

matrixcirculant

116Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices Theorem 5.7 (Szegö): Given a continuous

function g(x), the eigenvalues λk ;k=1,2,…,n of a square Toeplitz matrix Tn with elements h0,..,hL-1 asymptotically satisfy the following condition:

With

∫∑−

Ω

=∞→

Ω=π

ππλ deHgg

nj

n

kkn

))((21)(1lim

1

∑−

=

Ω−Ω−−−

Ω−Ω =+++=1

0

)1(110 ...)(

L

k

jkk

LjL

jj ehehehheH

Gábor Szegő (January 20, 1895 – August 7, 1985)

Szegö Theorem Proof: as a continuous function g(x) can be

constructed from polynomials, we only needto show that:

We further recall the identity ofeigenvalues of circulant matrices with theirFourier transforms, and we are done.

117Univ.-Prof. Dr.-Ing.

Markus Rupp

∫∑−

Ω

=∞→

Ω=π

ππλ deH

nlj

n

k

lkn

))((21)(1lim

1

118Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices Example 5.15: let us use g(x)=x. We then

have

)tr(1lim

)(211lim 0

1

nn

jn

kkn

Tn

hdeHn

∞→

Ω

=∞→

=

=Ω= ∫∑π

ππλ

119Univ.-Prof. Dr.-Ing.

Markus Rupp

Toeplitz Matrices Example 5.16: let us use g(x)=ln(x). We

then have( ) ( )

( ) nnn

nn

n

kkn

jn

kkn

T

Tn

n

deHn

/1

1

1

detlnlim

detln1lim

ln1lim

)(ln21ln1lim

∞→

∞→

=∞→

Ω

=∞→

=

=

=

Ω=

∫∑

λ

πλ

π

π

Toeplitz Matrices Example 5.17: Consider Shannon capacity

for OFDM transmission over channel H (in frequency domain)

120Univ.-Prof. Dr.-Ing.

Markus Rupp

( )

Ω

+=

=

+

Ω

=∞→∞→

deH

nHHI

n

v

j

n

kkn

v

Hnn

n

π

π σπ

λσ

2

2

12

|)(|1ln21

ln1limdetln1lim