Numerical Methods for Least Squares Problems