NetKet 3.14.0__tar.gz → 3.14.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.
Files changed (315) hide show
  1. {netket-3.14.0 → netket-3.14.2}/PKG-INFO +1 -1
  2. {netket-3.14.0 → netket-3.14.2}/netket/_version.py +2 -2
  3. {netket-3.14.0 → netket-3.14.2}/netket/experimental/dynamics/_rk_solver_structures.py +57 -12
  4. {netket-3.14.0 → netket-3.14.2}/netket/experimental/hilbert/spin_orbital_fermions.py +10 -9
  5. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/constraint/multiple.py +5 -13
  6. {netket-3.14.0 → netket-3.14.2}/netket/utils/summation.py +30 -5
  7. {netket-3.14.0 → netket-3.14.2}/netket/vqs/full_summ/state.py +1 -1
  8. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/state.py +1 -1
  9. {netket-3.14.0 → netket-3.14.2}/pyproject.toml +9 -1
  10. {netket-3.14.0 → netket-3.14.2}/.gitignore +0 -0
  11. {netket-3.14.0 → netket-3.14.2}/LICENSE +0 -0
  12. {netket-3.14.0 → netket-3.14.2}/README.md +0 -0
  13. {netket-3.14.0 → netket-3.14.2}/hatch.toml +0 -0
  14. {netket-3.14.0 → netket-3.14.2}/netket/__init__.py +0 -0
  15. {netket-3.14.0 → netket-3.14.2}/netket/callbacks/__init__.py +0 -0
  16. {netket-3.14.0 → netket-3.14.2}/netket/callbacks/convergence_stopping.py +0 -0
  17. {netket-3.14.0 → netket-3.14.2}/netket/callbacks/earlystopping.py +0 -0
  18. {netket-3.14.0 → netket-3.14.2}/netket/callbacks/invalidlossstopping.py +0 -0
  19. {netket-3.14.0 → netket-3.14.2}/netket/callbacks/timeout.py +0 -0
  20. {netket-3.14.0 → netket-3.14.2}/netket/driver/__init__.py +0 -0
  21. {netket-3.14.0 → netket-3.14.2}/netket/driver/abstract_variational_driver.py +0 -0
  22. {netket-3.14.0 → netket-3.14.2}/netket/driver/steady_state.py +0 -0
  23. {netket-3.14.0 → netket-3.14.2}/netket/driver/vmc.py +0 -0
  24. {netket-3.14.0 → netket-3.14.2}/netket/driver/vmc_common.py +0 -0
  25. {netket-3.14.0 → netket-3.14.2}/netket/errors.py +0 -0
  26. {netket-3.14.0 → netket-3.14.2}/netket/exact.py +0 -0
  27. {netket-3.14.0 → netket-3.14.2}/netket/experimental/__init__.py +0 -0
  28. {netket-3.14.0 → netket-3.14.2}/netket/experimental/driver/__init__.py +0 -0
  29. {netket-3.14.0 → netket-3.14.2}/netket/experimental/driver/tdvp.py +0 -0
  30. {netket-3.14.0 → netket-3.14.2}/netket/experimental/driver/tdvp_common.py +0 -0
  31. {netket-3.14.0 → netket-3.14.2}/netket/experimental/driver/tdvp_schmitt.py +0 -0
  32. {netket-3.14.0 → netket-3.14.2}/netket/experimental/driver/vmc_srt.py +0 -0
  33. {netket-3.14.0 → netket-3.14.2}/netket/experimental/dynamics/__init__.py +0 -0
  34. {netket-3.14.0 → netket-3.14.2}/netket/experimental/dynamics/_rk_solver.py +0 -0
  35. {netket-3.14.0 → netket-3.14.2}/netket/experimental/dynamics/_rk_tableau.py +0 -0
  36. {netket-3.14.0 → netket-3.14.2}/netket/experimental/dynamics/_rk_tableau_definitions.py +0 -0
  37. {netket-3.14.0 → netket-3.14.2}/netket/experimental/hilbert/__init__.py +0 -0
  38. {netket-3.14.0 → netket-3.14.2}/netket/experimental/logging/__init__.py +0 -0
  39. {netket-3.14.0 → netket-3.14.2}/netket/experimental/logging/hdf5_log.py +0 -0
  40. {netket-3.14.0 → netket-3.14.2}/netket/experimental/models/__init__.py +0 -0
  41. {netket-3.14.0 → netket-3.14.2}/netket/experimental/models/fast_rnn.py +0 -0
  42. {netket-3.14.0 → netket-3.14.2}/netket/experimental/models/rnn.py +0 -0
  43. {netket-3.14.0 → netket-3.14.2}/netket/experimental/nn/__init__.py +0 -0
  44. {netket-3.14.0 → netket-3.14.2}/netket/experimental/nn/rnn/__init__.py +0 -0
  45. {netket-3.14.0 → netket-3.14.2}/netket/experimental/nn/rnn/cells.py +0 -0
  46. {netket-3.14.0 → netket-3.14.2}/netket/experimental/nn/rnn/layers.py +0 -0
  47. {netket-3.14.0 → netket-3.14.2}/netket/experimental/nn/rnn/layers_fast.py +0 -0
  48. {netket-3.14.0 → netket-3.14.2}/netket/experimental/nn/rnn/ordering.py +0 -0
  49. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/__init__.py +0 -0
  50. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/renyi2/S2_operator.py +0 -0
  51. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/renyi2/__init__.py +0 -0
  52. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/renyi2/exact.py +0 -0
  53. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/renyi2/expect.py +0 -0
  54. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/variance/__init__.py +0 -0
  55. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/variance/exact.py +0 -0
  56. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/variance/expect.py +0 -0
  57. {netket-3.14.0 → netket-3.14.2}/netket/experimental/observable/variance/variance_operator.py +0 -0
  58. {netket-3.14.0 → netket-3.14.2}/netket/experimental/operator/__init__.py +0 -0
  59. {netket-3.14.0 → netket-3.14.2}/netket/experimental/operator/_fermion_operator_2nd_base.py +0 -0
  60. {netket-3.14.0 → netket-3.14.2}/netket/experimental/operator/_fermion_operator_2nd_jax.py +0 -0
  61. {netket-3.14.0 → netket-3.14.2}/netket/experimental/operator/_fermion_operator_2nd_numba.py +0 -0
  62. {netket-3.14.0 → netket-3.14.2}/netket/experimental/operator/_fermion_operator_2nd_utils.py +0 -0
  63. {netket-3.14.0 → netket-3.14.2}/netket/experimental/operator/fermion.py +0 -0
  64. {netket-3.14.0 → netket-3.14.2}/netket/experimental/operator/pyscf.py +0 -0
  65. {netket-3.14.0 → netket-3.14.2}/netket/experimental/qsr/__init__.py +0 -0
  66. {netket-3.14.0 → netket-3.14.2}/netket/experimental/qsr/dataset.py +0 -0
  67. {netket-3.14.0 → netket-3.14.2}/netket/experimental/qsr/driver.py +0 -0
  68. {netket-3.14.0 → netket-3.14.2}/netket/experimental/qsr/logic_helpers.py +0 -0
  69. {netket-3.14.0 → netket-3.14.2}/netket/experimental/sampler/__init__.py +0 -0
  70. {netket-3.14.0 → netket-3.14.2}/netket/experimental/sampler/metropolis.py +0 -0
  71. {netket-3.14.0 → netket-3.14.2}/netket/experimental/sampler/metropolis_pmap.py +0 -0
  72. {netket-3.14.0 → netket-3.14.2}/netket/experimental/sampler/rules/__init__.py +0 -0
  73. {netket-3.14.0 → netket-3.14.2}/netket/experimental/sampler/rules/fermion_2nd.py +0 -0
  74. {netket-3.14.0 → netket-3.14.2}/netket/experimental/vqs/__init__.py +0 -0
  75. {netket-3.14.0 → netket-3.14.2}/netket/experimental/vqs/io.py +0 -0
  76. {netket-3.14.0 → netket-3.14.2}/netket/graph/__init__.py +0 -0
  77. {netket-3.14.0 → netket-3.14.2}/netket/graph/_lattice_edge_logic.py +0 -0
  78. {netket-3.14.0 → netket-3.14.2}/netket/graph/abstract_graph.py +0 -0
  79. {netket-3.14.0 → netket-3.14.2}/netket/graph/common_lattices.py +0 -0
  80. {netket-3.14.0 → netket-3.14.2}/netket/graph/graph.py +0 -0
  81. {netket-3.14.0 → netket-3.14.2}/netket/graph/lattice.py +0 -0
  82. {netket-3.14.0 → netket-3.14.2}/netket/graph/space_group.py +0 -0
  83. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/__init__.py +0 -0
  84. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/abstract_hilbert.py +0 -0
  85. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/constraint/__init__.py +0 -0
  86. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/constraint/base.py +0 -0
  87. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/constraint/sum.py +0 -0
  88. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/constraint/sum_partition.py +0 -0
  89. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/continuous_hilbert.py +0 -0
  90. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/custom_hilbert.py +0 -0
  91. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/discrete_hilbert.py +0 -0
  92. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/doubled_hilbert.py +0 -0
  93. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/fock.py +0 -0
  94. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/homogeneous.py +0 -0
  95. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/index/__init__.py +0 -0
  96. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/index/base.py +0 -0
  97. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/index/constrained_generic.py +0 -0
  98. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/index/constrained_sum.py +0 -0
  99. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/index/constrained_sum_partitions.py +0 -0
  100. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/index/unconstrained.py +0 -0
  101. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/index/uniform_tensor.py +0 -0
  102. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/particle.py +0 -0
  103. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/qubit.py +0 -0
  104. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/__init__.py +0 -0
  105. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/base.py +0 -0
  106. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/custom.py +0 -0
  107. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/doubled.py +0 -0
  108. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/fock.py +0 -0
  109. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/homogeneous.py +0 -0
  110. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/particle.py +0 -0
  111. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/qubit.py +0 -0
  112. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/random/tensor_hilbert.py +0 -0
  113. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/spin.py +0 -0
  114. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/tensor_hilbert.py +0 -0
  115. {netket-3.14.0 → netket-3.14.2}/netket/hilbert/tensor_hilbert_discrete.py +0 -0
  116. {netket-3.14.0 → netket-3.14.2}/netket/jax/__init__.py +0 -0
  117. {netket-3.14.0 → netket-3.14.2}/netket/jax/_chunk_utils.py +0 -0
  118. {netket-3.14.0 → netket-3.14.2}/netket/jax/_expect.py +0 -0
  119. {netket-3.14.0 → netket-3.14.2}/netket/jax/_grad.py +0 -0
  120. {netket-3.14.0 → netket-3.14.2}/netket/jax/_jacobian/__init__.py +0 -0
  121. {netket-3.14.0 → netket-3.14.2}/netket/jax/_jacobian/default_mode.py +0 -0
  122. {netket-3.14.0 → netket-3.14.2}/netket/jax/_jacobian/jacobian_dense.py +0 -0
  123. {netket-3.14.0 → netket-3.14.2}/netket/jax/_jacobian/jacobian_pytree.py +0 -0
  124. {netket-3.14.0 → netket-3.14.2}/netket/jax/_jacobian/logic.py +0 -0
  125. {netket-3.14.0 → netket-3.14.2}/netket/jax/_math.py +0 -0
  126. {netket-3.14.0 → netket-3.14.2}/netket/jax/_scanmap.py +0 -0
  127. {netket-3.14.0 → netket-3.14.2}/netket/jax/_sort.py +0 -0
  128. {netket-3.14.0 → netket-3.14.2}/netket/jax/_utils_dtype.py +0 -0
  129. {netket-3.14.0 → netket-3.14.2}/netket/jax/_utils_random.py +0 -0
  130. {netket-3.14.0 → netket-3.14.2}/netket/jax/_utils_tree.py +0 -0
  131. {netket-3.14.0 → netket-3.14.2}/netket/jax/_vjp.py +0 -0
  132. {netket-3.14.0 → netket-3.14.2}/netket/jax/_vjp_chunked.py +0 -0
  133. {netket-3.14.0 → netket-3.14.2}/netket/jax/_vmap_chunked.py +0 -0
  134. {netket-3.14.0 → netket-3.14.2}/netket/jax/sharding.py +0 -0
  135. {netket-3.14.0 → netket-3.14.2}/netket/logging/__init__.py +0 -0
  136. {netket-3.14.0 → netket-3.14.2}/netket/logging/base.py +0 -0
  137. {netket-3.14.0 → netket-3.14.2}/netket/logging/json_log.py +0 -0
  138. {netket-3.14.0 → netket-3.14.2}/netket/logging/runtime_log.py +0 -0
  139. {netket-3.14.0 → netket-3.14.2}/netket/logging/state_log.py +0 -0
  140. {netket-3.14.0 → netket-3.14.2}/netket/logging/tensorboard.py +0 -0
  141. {netket-3.14.0 → netket-3.14.2}/netket/models/README.md +0 -0
  142. {netket-3.14.0 → netket-3.14.2}/netket/models/__init__.py +0 -0
  143. {netket-3.14.0 → netket-3.14.2}/netket/models/autoreg.py +0 -0
  144. {netket-3.14.0 → netket-3.14.2}/netket/models/deepset.py +0 -0
  145. {netket-3.14.0 → netket-3.14.2}/netket/models/equivariant.py +0 -0
  146. {netket-3.14.0 → netket-3.14.2}/netket/models/fast_autoreg.py +0 -0
  147. {netket-3.14.0 → netket-3.14.2}/netket/models/full_space.py +0 -0
  148. {netket-3.14.0 → netket-3.14.2}/netket/models/gaussian.py +0 -0
  149. {netket-3.14.0 → netket-3.14.2}/netket/models/jastrow.py +0 -0
  150. {netket-3.14.0 → netket-3.14.2}/netket/models/mlp.py +0 -0
  151. {netket-3.14.0 → netket-3.14.2}/netket/models/ndm.py +0 -0
  152. {netket-3.14.0 → netket-3.14.2}/netket/models/rbm.py +0 -0
  153. {netket-3.14.0 → netket-3.14.2}/netket/models/slater.py +0 -0
  154. {netket-3.14.0 → netket-3.14.2}/netket/models/tensor_networks/__init__.py +0 -0
  155. {netket-3.14.0 → netket-3.14.2}/netket/models/tensor_networks/mpdo.py +0 -0
  156. {netket-3.14.0 → netket-3.14.2}/netket/models/tensor_networks/mps.py +0 -0
  157. {netket-3.14.0 → netket-3.14.2}/netket/models/utils.py +0 -0
  158. {netket-3.14.0 → netket-3.14.2}/netket/nn/__init__.py +0 -0
  159. {netket-3.14.0 → netket-3.14.2}/netket/nn/activation.py +0 -0
  160. {netket-3.14.0 → netket-3.14.2}/netket/nn/blocks/__init__.py +0 -0
  161. {netket-3.14.0 → netket-3.14.2}/netket/nn/blocks/deepset.py +0 -0
  162. {netket-3.14.0 → netket-3.14.2}/netket/nn/blocks/mlp.py +0 -0
  163. {netket-3.14.0 → netket-3.14.2}/netket/nn/blocks/symmetry_sum.py +0 -0
  164. {netket-3.14.0 → netket-3.14.2}/netket/nn/fast_masked_linear.py +0 -0
  165. {netket-3.14.0 → netket-3.14.2}/netket/nn/masked_linear.py +0 -0
  166. {netket-3.14.0 → netket-3.14.2}/netket/nn/symmetric_linear.py +0 -0
  167. {netket-3.14.0 → netket-3.14.2}/netket/nn/utils.py +0 -0
  168. {netket-3.14.0 → netket-3.14.2}/netket/operator/__init__.py +0 -0
  169. {netket-3.14.0 → netket-3.14.2}/netket/operator/_abstract_observable.py +0 -0
  170. {netket-3.14.0 → netket-3.14.2}/netket/operator/_abstract_operator.py +0 -0
  171. {netket-3.14.0 → netket-3.14.2}/netket/operator/_abstract_super_operator.py +0 -0
  172. {netket-3.14.0 → netket-3.14.2}/netket/operator/_bose_hubbard/__init__.py +0 -0
  173. {netket-3.14.0 → netket-3.14.2}/netket/operator/_bose_hubbard/base.py +0 -0
  174. {netket-3.14.0 → netket-3.14.2}/netket/operator/_bose_hubbard/jax.py +0 -0
  175. {netket-3.14.0 → netket-3.14.2}/netket/operator/_bose_hubbard/numba.py +0 -0
  176. {netket-3.14.0 → netket-3.14.2}/netket/operator/_continuous_operator.py +0 -0
  177. {netket-3.14.0 → netket-3.14.2}/netket/operator/_discrete_operator.py +0 -0
  178. {netket-3.14.0 → netket-3.14.2}/netket/operator/_discrete_operator_jax.py +0 -0
  179. {netket-3.14.0 → netket-3.14.2}/netket/operator/_graph_operator.py +0 -0
  180. {netket-3.14.0 → netket-3.14.2}/netket/operator/_hamiltonian.py +0 -0
  181. {netket-3.14.0 → netket-3.14.2}/netket/operator/_heisenberg.py +0 -0
  182. {netket-3.14.0 → netket-3.14.2}/netket/operator/_ising/__init__.py +0 -0
  183. {netket-3.14.0 → netket-3.14.2}/netket/operator/_ising/base.py +0 -0
  184. {netket-3.14.0 → netket-3.14.2}/netket/operator/_ising/jax.py +0 -0
  185. {netket-3.14.0 → netket-3.14.2}/netket/operator/_ising/numba.py +0 -0
  186. {netket-3.14.0 → netket-3.14.2}/netket/operator/_kinetic.py +0 -0
  187. {netket-3.14.0 → netket-3.14.2}/netket/operator/_lazy.py +0 -0
  188. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_liouvillian.py +0 -0
  189. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_operator/__init__.py +0 -0
  190. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_operator/base.py +0 -0
  191. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_operator/compile_helpers.py +0 -0
  192. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_operator/convert.py +0 -0
  193. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_operator/helpers.py +0 -0
  194. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_operator/jax.py +0 -0
  195. {netket-3.14.0 → netket-3.14.2}/netket/operator/_local_operator/numba.py +0 -0
  196. {netket-3.14.0 → netket-3.14.2}/netket/operator/_pauli_strings/__init__.py +0 -0
  197. {netket-3.14.0 → netket-3.14.2}/netket/operator/_pauli_strings/base.py +0 -0
  198. {netket-3.14.0 → netket-3.14.2}/netket/operator/_pauli_strings/jax.py +0 -0
  199. {netket-3.14.0 → netket-3.14.2}/netket/operator/_pauli_strings/numba.py +0 -0
  200. {netket-3.14.0 → netket-3.14.2}/netket/operator/_potential.py +0 -0
  201. {netket-3.14.0 → netket-3.14.2}/netket/operator/_sumoperators.py +0 -0
  202. {netket-3.14.0 → netket-3.14.2}/netket/operator/boson.py +0 -0
  203. {netket-3.14.0 → netket-3.14.2}/netket/operator/spin.py +0 -0
  204. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/__init__.py +0 -0
  205. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/linear_operator.py +0 -0
  206. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/preconditioner.py +0 -0
  207. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/__init__.py +0 -0
  208. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/common.py +0 -0
  209. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/default.py +0 -0
  210. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/qgt_jacobian.py +0 -0
  211. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/qgt_jacobian_common.py +0 -0
  212. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/qgt_jacobian_dense.py +0 -0
  213. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/qgt_jacobian_pytree.py +0 -0
  214. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/qgt_onthefly.py +0 -0
  215. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/qgt/qgt_onthefly_logic.py +0 -0
  216. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/solver/__init__.py +0 -0
  217. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/solver/solvers.py +0 -0
  218. {netket-3.14.0 → netket-3.14.2}/netket/optimizer/sr.py +0 -0
  219. {netket-3.14.0 → netket-3.14.2}/netket/sampler/__init__.py +0 -0
  220. {netket-3.14.0 → netket-3.14.2}/netket/sampler/autoreg.py +0 -0
  221. {netket-3.14.0 → netket-3.14.2}/netket/sampler/base.py +0 -0
  222. {netket-3.14.0 → netket-3.14.2}/netket/sampler/exact.py +0 -0
  223. {netket-3.14.0 → netket-3.14.2}/netket/sampler/metropolis.py +0 -0
  224. {netket-3.14.0 → netket-3.14.2}/netket/sampler/metropolis_numpy.py +0 -0
  225. {netket-3.14.0 → netket-3.14.2}/netket/sampler/metropolis_pt.py +0 -0
  226. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/__init__.py +0 -0
  227. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/base.py +0 -0
  228. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/continuous_gaussian.py +0 -0
  229. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/custom_numpy.py +0 -0
  230. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/exchange.py +0 -0
  231. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/fixed.py +0 -0
  232. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/hamiltonian.py +0 -0
  233. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/hamiltonian_numpy.py +0 -0
  234. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/langevin.py +0 -0
  235. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/local.py +0 -0
  236. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/local_numpy.py +0 -0
  237. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/multiple.py +0 -0
  238. {netket-3.14.0 → netket-3.14.2}/netket/sampler/rules/tensor.py +0 -0
  239. {netket-3.14.0 → netket-3.14.2}/netket/stats/__init__.py +0 -0
  240. {netket-3.14.0 → netket-3.14.2}/netket/stats/_autocorr.py +0 -0
  241. {netket-3.14.0 → netket-3.14.2}/netket/stats/mc_stats.py +0 -0
  242. {netket-3.14.0 → netket-3.14.2}/netket/stats/mc_stats_old.py +0 -0
  243. {netket-3.14.0 → netket-3.14.2}/netket/stats/mpi_stats.py +0 -0
  244. {netket-3.14.0 → netket-3.14.2}/netket/tools/__init__.py +0 -0
  245. {netket-3.14.0 → netket-3.14.2}/netket/tools/_common.py +0 -0
  246. {netket-3.14.0 → netket-3.14.2}/netket/tools/_cpu_info.py +0 -0
  247. {netket-3.14.0 → netket-3.14.2}/netket/tools/_mpi_info.py +0 -0
  248. {netket-3.14.0 → netket-3.14.2}/netket/tools/check_mpi.py +0 -0
  249. {netket-3.14.0 → netket-3.14.2}/netket/tools/info.py +0 -0
  250. {netket-3.14.0 → netket-3.14.2}/netket/utils/__init__.py +0 -0
  251. {netket-3.14.0 → netket-3.14.2}/netket/utils/_dependencies_check.py +0 -0
  252. {netket-3.14.0 → netket-3.14.2}/netket/utils/api_utils.py +0 -0
  253. {netket-3.14.0 → netket-3.14.2}/netket/utils/array.py +0 -0
  254. {netket-3.14.0 → netket-3.14.2}/netket/utils/config_flags.py +0 -0
  255. {netket-3.14.0 → netket-3.14.2}/netket/utils/deprecation.py +0 -0
  256. {netket-3.14.0 → netket-3.14.2}/netket/utils/dispatch.py +0 -0
  257. {netket-3.14.0 → netket-3.14.2}/netket/utils/display/__init__.py +0 -0
  258. {netket-3.14.0 → netket-3.14.2}/netket/utils/display/repr.py +0 -0
  259. {netket-3.14.0 → netket-3.14.2}/netket/utils/float.py +0 -0
  260. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/__init__.py +0 -0
  261. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/_group.py +0 -0
  262. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/_permutation_group.py +0 -0
  263. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/_point_group.py +0 -0
  264. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/_semigroup.py +0 -0
  265. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/axial.py +0 -0
  266. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/cubic.py +0 -0
  267. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/icosa.py +0 -0
  268. {netket-3.14.0 → netket-3.14.2}/netket/utils/group/planar.py +0 -0
  269. {netket-3.14.0 → netket-3.14.2}/netket/utils/history.py +0 -0
  270. {netket-3.14.0 → netket-3.14.2}/netket/utils/holomorphic.py +0 -0
  271. {netket-3.14.0 → netket-3.14.2}/netket/utils/jax.py +0 -0
  272. {netket-3.14.0 → netket-3.14.2}/netket/utils/model_frameworks/__init__.py +0 -0
  273. {netket-3.14.0 → netket-3.14.2}/netket/utils/model_frameworks/base.py +0 -0
  274. {netket-3.14.0 → netket-3.14.2}/netket/utils/model_frameworks/equinox.py +0 -0
  275. {netket-3.14.0 → netket-3.14.2}/netket/utils/model_frameworks/flax.py +0 -0
  276. {netket-3.14.0 → netket-3.14.2}/netket/utils/model_frameworks/haiku.py +0 -0
  277. {netket-3.14.0 → netket-3.14.2}/netket/utils/model_frameworks/jax.py +0 -0
  278. {netket-3.14.0 → netket-3.14.2}/netket/utils/moduletools.py +0 -0
  279. {netket-3.14.0 → netket-3.14.2}/netket/utils/mpi/__init__.py +0 -0
  280. {netket-3.14.0 → netket-3.14.2}/netket/utils/mpi/gpu_autorank_util.py +0 -0
  281. {netket-3.14.0 → netket-3.14.2}/netket/utils/mpi/mpi.py +0 -0
  282. {netket-3.14.0 → netket-3.14.2}/netket/utils/mpi/primitives.py +0 -0
  283. {netket-3.14.0 → netket-3.14.2}/netket/utils/numbers.py +0 -0
  284. {netket-3.14.0 → netket-3.14.2}/netket/utils/optional_deps.py +0 -0
  285. {netket-3.14.0 → netket-3.14.2}/netket/utils/partial.py +0 -0
  286. {netket-3.14.0 → netket-3.14.2}/netket/utils/seed.py +0 -0
  287. {netket-3.14.0 → netket-3.14.2}/netket/utils/static_number.py +0 -0
  288. {netket-3.14.0 → netket-3.14.2}/netket/utils/static_range.py +0 -0
  289. {netket-3.14.0 → netket-3.14.2}/netket/utils/struct/__init__.py +0 -0
  290. {netket-3.14.0 → netket-3.14.2}/netket/utils/struct/dataclass.py +0 -0
  291. {netket-3.14.0 → netket-3.14.2}/netket/utils/struct/fields.py +0 -0
  292. {netket-3.14.0 → netket-3.14.2}/netket/utils/struct/pytree.py +0 -0
  293. {netket-3.14.0 → netket-3.14.2}/netket/utils/struct/pytree_serialization_sharding.py +0 -0
  294. {netket-3.14.0 → netket-3.14.2}/netket/utils/struct/utils.py +0 -0
  295. {netket-3.14.0 → netket-3.14.2}/netket/utils/timing.py +0 -0
  296. {netket-3.14.0 → netket-3.14.2}/netket/utils/types.py +0 -0
  297. {netket-3.14.0 → netket-3.14.2}/netket/utils/version_check.py +0 -0
  298. {netket-3.14.0 → netket-3.14.2}/netket/vqs/__init__.py +0 -0
  299. {netket-3.14.0 → netket-3.14.2}/netket/vqs/base.py +0 -0
  300. {netket-3.14.0 → netket-3.14.2}/netket/vqs/full_summ/__init__.py +0 -0
  301. {netket-3.14.0 → netket-3.14.2}/netket/vqs/full_summ/expect.py +0 -0
  302. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/__init__.py +0 -0
  303. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/common.py +0 -0
  304. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/kernels.py +0 -0
  305. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_mixed_state/__init__.py +0 -0
  306. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_mixed_state/expect.py +0 -0
  307. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_mixed_state/expect_chunked.py +0 -0
  308. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_mixed_state/state.py +0 -0
  309. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/__init__.py +0 -0
  310. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/expect.py +0 -0
  311. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/expect_chunked.py +0 -0
  312. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/expect_forces.py +0 -0
  313. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/expect_forces_chunked.py +0 -0
  314. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/expect_grad.py +0 -0
  315. {netket-3.14.0 → netket-3.14.2}/netket/vqs/mc/mc_state/expect_grad_chunked.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: NetKet
