1.5 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,m2≤n, be complex-valued matrices of sizes m1×n and m2×n and have full row rank. Then, there exist unitary matrices 𝐔1∈ℂm1×m1,𝐔2∈ℂm2×m2, and an invertible matrix 𝐗∈ℂn×n such that

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

where 𝐑1∈ℂm1×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 n−m2 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×(n−m1) and 𝑩¯∈ℂn×(n−m2) be matrices that contain a basis for the null space of 𝑨 and 𝑩, respectively. Let 𝑲∈ℂn×max⁡(0,m1+m2−n) 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