I'll give a matrix argument. First a simple question, take a column vector a, what is the rank ? What is the rank of a*a? Same question for a row vector b?
I would suggest writing the dimensions and checking when the condition is true then carry on with singular value decomposition or Cholesky if you like. you might end up with positive SEMI-definite product! but if you modify the definitions of course, you can recover the same result with some caution.