3
- Version: 3.14.0
3
+ Version: 3.14.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/#
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '3.14.0'
16
- __version_tuple__ = version_tuple = (3, 14, 0)
15
+ __version__ = version = '3.14.2'
16
+ __version_tuple__ = version_tuple = (3, 14, 2)
@@ -22,7 +22,7 @@ import jax.numpy as jnp
22
22
  import netket as nk
23
23
  from netket import config
24
24
  from netket.utils.mpi.primitives import mpi_all_jax
25
- from netket.utils.struct import dataclass, field
25
+ from netket.utils import struct, KahanSum
26
26
  from netket.utils.types import Array, PyTree
27
27
  from netket.utils.numbers import dtype as _dtype
28
28
 
@@ -124,13 +124,13 @@ def maximum_norm(x: PyTree | Array):
124
124
  )
125
125
 
126
126
 
127
- @dataclass
128
- class RungeKuttaState:
127
+ @struct.dataclass
128
+ class RungeKuttaState(struct.Pytree):
129
129
  step_no: int
130
130
  """Number of successful steps since the start of the iteration."""
131
131
  step_no_total: int
132
132
  """Number of steps since the start of the iteration, including rejected steps."""
133
- t: nk.utils.KahanSum
133
+ t: KahanSum
134
134
  """Current time."""
