Let T be a linear operator on a finite-dimensional inner product space V. Prove the following results.
(a) N(T*) = N(T). Deduce that rank(T*T) = rank(T)
(b) rank(T) = rank(T*). Deduce from (a) that rank(TT*) = rank(T)
(c) For any nxn matrix A, rank(A*A) = rank(A)

PS: I'm not expecting you to try all of these. it's a super long problem so any hints will be greatly appreciated. so confused...sorry!!
thank you!

2. A key property about adjoint operators is that the null space of T is the orthogonal complement of the range of T*. Reason:

. . . . . . . . . . $\displaystyle \begin{array}{rcl}Tx=0 &\quad\Leftrightarrow\quad& \langle Tx,y\rangle = 0\quad(\forall y\in V) \vspace{1ex} \\ &\quad\Leftrightarrow\quad& \langle x,T^*y\rangle = 0\quad(\forall y\in V) \vspace{1ex} \\ &\quad\Leftrightarrow\quad& x\in (\text{range}(T))^\perp.\end{array}$

If n(T) is the nullity of T and r(T) is the rank of T, it follows that r(T*) = dim(V) – n(T). Therefore, by the "rank plus nullity" theorem, n(T*) = n(T).

Another key property is that the null space of T*T is the same as the null space of T. The inclusion one way round is obvious: if Tx=0 then T*Tx=0. To do it the other way round, notice that if T*Tx=0 then $\displaystyle \|Tx\|^2 = \langle Tx,Tx\rangle =\langle T^*Tx,x\rangle = 0$. Hence n(T*T) = n(T) and therefore r(T*T) = r(T).