netket.optimizer.qgt.QGTJacobianPyTree

netket.optimizer.qgt.QGTJacobianPyTree(vstate=None, *, mode=None, holomorphic=None, rescale_shift=False, **kwargs)[source]

Semi-lazy representation of an S Matrix where the Jacobian O_k is precomputed and stored as a PyTree.

The matrix of gradients O is computed on initialisation, but not S, which can be computed by calling to_dense. The details on how the ⟨S⟩⁻¹⟨F⟩ system is solved are contaianed in the field sr.

Parameters
  • vstate – The variational state

  • mode (Optional[str]) – “real”, “complex” or “holomorphic”: specifies the implementation used to compute the jacobian. “real” discards the imaginary part of the output of the model. “complex” splits the real and imaginary part of the parameters and output. It works also for non holomorphic models. holomorphic works for any function assuming it’s holomorphic or real valued.

  • holomorphic (Optional[bool]) – a flag to indicate that the function is holomorphic.

  • rescale_shift – If True rescales the diagonal shift

Return type

QGTJacobianPyTreeT