neuralqx.experimental.vqs package

Experimental variational quantum states in neuraLQX.

class MultiMCState(states)

Bases: object

Container for multiple MCState objects with overlap diagnostics.

This class groups several independently sampled variational Monte Carlo states that share the same Hilbert space, and provides tools to compute pairwise overlap measures such as the fidelity matrix and derived quantities (overlap magnitude and orthogonality).

All contained states must act on the same Hilbert space, a mismatch raises ValueError.

Parameters are managed per-state, no parameters are shared unless you explicitly tie them outside of this container.

Parameters:

states (list[MCState]) – List of Monte Carlo variational states to manage.

Raises:

ValueError – If states is empty or if any pair of states has a different Hilbert space.

class STMultiMCState(states, *, canonical_state=0, sync_model_state=False)

Bases: object

A Container for multiple head-specific MCState objects that share one parameter pytree.

This class is intentionally small and driver-oriented. It assumes you already created one MCState per head (typically from STMHHeadView models) with identical parameter tree structure, and then synchronizes their parameters so they act as different views of the same ST-MH model.

The current MultiMCState returns a list of parameter pytrees (one per state), which is exactly right for MT-MH (independent networks) but is not the ST-MH (shared trunk + heads in one joint parameter set) Ansatz. Here we expose a single parameter pytree to the base VMC driver so optimizer state and updates are computed only once.

Parameters:
  • states (list[MCState]) – List of head-specific MCState objects. They must share the same Hilbert space and the same parameter-tree structure.

  • canonical_state (int) – Index of the state whose parameters are treated as the canonical source of truth.

  • sync_model_state (bool) – If True, broadcast_from_canonical() also copies model_state from the canonical state to all other states. Keep this False unless you really need mutable model-state collections and understand the implications.

Subpackages