1.3 Novel Matrix Decompositions

This is a consolidated post containing two former posts on novel matrix decompositions.

1.3.1 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,,νN1, hereafter referred to as modes, along the columns (shown below), and 𝑫 is an N×N non-negative diagonal matrix.

𝑽=[1ν0ν02ν0N11ν1ν12ν1N111νN1νN12νN1N1]

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

[𝑪]mn=cos(nθm),

where m,n=0,,N1, 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=0N1δm,mcos2(nθm),

where n=0,,N1. Therefore, the first element τ0,0 is

τ0,0=m=0N1δm,m.

Due to the Toeplitz structure of 𝑻, we have equality of the diagonal elements, i.e., τ0,0=τ1,1==τN1,N1. However, since for any θ(π,π] we have 0cos2(θ)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,,νN1, 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=0N1αkzk, 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,,ν0N1].

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,,N1, 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

1.3.2 Simultaneous Triangularization of Two Arbitrary Wide Matrices via the QR Decomposition

Simultaneous triangularization (ST) of an arbitrary number of matrices that satisfy certain algebraic properties is well known, see, e.g., [17]. However, for arbitrary wide matrices with the same number of columns, directly applying QR decomposition leads to a ”pseudo-triangular” structure, i.e., there are more non-zero columns than the number of rows. However, for just two arbitrary wide matrices, a ”true” ST scheme can be obtained exploiting their null spaces. In [12], this technique was presented and used in non-orthogonal multiple access (NOMA) downlink communication systems for interference mitigation. In the following post, an overview of the ST scheme is presented. A MATLAB example is provided.

The statement of the theorem is as follows.

Theorem 4 ([12, Theorem 2]).

Let 𝐀m1×n and 𝐁m2×n, m1,m2n, be complex-valued matrices of sizes m1×n and m2×n and have full row rank. Then, there exist unitary matrices 𝐔1m1×m1,𝐔2m2×m2, and an invertible matrix 𝐗n×n such that

𝑼1𝑨𝑿 =[𝑹1𝟎], (1.1)
𝑼2𝑩𝑿 =[𝑹2𝟎𝑹2′′], (1.2)

where 𝐑1m1×m1 and 𝐑2=[𝐑2𝐑2′′]m2×m2 are upper-triangular matrices with real-valued entries on their main diagonals.

As seen from the theorem, the ST scheme additionally requires the invertible matrix 𝑿 apart from the unitary matrices 𝑼1 and 𝑼2. Moreover, for 𝑩, triangularization includes nm2 columns of zeros in the middle, which may be ignored to construct the matrix 𝑹2. See [12] for generalizations of the theorem.

Below is the proof of the theorem.

Proof.

Let 𝑨¯n×(nm1) and 𝑩¯n×(nm2) be matrices that contain a basis for the null space of 𝑨 and 𝑩, respectively. Let 𝑲n×max(0,m1+m2n) denote the matrix containing a basis for the null space of [𝑨¯𝑩¯]H. Let, by QR decomposition,

𝓤1𝑹1 =𝑨[𝑲𝑩¯], (1.3)
𝓤2𝑹2 =𝑩[𝑲𝑨¯]. (1.4)

Then, (1.1) and (1.2) are satisfied by setting 𝑿 to

𝑿=[𝑲𝑩¯𝑨¯], (1.5)

and choosing 𝑼1=𝓤1H and 𝑼2=𝓤2H from (1.3) and (1.4) above, to obtain

𝑼1𝑨𝑿= [𝓤1H𝑨[𝑲𝑩¯]𝑹1𝓤1H𝑨𝑨¯𝟎], (1.6)
𝑼2𝑩𝑿=(a) [𝓤2H𝑩𝑲𝑹2𝓤2H𝑩𝑩¯𝟎𝓤2H𝑩𝑨¯𝑹2′′], (1.7)

where (a) holds because the QR decomposition in (1.4) is unaffected by the zero columns introduced in the middle. ∎

Next, a MATLAB-based example is provided.

% Generate compatible matrices
A = complex(randn(3,4),randn(3,4)) ;
B = complex(randn(3,4),randn(3,4)) ;
% Compute matrix X
A_bar = null(A) ;
B_bar = null(B) ;
K = null([A_bar, B_bar]') ;
X = [K, B_bar, A_bar] ;
% Triangularize the input matrices
[U_cal1, ~] = qr(A*X) ;
[U_cal2, ~] = qr(B*X) ;
U1 = U_cal1' ;
U2 = U_cal2' ;
% Demonstrate ST
U1*A*X =
-2.0667 + 0.0000i -1.4910 + 1.2510i 0.1708 - 0.4198i 0.0000 + 0.0000i
0.0000 - 0.0000i -1.0789 + 0.0000i 0.4117 - 0.4322i 0.0000 - 0.0000i
0.0000 - 0.0000i 0.0000 + 0.0000i -1.5056 - 0.0000i -0.0000 + 0.0000i
U2*B*X =
-2.0667 + 0.0000i -1.1795 + 1.0534i -0.0000 + 0.0000i -0.7368 - 0.0662i
-0.0000 - 0.0000i -2.5202 - 0.0000i 0.0000 - 0.0000i 0.9798 - 1.9193i
-0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.8765 + 1.6384i

See also the example provided here.

Version History

  1. 1.

    First published: 13th Aug. 2022 on aravindhk-math.blogspot.com

  2. 2.

    Modified: 16th Dec. 2023 – Style updates for

  3. 3.

    Modified: 30th Dec. 2023 – Minor updates to text