135
135
  y: Array
136
136
  """Solution at current time."""
@@ -143,6 +143,53 @@ class RungeKuttaState:
143
143
  flags: SolverFlags = SolverFlags.INFO_STEP_ACCEPTED
144
144
  """Flags containing information on the solver state."""
145
145
 
146
+ def __init__(
147
+ self,
148
+ y,
149
+ t: float,
150
+ dt: float,
151
+ *,
152
+ step_no=0,
153
+ step_no_total=0,
154
+ last_norm=None,
155
+ last_scaled_error=None,
156
+ flags=SolverFlags.INFO_STEP_ACCEPTED,
157
+ ):
158
+ step_dtype = jnp.int64 if jax.config.x64_enabled else jnp.int32
159
+ err_dtype = jnp.float64 if jax.config.x64_enabled else jnp.float32
160
+
161
+ self.step_no = jnp.asarray(step_no, dtype=step_dtype)
162
+ self.step_no_total = jnp.asarray(step_no_total, dtype=step_dtype)
163
+
164
+ if not isinstance(t, KahanSum):
165
+ t = KahanSum(t)
166
+ if not isinstance(dt, jax.Array):
167
+ dt = jnp.asarray(dt)
168
+ self.t = t
169
+ self.dt = dt
170
+
171
+ # To avoid creating problems, just convert to array if the leaves
172
+ # in the parameters are not jax arrays already.
173
+ def _maybe_asarray(x):
174
+ if isinstance(x, jax.Array):
175
+ return x
176
+ else:
177
+ return jnp.asarray(x)
178
+
179
+ self.y = jax.tree_util.tree_map(_maybe_asarray, y)
180
+
181
+ if last_norm is not None:
182
+ last_norm = jnp.asarray(last_norm, dtype=err_dtype)
183
+ self.last_norm = last_norm
184
+ if last_scaled_error is not None:
185
+ last_scaled_error = jnp.asarray(last_scaled_error, dtype=err_dtype)
186
+ self.last_scaled_error = last_scaled_error
187
+
188
+ # Todo: if making SolverFlag a proper pytree this can be restored.
189
+ # if not isinstance(flags, SolverFlags):
190
+ # raise TypeError(f"flags must be SolverFlags but got {type(flags)} : {flag}")
191
+ self.flags = flags
192
+
146
193
  def __repr__(self):
