netket.errors.NonHolomorphicQGTOnTheFlyDenseRepresentationError

netket.errors.NonHolomorphicQGTOnTheFlyDenseRepresentationError#

exception netket.errors.NonHolomorphicQGTOnTheFlyDenseRepresentationError[source]#

QGTOnTheFly cannot be converted to a dense matrix for non-holomorphic functions which have complex parameters.

This limitation does not apply if the parameters are all real.

This error might have happened for two reasons:
  • you specified holomorphic=False because your ansatz is non-holomorphic. In that case you should use QGTJacobianPyTree or QGTJacobianDense implementations.

  • you did not specify holomorphic, which leads to the default value of holomorphic=False (in that case, you should have seen a warning). If that is the case, you should carefully check if your ansatz is holomorhic almost everywhere, and if that is the case, specify holomorphic=True. If your ansatz is not-holomorphic, the same suggestion as above applies.

Be warned that if you specify holomorphic=True when your ansatz is mathematically not holomorphic is a surprisingly bad idea and will lead to numerically wrong results, so I’d invite you not to lie to your computer.