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