147
194
  try:
148
195
  dt = "{self.dt:.2e}"
@@ -263,8 +310,8 @@ def general_time_step_adaptive(
263
310
  lambda _: rk_state.dt,
264
311
  None,
265
312
  ),
266
- last_norm=norm_y,
267
- last_scaled_error=scaled_err,
313
+ last_norm=norm_y.astype(rk_state.last_norm.dtype),
314
+ last_scaled_error=scaled_err.astype(rk_state.last_scaled_error.dtype),
268
315
  flags=flags | SolverFlags.INFO_STEP_ACCEPTED,
269
316
  ),
270
317
  # step rejected, repeat with lower dt
@@ -300,13 +347,13 @@ def general_time_step_fixed(
300
347
  )
301
348
 
302
349
 
303
- @dataclass(_frozen=False)
350
+ @struct.dataclass(_frozen=False)
304
351
  class RungeKuttaIntegrator:
305
352
  tableau: rkt.NamedTableau
306
353
 
307
- f: Callable = field(repr=False)
354
+ f: Callable = struct.field(repr=False)
308
355
  t0: float
309
- y0: Array = field(repr=False)
356
+ y0: Array = struct.field(repr=False)
310
357
 
311
358
  initial_dt: float
312
359
 
@@ -338,10 +385,8 @@ class RungeKuttaIntegrator:
338
385
  setattr(self, "initial_dt", jnp.array(self.initial_dt, dtype=t_dtype))
