Suppose A and B are real 4×4 matrices with rank(AB)=2. Find every value that rank(BA) can take. Prove the upper and lower bounds, and show that each integer in the stated range can be achieved.
Constraints & Assumptions
No invertibility, symmetry, or commutativity assumption is made.
A complete solution needs constructions or a general existence argument, not just rank inequalities.
Clarifying Questions to Ask
Are explicit matrices required for the attainable ranks?
May standard rank-nullity and image/kernel formulas be used?
Hint: compare images with kernels. Use rank(AB)=rank(B)−dim(image(B)∩ker(A)), and apply the corresponding formula to BA.
What a Strong Answer Covers
Why rank four for BA is impossible.
Why rank zero is not excluded by rank(AB)=2.
Constructions for all attainable intermediate ranks.
Correct use of rank, image, and kernel dimensions.
Follow-up Questions
How does the range change for n×n matrices with rank(AB)=r?
What additional conclusion follows if either factor is invertible?
Overview:
For real 4×4 matrices with rank(AB)=2, determine the possible range of rank(BA).
Community answers
Answer by shpg
What the clarifying questions mean
For “Are explicit matrices required for the attainable ranks?” There are two possible types of proof, constructive and non-constructive, so this is really asking: “Do I need to produce the matrices, or is it enough to prove that they exist?”
For “May standard rank-nullity and image/kernel formulas be used?” This asks whether the full set of linear algebra tools is available, or whether the proof must stay within Sylvester's inequality and basic rank bounds.
Answer
Upper bound: this follows from Sylvester's inequality.
rank(AB)=2≥rank(A)+rank(B)−n
where n=4 because both matrices are 4×4. Therefore
Lower bound: attainable ranks can be shown by explicit matrices.
Let
A=1000010000000000.
Case rank(BA)=2: take B=I4, the 4×4 identity matrix. Then AB=A, so rank(AB)=2, and BA=A, so rank(BA)=2.
Case rank(BA)=1: take
B=1000100001000000.
Then BAe1=Be1=e1, BAe2=Be2=e1, and BAe3=BAe4=0, so rank(BA)=1. Also ABe1=Ae1=e1, ABe2=Ae1=e1, ABe3=Ae2=e2, and ABe4=0, so rank(AB)=2.
Case rank(BA)=0: take
B=0000000010000100.
Then BAe1=Be1=0, BAe2=Be2=0, and BAe3=BAe4=0, giving rank(BA)=0. Moreover, ABe3=Ae1=e1, ABe4=Ae2=e2, and ABe1=ABe2=0, so rank(AB)=2.
Follow-up questions
General n×n case: if rank(AB)=r, then 0≤rank(BA)≤r. If either A or B is invertible, then rank(BA)=rank(AB)=r.