Rank factorization

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In mathematics, given a field 𝔽, non-negative 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

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

Rank factorization from reduced row echelon forms

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]

rank(A) = rank(AT)

[edit | edit source]

An immediate consequence of rank factorization is that the rank of A is equal to the rank of its transpose A𝖳. Since the columns of A are the rows of A𝖳, 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 A𝖳=F𝖳C𝖳. From the definition of matrix multiplication, this means that each column of A𝖳 is a linear combination of the columns of F𝖳. Therefore, the column space of A𝖳 is contained within the column space of F𝖳 and, hence, rank(A𝖳)rank(F𝖳).

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

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

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

Notes

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

References

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).