339
386
 
340
387
  self._rkstate = RungeKuttaState(
341
- step_no=0,
342
- step_no_total=0,
343
- t=nk.utils.KahanSum(self.t0),
344
388
  y=self.y0,
389
+ t=KahanSum(self.t0),
345
390
  dt=self.initial_dt,
346
391
  last_norm=0.0 if self.use_adaptive else None,
347
392
  last_scaled_error=0.0 if self.use_adaptive else None,
@@ -168,15 +168,16 @@ class SpinOrbitalFermions(HomogeneousHilbert):
168
168
  if n_fermions is not None:
169
169
  occupation_constraint = SumConstraint(n_fermions)
170
170
 
171
- # Wrap the extra user provided cosntraint around our
172
- # occupation constraint of the populations.
173
- if constraint is not None:
174
- constraint = ExtraConstraint(
175
- base_constraint=occupation_constraint,
176
- extra_constraint=constraint,
177
- )
178
- else:
179
- constraint = occupation_constraint
171
+ if occupation_constraint is not None:
172
+ # Wrap the extra user provided cosntraint around our
173
+ # occupation constraint of the populations.
174
+ if constraint is not None:
175
+ constraint = ExtraConstraint(
176
+ base_constraint=occupation_constraint,
177
+ extra_constraint=constraint,
178
+ )
179
+ else:
180
+ constraint = occupation_constraint
180
181
 
181
182
  """Internal representation of this Hilbert space (Fock or TensorHilbert)."""
182
183
  # local states are the occupation numbers (0, 1)
@@ -72,15 +72,11 @@ class ExtraConstraint(DiscreteHilbertConstraint):
72
72
  ):
