added an initial version of the gradient descent for the negation problem.  changed it so it uses numpy matrices.