1.4 Offset Non-Uniform Discrete Cosine Decomposition of Toeplitz Matrices

Diagonalization of a Toeplitz matrix (or the related Henkel matrix) is well known for about 100 years due to Carathéodory. Recently, the methods and techniques were formalized and were shown to be related to non-uniform discrete Fourier transformation (DFT). In this post, we look at a straightforward extension to non-uniform discrete cosine transformation (DCT) for real-valued Toeplitz matrices.

Let 𝑻 be an N×N real, symmetric, Toeplitz matrix with simple eigenvalues. The matrix admits a Vandermonde decomposition [4, 2] given by

𝑻=𝑽H⁢𝑫⁢𝑽

where 𝑽 is an N×N complex-valued Vandermonde matrix with powers of roots of unity, ν0,…,νN−1, hereafter referred to as modes, along the columns (shown below), and 𝑫 is an N×N non-negative diagonal matrix.

𝑽=[1ν0ν02⋯ν0N−11ν1ν12⋯ν1N−11⋮⋮⋱⋮1νN−1νN−12⋯νN−1N−1]

Absence of a Non-Uniform Cosine Decomposition

Theorem 1 (Absence of a general NUCD).

There exists no uniform cosine decomposition

𝑻=𝑪T⁢𝑫⁢𝑪

for the matrix 𝐓 for N>2.

Note: 𝑪 is an N×N real, cosine matrix and 𝑫 an N×N positive diagonal matrix. The elements of 𝑪 are given by

[𝑪]m⁢n=cos⁡(n⁢θm),

where m,n=0,…,N−1, and θm∈(−π,π].

Proof.

Let τm,n and δm,n denote the (m,n) terms of the matrices 𝑻 and 𝑫, respectively. Expanding 𝑪T⁢𝑫⁢𝑪 and equating the diagonal elements we have

τn,n=∑m=0N−1δm,m⁢cos2⁡(n⁢θm),

where n=0,…,N−1. Therefore, the first element τ0,0 is

τ0,0=∑m=0N−1δm,m.

Due to the Toeplitz structure of 𝑻, we have equality of the diagonal elements, i.e., τ0,0=τ1,1=⋯=τN−1,N−1. However, since for any θ∈(−π,π] we have 0≤cos2⁡(θ)≤1 with upper-bound equality only for θ={0,π}, no angles beyond {0,π} can satisfy the equality of the diagonal elements. Hence, such a decomposition does not exist. ∎

Result of the above theorem motivates us to explore offset non-uniform cosine decomposition where the decomposition is scaled as 𝑻=γ2⁢𝑪T⁢𝑫⁢𝑪 for some γ>1, wherefore equality of the diagonal elements may be met.

Offset Non-Uniform Cosine Decomposition

Lemma 2.

The modes ν1,…,νN−1, are either real or appear in complex conjugate pairs using the algorithm given in [2] with a real initial value ν0.

Note: The only admissible real initial values are ν0=±1.

Proof.

Modes are the polynomial roots of A⁢(z)=∑k=0N−1αk⁢zk, where αk is the k-th element of the vector 𝒂 given by solving 𝑻⁢𝒂=𝒗 [2]. Here, 𝒗 is the initial value vector given by 𝒗=[1,ν0,ν02,…,ν0N−1]. ∎

For real initial value vectors, the coeffcients αk of the polynomial A⁢(z) are real. Therefore, the roots of the polynomial are either real or appear in complex conjugate pairs.

Now we present the main result of this post.

Theorem 3 (O-NUCD).

For real initial values, there exists an offset non-uniform cosine decomposition 𝐓=2⁢𝐂T⁢𝐃⁢𝐂 for the matrix 𝐓.

Note: 𝑪 is an N×N real, cosine matrix and 𝑫 an N×N positive diagonal matrix. The elements of the matrix 𝑪 are given by

[𝑪]m,n=cos⁡(∓π4+n⁢θm),

where m,n=0,…,N−1, and θm=∠⁢νm.

Proof.

Let 𝑽R and 𝑽I denote the real and imaginary parts of the Vandermonde matrix 𝑽. As the initial values are real, from Lemma 2, the roots are either real or have complex conjugate symmetry. Therefore, we have the following orthogonality properties:

𝑽RT⁢𝑽I=𝑽RT⁢𝑫⁢𝑽I=𝑽IT⁢𝑽R=𝑽IT⁢𝑫⁢𝑽R=𝟎.

Using these properties (twice), we have

𝑻=𝑽RT⁢𝑫⁢𝑽R+𝑽IT⁢𝑫⁢𝑽I=(𝑽R±𝑽I)T⁢𝑫⁢(𝑽R±𝑽I)=2⁢𝑪T⁢𝑫⁢𝑪,

with the elements of the matrix 𝑪 as shown above. ∎

O-NUCD in MATLAB using the Vandermonde Tools

As an example, O-NUCD (−π4) may be found using the Vandermonde Tools from AudioLabs [3] as follows:

>> [v,d] = find_vand('xcorr', T) ;
>> V = vandermonde_fast(v) ;
>> D = diag(d) ;
>> norm(V'*D*V - T)
ans = 2.5403e-15
>> C = cos(-pi/4 + angle(v)*(0:N-1)) ;
>> norm(2*C'*D*C - T)
ans = 2.0304e-15

Version History

  1. 1.

    First published: 14th May 2019 on aravindhk-math.blogspot.com

  2. 2.

    Modified: 16th Dec. 2023 – Style updates for