73
73
  raise TypeError(
74
74
  dedent(
75
- """The type parameters T1, T2 of ExtraConstraint[T1, T2] must be subtypes of
75
+ """The arguments of ExtraConstraint must both be subtypes of
76
76
  nk.hilbert.constraint.DiscreteHilbertConstraint, but one or more are not.
77
77
 
78
78
  To verify if those are valid type parameters you can check it with
79
- issubclass(T1, nk.hilbert.constraint.DiscreteHilbertConstraint).
80
-
81
- For more information, look at the documentation of parametric classes in
82
- https://beartype.github.io/plum/parametric.html or open an issue on NetKet's
83
- GitHub discussion session.
79
+ issubclass(arg, nk.hilbert.constraint.DiscreteHilbertConstraint).
84
80
  """
85
81
  )
86
82
  )
@@ -99,15 +95,11 @@ class ExtraConstraint(DiscreteHilbertConstraint):
99
95
  ):
100
96
  raise TypeError(
101
97
  dedent(
102
- """The type parameters T1, T2 of ExtraConstraint[T1, T2] must be subtypes of
98
+ """The arguments of ExtraConstraint must both be subtypes of
103
99
  nk.hilbert.constraint.DiscreteHilbertConstraint, but one or more are not.
104
100
 
105
- To verify if those are valid type parameters you can check it with
106
- issubclass(T1, nk.hilbert.constraint.DiscreteHilbertConstraint).
107
-
108
- For more information, look at the documentation of parametric classes in
109
- https://beartype.github.io/plum/parametric.html or open an issue on NetKet's
110
- GitHub discussion session.
101
+ To verify if those are valid arguments you can check it with
102
+ isinstance(arg, nk.hilbert.constraint.DiscreteHilbertConstraint).
111
103
  """
112
104
  )
113
105
  )
