def __call__(self, params):
z  = self.value(params)<EOL>dz = self.jacobian(params)<EOL>if sps.issparse(dz): dz = dz.toarray()<EOL>z  = np.squeeze(z)<EOL>dz = np.squeeze(dz)<EOL>return (z,dz)<EOL>
pf(params) yields the tuple (z, dz) where z is the potential value at the given parameters
  vector, params, and dz is the vector of the potential gradient.