analytic gradients