# Something that's been frustrating me

Ok, I was reading the proof for Singular Value Decomposition in my Linear Algebra textbook, when the author made an assertion (without proof). Basically, he said that if A is an m x n matrix, then the nullspace of A is equal to the nullspace of transpose(A)*A.

Now, it's obvious to me that any member of N(A) is in N(transpose(A)*A), since Ax=0 implies that transpose(A)*Ax=0. Nevertheless, I can't prove the converse of this statement to myself. Any tips?

Related Linear and Abstract Algebra News on Phys.org
It seems to be true if the underlying vector spaces are real. I don't know about more general spaces. But here's what I'm thinking. What would happen if there were a column vector $x \neq 0$ that is in the null space of $A^TA$ but not that of A?

$$A^TAx = 0$$ ,

but $$Ax = y \neq 0$$

Well, premultiply the first equation by $x^T$ to get

$$x^T A^T A x = y^T y = 0$$.

But if y is real vector, this equation implies that y = 0, which contradicts our assumption that it is nonzero.

Galileo
Homework Helper
Multiply both sides by $x^T$ so you get:

$$x^TA^TAx=0$$

Take it from there.

Alright, I thank both of you for the help!

mathwonk
Homework Helper
This is kind of confusing conceptually.

I.e. abstractly, transpose means "precede by". I.e. a linear map A:V-->W induces a linear map AT:W*-->V*, where W* is linear functioins on W, and if L is such a thing then AT(F) = FoA, a linear function on V.

So if AT(F) = FoA = 0, it means that F vanishes on the image of A, since preceding F by A, gives zero.

But now how do we precede AT by A? i.e. it makes no sense abstractly to compose a map into W with a map out of W*. But this is where an inner product comes in, giving us an isomorphism of W with W* and also of V with V*.

So we compose A:V-->W-->W*-->V*, where the map in the middle takes a vector in W to a functional on W by dotting with that vector.

so if this composition kills v, then it means that "preceding by A", kills "dotting with Av".

I.e. that for every x in V, we have Av.A(x) = 0.

applying this to v gives Av.Av= 0, so Av = 0.

so the point is: the only way that dotting with Av, can kill everything of form Ax, is if Av=0.

it is much easier computationally as follows: AT is the unique map such that for all x,y, we have Ax.y =x.ATy.

hence if ATAv = 0, then Av.A( ) is zero no matter what goes in the blank. putting in v gives Av = 0.