Rank factorization

From HandWiki

In mathematics, given a field 𝔽, nonnegative integers m,n, and a matrix A𝔽m×n, a rank decomposition or rank factorization of A is a factorization of A of the form A = CF, where C𝔽m×r and F𝔽r×n, where r=rankA is the rank of A.

Existence

Every finite-dimensional matrix has a rank decomposition: Let A be an m×n matrix whose column rank is r. Therefore, there are r linearly independent columns in A; equivalently, the dimension of the column space of A is r. Let 𝐜1,𝐜2,,𝐜r be any basis for the column space of A and place them as column vectors to form the m×r matrix C=[𝐜1𝐜2𝐜r]. Therefore, every column vector of A is a linear combination of the columns of C. To be precise, if A=[𝐚1𝐚2𝐚n] is an m×n matrix with 𝐚j as the j-th column, then

𝐚j=f1j𝐜1+f2j𝐜2++frj𝐜r,

where fij's are the scalar coefficients of 𝐚j in terms of the basis 𝐜1,𝐜2,,𝐜r. This implies that A=CF, where fij is the (i,j)-th element of F.

Non-uniqueness

If A=C1F1 is a rank factorization, taking C2=C1R and F2=R1F1 gives another rank factorization for any invertible matrix R of compatible dimensions.

Conversely, if A=F1G1=F2G2 are two rank factorizations of A, then there exists an invertible matrix R such that F1=F2R and G1=R1G2.[1]

Construction

Rank factorization from reduced row echelon forms

In practice, we can construct one specific rank factorization as follows: we can compute B, the reduced row echelon form of A. Then C is obtained by removing from A all non-pivot columns (which can be determined by looking for columns in B which do not contain a pivot), and F is obtained by eliminating any all-zero rows of B.

Note: For a full-rank square matrix (i.e. when n=m=r), this procedure will yield the trivial result C=A and F=B=In (the n×n identity matrix).

Example

Consider the matrix

A=[1314273915311208][1020011000010000]=B.

B is in reduced echelon form.

Then C is obtained by removing the third column of A, the only one which is not a pivot column, and F by getting rid of the last row of zeroes from B, so

C=[134279151128],F=[102001100001].

It is straightforward to check that

A=[1314273915311208]=[134279151128][102001100001]=CF.

Proof

Let P be an n×n permutation matrix such that AP=(C,D) in block partitioned form, where the columns of C are the r pivot columns of A. Every column of D is a linear combination of the columns of C, so there is a matrix G such that D=CG, where the columns of G contain the coefficients of each of those linear combinations. So AP=(C,CG)=C(Ir,G), Ir being the r×r identity matrix. We will show now that (Ir,G)=FP.

Transforming A into its reduced row echelon form B amounts to left-multiplying by a matrix E which is a product of elementary matrices, so EAP=BP=EC(Ir,G), where EC=(Ir0). We then can write BP=(IrG00), which allows us to identify (Ir,G)=FP, i.e. the nonzero r rows of the reduced echelon form, with the same permutation on the columns as we did for A. We thus have AP=CFP, and since P is invertible this implies A=CF, and the proof is complete.

Singular value decomposition

If 𝔽{,}, then one can also construct a full-rank factorization of A via a singular value decomposition

A=UΣV*=[U1U2][Σr000][V1*V2*]=U1(ΣrV1*).

Since U1 is a full-column-rank matrix and ΣrV1* is a full-row-rank matrix, we can take C=U1 and F=ΣrV1*.

Consequences

rank(A) = rank(AT)

An immediate consequence of rank factorization is that the rank of A is equal to the rank of its transpose AT. Since the columns of A are the rows of AT, the column rank of A equals its row rank.[2]

Proof: To see why this is true, let us first define rank to mean column rank. Since A=CF, it follows that AT=FTCT. From the definition of matrix multiplication, this means that each column of AT is a linear combination of the columns of FT. Therefore, the column space of AT is contained within the column space of FT and, hence, rank(AT)rank(FT).

Now, FT is n×r, so there are r columns in FT and, hence, rank(AT)r=rank(A). This proves that rank(AT)rank(A).

Now apply the result to AT to obtain the reverse inequality: since (AT)T=A, we can write rank(A)=rank((AT)T)rank(AT). This proves rank(A)rank(AT).

We have, therefore, proved rank(AT)rank(A) and rank(A)rank(AT), so rank(A)=rank(AT).

Notes

  1. Piziak, R.; Odell, P. L. (1 June 1999). "Full Rank Factorization of Matrices". Mathematics Magazine 72 (3): 193. doi:10.2307/2690882. 
  2. Banerjee, Sudipto; Roy, Anindya (2014), Linear Algebra and Matrix Analysis for Statistics, Texts in Statistical Science (1st ed.), Chapman and Hall/CRC, ISBN 978-1420095388 

References

  • Banerjee, Sudipto; Roy, Anindya (2014), Linear Algebra and Matrix Analysis for Statistics, Texts in Statistical Science (1st ed.), Chapman and Hall/CRC, ISBN 978-1420095388 
  • Lay, David C. (2005), Linear Algebra and its Applications (3rd ed.), Addison Wesley, ISBN 978-0-201-70970-4 
  • Golub, Gene H.; Van Loan, Charles F. (1996), Matrix Computations, Johns Hopkins Studies in Mathematical Sciences (3rd ed.), The Johns Hopkins University Press, ISBN 978-0-8018-5414-9 
  • Stewart, Gilbert W. (1998), Matrix Algorithms. I. Basic Decompositions, SIAM, ISBN 978-0-89871-414-2 
  • Piziak, R.; Odell, P. L. (1 June 1999). "Full Rank Factorization of Matrices". Mathematics Magazine 72 (3): 193. doi:10.2307/2690882.