gradient decent for least squares is working, runs pretty fast on a small data set with low condition number