@abc.abstractmethod<EOL><INDENT>def jacobian(self, params, into=None):<DEDENT>
raise RuntimeError('<STR_LIT>' % self)<EOL>
pf.jacobian(params) yields the potential function jacobian matrix at the given parameters
  params. The jacobian must always be a (possibly sparse) matrix; if there is a scalar
  output value for the potential function, then Jacobian should be (1 x n); if there is a
  scalar input parameter, the Jacobian should be (n x 1).

If the optional matrix into is provided then the returned jacobian may optionally be added
directly into this matrix and returned.