@@ -12,12 +12,14 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from .struct import dataclass
16
- from .types import Scalar
15
+ import jax.numpy as jnp
17
16
 
17
+ from netket.utils import struct
18
+ from netket.utils.types import Scalar
18
19
 
19
- @dataclass
20
- class KahanSum:
20
+
21
+ @struct.dataclass
22
+ class KahanSum(struct.Pytree):
21
23
  """
22
24
  Accumulator implementing Kahan summation [1], which reduces
23
25
  the effect of accumulated floating-point error.
@@ -26,10 +28,33 @@ class KahanSum:
26
28
  """
27
29
 
28
30
  value: Scalar
29
- compensator: Scalar = 0.0
31
+ """
32
+ Current value stored in this array
33
+ """
34
+ compensator: Scalar
35
+ """
36
+ Compensator used to fix addition/subtraction
37
+ """
38
+
39
+ def __init__(self, value, compensator=None) -> None:
40
+ """
41
+ Constructs the Kahan Summation accumulator with a zero-initialized
42
+ compensator if unspecified.
43
+
44
+ Args:
45
+ value: The value to initialize this scalar.
46
+ compensator: The state of the compensator. 0 by default.
47
+ """
48
+ self.value = jnp.asarray(value)
49
+ if compensator is None:
50
+ compensator = jnp.zeros_like(self.value)
51
+ self.compensator = compensator
30
52
 
