neuralqx.driver package¶
The VMC driver module
- class VMC(hamiltonian, optimizer, *, variational_state, preconditioner=<netket.optimizer.preconditioner.IdentityPreconditioner object>)¶
Bases:
AbstractVariationalDriverVariational Monte Carlo optimisation driver.
This driver minimises the expectation value of a Hamiltonian like objective using samples produced by the provided variational state. It computes the loss statistics and gradient via variational_state.expect_and_grad, optionally applies a preconditioner, and forwards the resulting update direction to the underlying AbstractVariationalDriver optimisation loop.
- Parameters:
hamiltonian (
AbstractOperator|list) – The operator to minimise, or a list of operators to be passed directly to variational_state.expect_and_grad.optimizer (
Any) – Optimiser defining how parameter updates are applied given a gradient.variational_state (
VariationalState) – Variational state that supplies sampling, expectation values, and gradients.preconditioner (
Callable[[VariationalState,Any,Any|None],Any]) – Callable that transforms the raw gradient before optimisation. If None, the identity preconditioner is used.
- Raises:
TypeError – If any operator Hilbert space differs from variational_state.hilbert.