fix a fucking bug: forget AT for the gradient AT(Ax-b)