31
53
  def __add__(self, other: Scalar):
32
54
  delta = other - self.compensator
33
55
  new_value = self.value + delta
34
56
  new_compensator = (new_value - self.value) - delta
35
57
  return KahanSum(new_value, new_compensator)
58
+
59
+ def __jax_array__(self, dtype=None):
60
+ return self.value.astype(dtype)
@@ -185,7 +185,7 @@ class FullSumState(VariationalState):
185
185
 
186
186
  key = nkjax.PRNGKey(seed)
187
187
 
188
- dummy_input = jnp.zeros((1, self.hilbert.size), dtype=dtype)
188
+ dummy_input = self.hilbert.random_state(key, 1, dtype=dtype)
189
189
 
190
190
  variables = jit_evaluate(self._init_fun, {"params": key}, dummy_input)
191
191
  self.variables = variables
@@ -274,7 +274,7 @@ class MCState(VariationalState):
274
274
 
275
275
  key = nkjax.PRNGKey(seed)
276
276
 
277
- dummy_input = jnp.zeros((1, self.hilbert.size), dtype=dtype)
277
+ dummy_input = self.hilbert.random_state(key, 1, dtype=dtype)
278
278
 
279
279
  variables = jit_evaluate(self._init_fun, {"params": key}, dummy_input)
280
280
  self.variables = variables
@@ -101,6 +101,12 @@ source = "vcs"
101
101
  [tool.hatch.build.hooks.vcs]
102
102
  version-file = "netket/_version.py"
103
103
 
104
+ [tool.uv]
105
+ dev-dependencies = [
106
+ "netket[dev]",
107
+ "mpi4py",
108
+ "jax>=0.4.33"
109
+ ]
104
110
 
105
111
  # Development tools
106
112
 
@@ -145,7 +151,9 @@ filterwarnings = [
145
151
  "ignore:Defaulting to `holomorphic=False`,",
146
152
  "ignore::PendingDeprecationWarning: the matrix subclass",
147
153
  "ignore::netket.errors.HolomorphicUndeclaredWarning",
148
- "ignore:netket.hilbert.CustomHilbert is deprecated"
154
+ "ignore:netket.hilbert.CustomHilbert is deprecated",
155
+ "ignore::netket.errors.UndeclaredSpinOderingWarning",
156
+ "ignore::netket.errors.UnoptimalSRtWarning",
149
157
  ]
150
158
  testpaths = [
151
159
  "test",
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