NetKet 3.19.0__tar.gz → 3.19.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {netket-3.19.0 → netket-3.19.2}/PKG-INFO +1 -1
- {netket-3.19.0 → netket-3.19.2}/netket/_version.py +16 -3
- {netket-3.19.0 → netket-3.19.2}/netket/graph/graph.py +5 -2
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/index/constrained_sum.py +2 -1
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/qgt_onthefly_logic.py +47 -31
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/parallel_tempering.py +26 -6
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/expect_forces_chunked.py +4 -3
- {netket-3.19.0 → netket-3.19.2}/.gitignore +0 -0
- {netket-3.19.0 → netket-3.19.2}/LICENSE +0 -0
- {netket-3.19.0 → netket-3.19.2}/README.md +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/_src/ngd/kwargs.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/_src/ngd/sr.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/_src/ngd/sr_srt_common.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/_src/ngd/srt.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/_src/ngd/srt_onthefly.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/_src/operator/hpsi_utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/callbacks/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/callbacks/convergence_stopping.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/callbacks/early_stopping.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/callbacks/invalid_loss_stopping.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/callbacks/timeout.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/driver/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/driver/abstract_variational_driver.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/driver/steady_state.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/driver/vmc.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/errors.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/exact.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/driver/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/driver/infidelity_sr.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/driver/tdvp.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/driver/tdvp_common.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/driver/tdvp_schmitt.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/driver/vmc_sr.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_integrator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_integrator_params.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_integrator_state.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_rk/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_rk/_solver.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_rk/_tableau.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_solver.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/dynamics/_utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/geometry/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/geometry/cell.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/hilbert/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/hilbert/continuous_hilbert.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/hilbert/particle.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/hilbert/random/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/hilbert/random/particle.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/logging/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/logging/hdf5_log.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/models/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/models/fast_rnn.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/models/rnn.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/nn/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/nn/rnn/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/nn/rnn/cells.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/nn/rnn/layers.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/nn/rnn/layers_fast.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/nn/rnn/ordering.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/infidelity/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/infidelity/exact.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/infidelity/expect.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/infidelity/infidelity_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/renyi2/S2_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/renyi2/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/renyi2/exact.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/renyi2/expect.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/variance/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/variance/exact.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/variance/expect.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/variance/variance_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_normal_order_utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_particle_number_conserving_fermionic/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_particle_number_conserving_fermionic/_conversion.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_particle_number_conserving_fermionic/_fermihubbard.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_particle_number_conserving_fermionic/_kernels.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_particle_number_conserving_fermionic/_operator_data.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_particle_number_conserving_fermionic/_operators.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/_pyscf_utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/fermion.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/operator/pyscf.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/qsr/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/qsr/dataset.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/qsr/driver.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/qsr/logic_helpers.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/sampler/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/sampler/rules/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/vqs/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/experimental/vqs/io.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/graph/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/graph/_lattice_draw.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/graph/_lattice_edge_logic.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/graph/abstract_graph.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/graph/common_lattices.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/graph/lattice.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/graph/space_group.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/abstract_hilbert.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/constraint/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/constraint/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/constraint/multiple.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/constraint/sum.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/constraint/sum_partition.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/discrete_hilbert.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/doubled_hilbert.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/fock.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/homogeneous.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/index/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/index/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/index/constrained_generic.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/index/constrained_sum_partitions.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/index/unconstrained.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/index/uniform_tensor.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/qubit.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/random/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/random/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/random/doubled.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/random/fock.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/random/homogeneous.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/random/qubit.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/random/tensor_hilbert.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/spin.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/spin_orbital_fermions.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/tensor_hilbert.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/hilbert/tensor_hilbert_discrete.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_chunk_utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_expect.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_grad.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_jacobian/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_jacobian/default_mode.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_jacobian/jacobian_dense.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_jacobian/jacobian_pytree.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_jacobian/logic.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_math.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_ntk/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_ntk/logic.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_ntk/utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_scanmap.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_sort.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_sparse.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_utils_dtype.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_utils_random.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_utils_tree.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_vjp.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_vjp_chunked.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/_vmap_chunked.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/jax/sharding.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/logging/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/logging/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/logging/json_log.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/logging/runtime_log.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/logging/state_log.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/logging/tensorboard.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/README.md +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/autoreg.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/deepset.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/equivariant.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/fast_autoreg.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/full_space.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/gaussian.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/jastrow.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/mlp.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/ndm.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/rbm.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/slater.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/tensor_networks/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/tensor_networks/mpdo.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/tensor_networks/mps.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/models/utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/activation.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/blocks/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/blocks/deepset.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/blocks/mlp.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/blocks/symmetry_sum.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/fast_masked_linear.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/masked_linear.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/symmetric_linear.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/nn/utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_abstract_observable.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_abstract_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_abstract_super_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_bose_hubbard/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_bose_hubbard/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_bose_hubbard/jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_bose_hubbard/numba.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_continuous_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_discrete_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_discrete_operator_jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_fermion2nd/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_fermion2nd/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_fermion2nd/jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_fermion2nd/numba.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_fermion2nd/utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_graph_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_hamiltonian.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_heisenberg.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_ising/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_ising/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_ising/jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_ising/numba.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_kinetic.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_lazy.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_liouvillian.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_operator/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_operator/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_operator/compile_helpers.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_operator/convert.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_operator/helpers.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_operator/jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_local_operator/numba.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_pauli_strings/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_pauli_strings/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_pauli_strings/jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_pauli_strings/numba.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_potential.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_sum/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_sum/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_sum/continuous.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_sum/discrete_jax_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_sum/discrete_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/_sum/operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/boson.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/fermion.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/operator/spin.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/linear_operator.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/preconditioner.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/common.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/default.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/qgt_jacobian.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/qgt_jacobian_common.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/qgt_jacobian_dense.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/qgt_jacobian_pytree.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/qgt/qgt_onthefly.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/solver/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/solver/solvers.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/optimizer/sr.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/autoreg.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/exact.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/metropolis.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/metropolis_numpy.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/continuous_gaussian.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/custom_numpy.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/exchange.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/fermion_2nd.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/fixed.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/hamiltonian.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/hamiltonian_numpy.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/langevin.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/local.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/local_numpy.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/multiple.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/sampler/rules/tensor.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/stats/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/stats/_autocorr.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/stats/mc_stats.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/stats/mc_stats_old.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/stats/mpi_stats.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/tools/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/tools/_common.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/tools/_cpu_info.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/tools/check_mpi.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/tools/djaxrun.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/tools/info.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/_dependencies_check.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/_serialization.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/api_utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/array.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/config_flags.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/deprecation.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/dispatch.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/display/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/display/repr.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/float.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/_group.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/_permutation_group.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/_point_group.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/_semigroup.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/axial.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/cubic.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/icosa.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/group/planar.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/history/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/history/accum.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/history/history.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/history/history_dict.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/holomorphic.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/equinox.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/flax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/haiku.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/jax.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/nnx.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/model_frameworks/nnx_wrapped.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/moduletools.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/mpi/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/mpi/mpi.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/mpi/primitives.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/numbers.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/optional_deps.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/partial.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/seed.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/static_number.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/static_range.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/struct/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/struct/dataclass.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/struct/fields.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/struct/pytree.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/struct/pytree_serialization_sharding.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/struct/utils.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/summation.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/timing.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/types.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/utils/version_check.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/base.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/full_summ/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/full_summ/expect.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/full_summ/state.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/common.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/kernels.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_mixed_state/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_mixed_state/expect.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_mixed_state/expect_chunked.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_mixed_state/state.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/__init__.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/expect.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/expect_chunked.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/expect_forces.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/expect_grad.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/expect_grad_chunked.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/netket/vqs/mc/mc_state/state.py +0 -0
- {netket-3.19.0 → netket-3.19.2}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: NetKet
|
|
3
|
-
Version: 3.19.
|
|
3
|
+
Version: 3.19.2
|
|
4
4
|
Summary: Netket : Machine Learning toolbox for many-body quantum systems.
|
|
5
5
|
Project-URL: homepage, https://www.netket.org
|
|
6
6
|
Project-URL: documentation, https://netket.readthedocs.io/en/latest/#
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
3
|
|
|
4
|
-
__all__ = [
|
|
4
|
+
__all__ = [
|
|
5
|
+
"__version__",
|
|
6
|
+
"__version_tuple__",
|
|
7
|
+
"version",
|
|
8
|
+
"version_tuple",
|
|
9
|
+
"__commit_id__",
|
|
10
|
+
"commit_id",
|
|
11
|
+
]
|
|
5
12
|
|
|
6
13
|
TYPE_CHECKING = False
|
|
7
14
|
if TYPE_CHECKING:
|
|
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
|
|
|
9
16
|
from typing import Union
|
|
10
17
|
|
|
11
18
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
+
COMMIT_ID = Union[str, None]
|
|
12
20
|
else:
|
|
13
21
|
VERSION_TUPLE = object
|
|
22
|
+
COMMIT_ID = object
|
|
14
23
|
|
|
15
24
|
version: str
|
|
16
25
|
__version__: str
|
|
17
26
|
__version_tuple__: VERSION_TUPLE
|
|
18
27
|
version_tuple: VERSION_TUPLE
|
|
28
|
+
commit_id: COMMIT_ID
|
|
29
|
+
__commit_id__: COMMIT_ID
|
|
19
30
|
|
|
20
|
-
__version__ = version = '3.19.
|
|
21
|
-
__version_tuple__ = version_tuple = (3, 19,
|
|
31
|
+
__version__ = version = '3.19.2'
|
|
32
|
+
__version_tuple__ = version_tuple = (3, 19, 2)
|
|
33
|
+
|
|
34
|
+
__commit_id__ = commit_id = None
|
|
@@ -181,7 +181,7 @@ class Graph(AbstractGraph):
|
|
|
181
181
|
|
|
182
182
|
def _compute_automorphisms(self):
|
|
183
183
|
"""
|
|
184
|
-
Compute the graph
|
|
184
|
+
Compute the graph automorphisms of this graph.
|
|
185
185
|
"""
|
|
186
186
|
colors = self.edge_colors
|
|
187
187
|
result = self._igraph.get_isomorphisms_vf2(
|
|
@@ -190,7 +190,10 @@ class Graph(AbstractGraph):
|
|
|
190
190
|
|
|
191
191
|
# sort them s.t. the identity comes first
|
|
192
192
|
result = np.unique(result, axis=0).tolist()
|
|
193
|
-
result = PermutationGroup(
|
|
193
|
+
result = PermutationGroup(
|
|
194
|
+
[Permutation(inverse_permutation_array=perm) for perm in result],
|
|
195
|
+
self.n_nodes,
|
|
196
|
+
)
|
|
194
197
|
return result
|
|
195
198
|
|
|
196
199
|
# TODO turn into a struct.property_cached?
|
|
@@ -78,7 +78,8 @@ class SumConstrainedHilbertIndex(HilbertIndex):
|
|
|
78
78
|
@jax.jit
|
|
79
79
|
def _compute_all_states(self):
|
|
80
80
|
if self.n_particles == 0:
|
|
81
|
-
|
|
81
|
+
all_states_fock = jnp.zeros((1, self.size), dtype=self.range.dtype)
|
|
82
|
+
return self.range.numbers_to_states(all_states_fock, dtype=self.range.dtype)
|
|
82
83
|
with jax.ensure_compile_time_eval():
|
|
83
84
|
c = jnp.repeat(
|
|
84
85
|
jnp.eye(self.size, dtype=self.range.dtype),
|
|
@@ -90,77 +90,93 @@ def mat_vec_factory(forward_fn, params, model_state, samples, pdf=None):
|
|
|
90
90
|
# Methods below are needed for the chunked version of QGTOnTheFly
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
@partial(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
@partial(
|
|
94
|
+
sharding_decorator, sharded_args_tree=(False, False, False, True, False, False)
|
|
95
|
+
)
|
|
96
|
+
def _O_jvp(forward_fn, params, model_state, samples, v, chunk_size):
|
|
97
|
+
@partial(scanmap, scan_fun=scan_append, argnums=3)
|
|
98
|
+
def __O_jvp(forward_fn, params, model_state, samples, v):
|
|
97
99
|
# TODO apply the transpose of sum_inplace (allreduce) to the arg v here
|
|
98
100
|
# in order to get correct transposition with JAX sharding
|
|
99
|
-
_, res = jax.jvp(lambda p: forward_fn(p, samples), (params,), (v,))
|
|
101
|
+
_, res = jax.jvp(lambda p: forward_fn(p, model_state, samples), (params,), (v,))
|
|
100
102
|
return res
|
|
101
103
|
|
|
102
104
|
samples, unchunk_fn = chunk(samples, chunk_size)
|
|
103
|
-
res = __O_jvp(forward_fn, params, samples, v)
|
|
105
|
+
res = __O_jvp(forward_fn, params, model_state, samples, v)
|
|
104
106
|
return unchunk_fn(res)
|
|
105
107
|
|
|
106
108
|
|
|
107
109
|
@partial(
|
|
108
110
|
sharding_decorator,
|
|
109
|
-
sharded_args_tree=(False, False, True, True, False),
|
|
111
|
+
sharded_args_tree=(False, False, False, True, True, False),
|
|
110
112
|
reduction_op_tree=jax.lax.psum,
|
|
111
113
|
)
|
|
112
|
-
def _O_vjp(forward_fn, params, samples, w, chunk_size):
|
|
113
|
-
@partial(scanmap, scan_fun=scan_reduce, argnums=(
|
|
114
|
-
def __O_vjp(forward_fn, params, samples, w):
|
|
115
|
-
_, vjp_fun = jax.vjp(forward_fn, params, samples)
|
|
116
|
-
|
|
117
|
-
return
|
|
114
|
+
def _O_vjp(forward_fn, params, model_state, samples, w, chunk_size):
|
|
115
|
+
@partial(scanmap, scan_fun=scan_reduce, argnums=(3, 4))
|
|
116
|
+
def __O_vjp(forward_fn, params, model_state, samples, w):
|
|
117
|
+
_, vjp_fun = jax.vjp(forward_fn, params, model_state, samples)
|
|
118
|
+
vjp_pars, _, _ = vjp_fun(w)
|
|
119
|
+
return vjp_pars
|
|
118
120
|
|
|
119
121
|
samples, _ = chunk(samples, chunk_size)
|
|
120
122
|
w, _ = chunk(w, chunk_size)
|
|
121
|
-
res = __O_vjp(forward_fn, params, samples, w)
|
|
123
|
+
res = __O_vjp(forward_fn, params, model_state, samples, w)
|
|
122
124
|
return res
|
|
123
125
|
|
|
124
126
|
|
|
125
|
-
def _OH_w(forward_fn, params, samples, w, chunk_size):
|
|
126
|
-
return tree_conj(
|
|
127
|
+
def _OH_w(forward_fn, params, model_state, samples, w, chunk_size):
|
|
128
|
+
return tree_conj(
|
|
129
|
+
_O_vjp(forward_fn, params, model_state, samples, w.conjugate(), chunk_size)
|
|
130
|
+
)
|
|
127
131
|
|
|
128
132
|
|
|
129
|
-
def _Odagger_DeltaO_v(
|
|
130
|
-
|
|
133
|
+
def _Odagger_DeltaO_v(
|
|
134
|
+
forward_fn, params, model_state, samples, v, chunk_size, pdf=None
|
|
135
|
+
):
|
|
136
|
+
w = _O_jvp(forward_fn, params, model_state, samples, v, chunk_size)
|
|
131
137
|
if pdf is None:
|
|
132
138
|
w = w * (1.0 / samples.shape[0])
|
|
133
139
|
w = subtract_mean(w) # w/ JAX sharding
|
|
134
140
|
else:
|
|
135
141
|
w = pdf * (w - pdf @ w)
|
|
136
|
-
res = _OH_w(forward_fn, params, samples, w, chunk_size)
|
|
142
|
+
res = _OH_w(forward_fn, params, model_state, samples, w, chunk_size)
|
|
137
143
|
return res
|
|
138
144
|
|
|
139
145
|
|
|
140
|
-
|
|
141
|
-
|
|
146
|
+
def _mat_vec_chunked(
|
|
147
|
+
forward_fn, params, model_state, samples, v, diag_shift, chunk_size, pdf=None
|
|
148
|
+
):
|
|
142
149
|
assert samples.ndim == 2 # require flat samples, axis 0 can be sharded
|
|
143
|
-
res = _Odagger_DeltaO_v(
|
|
150
|
+
res = _Odagger_DeltaO_v(
|
|
151
|
+
forward_fn, params, model_state, samples, v, chunk_size, pdf
|
|
152
|
+
)
|
|
144
153
|
return tree_axpy(diag_shift, v, res)
|
|
145
154
|
|
|
146
155
|
|
|
147
156
|
def _mat_vec_chunked_transposable(
|
|
148
|
-
forward_fn, params, samples, v, diag_shift, chunk_size, pdf=None
|
|
157
|
+
forward_fn, params, model_state, samples, v, diag_shift, chunk_size, pdf=None
|
|
149
158
|
):
|
|
150
|
-
extra_args = (params, samples, diag_shift, pdf)
|
|
159
|
+
extra_args = (params, model_state, samples, diag_shift, pdf)
|
|
151
160
|
|
|
152
161
|
def _mv(extra_args, x):
|
|
153
|
-
params, samples, diag_shift, pdf = extra_args
|
|
162
|
+
params, model_state, samples, diag_shift, pdf = extra_args
|
|
154
163
|
return _mat_vec_chunked(
|
|
155
|
-
forward_fn, params, samples, x, diag_shift, chunk_size, pdf
|
|
164
|
+
forward_fn, params, model_state, samples, x, diag_shift, chunk_size, pdf
|
|
156
165
|
)
|
|
157
166
|
|
|
158
167
|
def _mv_trans(extra_args, y):
|
|
159
168
|
# the linear operator is hermitian
|
|
160
|
-
params, samples, diag_shift, pdf = extra_args
|
|
169
|
+
params, model_state, samples, diag_shift, pdf = extra_args
|
|
161
170
|
return tree_conj(
|
|
162
171
|
_mat_vec_chunked(
|
|
163
|
-
forward_fn,
|
|
172
|
+
forward_fn,
|
|
173
|
+
params,
|
|
174
|
+
model_state,
|
|
175
|
+
samples,
|
|
176
|
+
tree_conj(y),
|
|
177
|
+
diag_shift,
|
|
178
|
+
chunk_size,
|
|
179
|
+
pdf,
|
|
164
180
|
)
|
|
165
181
|
)
|
|
166
182
|
|
|
@@ -198,13 +214,13 @@ def mat_vec_chunked_factory(
|
|
|
198
214
|
lambda v,δ : (S + δ I) v
|
|
199
215
|
"""
|
|
200
216
|
|
|
201
|
-
def fun(W, samples):
|
|
202
|
-
return forward_fn({"params": W, **
|
|
217
|
+
def fun(W, ms, samples):
|
|
218
|
+
return forward_fn({"params": W, **ms}, samples)
|
|
203
219
|
|
|
204
220
|
return Partial(
|
|
205
221
|
partial(_mat_vec_chunked_transposable, fun, chunk_size=chunk_size),
|
|
206
222
|
params,
|
|
223
|
+
model_state,
|
|
207
224
|
samples,
|
|
208
225
|
pdf=pdf,
|
|
209
226
|
)
|
|
210
|
-
# return Partial(lambda f, *args: jax.jit(f)(*args), Partial(partial(_mat_vec_chunked, fun), params, samples))
|
|
@@ -42,18 +42,38 @@ class ParallelTemperingSamplerState(MetropolisSamplerState):
|
|
|
42
42
|
Contains the usual quantities, as well as statistics about the paralel tempering.
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
-
beta: jnp.ndarray =
|
|
45
|
+
beta: jnp.ndarray = struct.field(
|
|
46
|
+
sharded=struct.ShardedFieldSpec(
|
|
47
|
+
sharded=True, deserialization_function="relaxed-ignore-errors"
|
|
48
|
+
)
|
|
49
|
+
)
|
|
46
50
|
"""The inverse temperatures of the different chains."""
|
|
47
51
|
|
|
48
|
-
n_accepted_per_beta: jnp.ndarray =
|
|
52
|
+
n_accepted_per_beta: jnp.ndarray = struct.field(
|
|
53
|
+
sharded=struct.ShardedFieldSpec(
|
|
54
|
+
sharded=True, deserialization_function="relaxed-ignore-errors"
|
|
55
|
+
)
|
|
56
|
+
)
|
|
49
57
|
"""Total number of moves accepted per beta across all JAX processes since the last reset."""
|
|
50
|
-
beta_0_index: jnp.ndarray =
|
|
58
|
+
beta_0_index: jnp.ndarray = struct.field(
|
|
59
|
+
sharded=struct.ShardedFieldSpec(
|
|
60
|
+
sharded=True, deserialization_function="relaxed-ignore-errors"
|
|
61
|
+
)
|
|
62
|
+
)
|
|
51
63
|
r"""Index of the position of the chain with :math:`\\beta=1`."""
|
|
52
|
-
beta_position: jnp.ndarray =
|
|
64
|
+
beta_position: jnp.ndarray = struct.field(
|
|
65
|
+
sharded=struct.ShardedFieldSpec(
|
|
66
|
+
sharded=True, deserialization_function="relaxed-ignore-errors"
|
|
67
|
+
)
|
|
68
|
+
)
|
|
53
69
|
r"""Averaged position of :math:`\\beta=1`."""
|
|
54
|
-
beta_diffusion: jnp.ndarray =
|
|
70
|
+
beta_diffusion: jnp.ndarray = struct.field(
|
|
71
|
+
sharded=struct.ShardedFieldSpec(
|
|
72
|
+
sharded=True, deserialization_function="relaxed-ignore-errors"
|
|
73
|
+
)
|
|
74
|
+
)
|
|
55
75
|
"""Average variance of the position of :math:`\\beta = 1`."""
|
|
56
|
-
exchange_steps: int =
|
|
76
|
+
exchange_steps: int = struct.field(default_factory=lambda: jnp.zeros((), dtype=int))
|
|
57
77
|
"""Number of exchanges between the different temperatures."""
|
|
58
78
|
|
|
59
79
|
def __init__(
|
|
@@ -128,13 +128,14 @@ def forces_expect_hermitian_chunked(
|
|
|
128
128
|
# mutable state (if it's there)
|
|
129
129
|
if mutable is False:
|
|
130
130
|
vjp_fun_chunked = nkjax.vjp_chunked(
|
|
131
|
-
lambda w, σ: model_apply_fun({"params": w, **
|
|
131
|
+
lambda w, ms, σ: model_apply_fun({"params": w, **ms}, σ),
|
|
132
132
|
parameters,
|
|
133
|
+
model_state,
|
|
133
134
|
σ,
|
|
134
135
|
conjugate=True,
|
|
135
136
|
chunk_size=chunk_size,
|
|
136
|
-
chunk_argnums=
|
|
137
|
-
nondiff_argnums=1,
|
|
137
|
+
chunk_argnums=2,
|
|
138
|
+
nondiff_argnums=(1, 2),
|
|
138
139
|
)
|
|
139
140
|
new_model_state = None
|
|
140
141
|
else:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/infidelity/infidelity_operator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netket-3.19.0 → netket-3.19.2}/netket/experimental/observable/variance/variance_operator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|