Aleksei Ustimenko commited on
Commit ·
6f01cc0
1
Parent(s): 4e645a1
Publish HamiltonZero 0.1.1 package
Browse files- README.md +18 -10
- pyproject.toml +22 -1
README.md
CHANGED
|
@@ -14,12 +14,21 @@ wavefunctions of quantum spin Hamiltonians. It exposes three workflows:
|
|
| 14 |
|
| 15 |
## Installation
|
| 16 |
|
| 17 |
-
HamiltonZero requires Python 3.12 and JAX-compatible accelerator
|
|
|
|
| 18 |
|
| 19 |
```bash
|
| 20 |
-
python -m pip install
|
| 21 |
```
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
The package pins `jax==0.11.0` and `jaxlib==0.11.0`. Install the accelerator
|
| 24 |
plugin appropriate for the host using the standard JAX instructions.
|
| 25 |
|
|
@@ -71,10 +80,9 @@ does this from the input system automatically.
|
|
| 71 |
|
| 72 |
The public API follows the textbook convention
|
| 73 |
|
| 74 |
-
|
| 75 |
-
H =
|
| 76 |
-
|
| 77 |
-
\]
|
| 78 |
|
| 79 |
Construct and save a system from a simple undirected NetworkX graph:
|
| 80 |
|
|
@@ -153,8 +161,8 @@ There is no additional bit reversal: applying one would corrupt the mapping.
|
|
| 153 |
Both arrays include padded virtual leaves when the model width exceeds the
|
| 154 |
physical site count. A complete runnable version that prints sample means and
|
| 155 |
standard deviations is in
|
| 156 |
-
[`examples/compiled_inference.py`](examples/compiled_inference.py).
|
| 157 |
-
[`examples/j1j2_4x4_route.ipynb`](examples/j1j2_4x4_route.ipynb) constructs a
|
| 158 |
periodic 4-by-4 J1-J2 model from NetworkX and visualizes the returned order as
|
| 159 |
the successive cells of the compiled binary merge tree. Install its plotting
|
| 160 |
dependencies with `python -m pip install '.[notebooks]'`.
|
|
@@ -206,7 +214,7 @@ public textbook units above.
|
|
| 206 |
spins.
|
| 207 |
|
| 208 |
Large-N files store physical sites only; the loader reconstructs power-of-two
|
| 209 |
-
padding in memory. See [`datasets/README.md`](datasets/README.md) for the full
|
| 210 |
inventory and sparse exchange encoding.
|
| 211 |
|
| 212 |
## Train
|
|
@@ -303,4 +311,4 @@ licensed under Apache-2.0, copyright Simulacra Research Inc. The vendored
|
|
| 303 |
KFAC-JAX fork and JAX-derived large-N attention kernel remain under
|
| 304 |
Apache-2.0. The Microsoft-Folx-derived attention forward and reverse-mode
|
| 305 |
kernels remain under MIT. See
|
| 306 |
-
[`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
|
|
|
|
| 14 |
|
| 15 |
## Installation
|
| 16 |
|
| 17 |
+
HamiltonZero requires Python 3.12 or newer and JAX-compatible accelerator
|
| 18 |
+
drivers.
|
| 19 |
|
| 20 |
```bash
|
| 21 |
+
python -m pip install hamiltonzero
|
| 22 |
```
|
| 23 |
|
| 24 |
+
To install from a source checkout instead, run `python -m pip install .` in
|
| 25 |
+
the repository root.
|
| 26 |
+
|
| 27 |
+
Example configurations and research datasets are repository assets rather
|
| 28 |
+
than wheel data. Clone the matching
|
| 29 |
+
[`v0.1.1` source tree](https://github.com/simulacra-research/HamiltonZero/tree/v0.1.1)
|
| 30 |
+
to run the documented commands unchanged.
|
| 31 |
+
|
| 32 |
The package pins `jax==0.11.0` and `jaxlib==0.11.0`. Install the accelerator
|
| 33 |
plugin appropriate for the host using the standard JAX instructions.
|
| 34 |
|
|
|
|
| 80 |
|
| 81 |
The public API follows the textbook convention
|
| 82 |
|
| 83 |
+
```text
|
| 84 |
+
H = sum_(i<j) S_i^T J_ij S_j + sum_i h_i^T S_i, S = sigma/2.
|
| 85 |
+
```
|
|
|
|
| 86 |
|
| 87 |
Construct and save a system from a simple undirected NetworkX graph:
|
| 88 |
|
|
|
|
| 161 |
Both arrays include padded virtual leaves when the model width exceeds the
|
| 162 |
physical site count. A complete runnable version that prints sample means and
|
| 163 |
standard deviations is in
|
| 164 |
+
[`examples/compiled_inference.py`](https://github.com/simulacra-research/HamiltonZero/blob/v0.1.1/examples/compiled_inference.py).
|
| 165 |
+
[`examples/j1j2_4x4_route.ipynb`](https://github.com/simulacra-research/HamiltonZero/blob/v0.1.1/examples/j1j2_4x4_route.ipynb) constructs a
|
| 166 |
periodic 4-by-4 J1-J2 model from NetworkX and visualizes the returned order as
|
| 167 |
the successive cells of the compiled binary merge tree. Install its plotting
|
| 168 |
dependencies with `python -m pip install '.[notebooks]'`.
|
|
|
|
| 214 |
spins.
|
| 215 |
|
| 216 |
Large-N files store physical sites only; the loader reconstructs power-of-two
|
| 217 |
+
padding in memory. See [`datasets/README.md`](https://github.com/simulacra-research/HamiltonZero/blob/v0.1.1/datasets/README.md) for the full
|
| 218 |
inventory and sparse exchange encoding.
|
| 219 |
|
| 220 |
## Train
|
|
|
|
| 311 |
KFAC-JAX fork and JAX-derived large-N attention kernel remain under
|
| 312 |
Apache-2.0. The Microsoft-Folx-derived attention forward and reverse-mode
|
| 313 |
kernels remain under MIT. See
|
| 314 |
+
[`THIRD_PARTY_NOTICES.md`](https://github.com/simulacra-research/HamiltonZero/blob/v0.1.1/THIRD_PARTY_NOTICES.md).
|
pyproject.toml
CHANGED
|
@@ -4,10 +4,25 @@ build-backend = "setuptools.build_meta"
|
|
| 4 |
|
| 5 |
[project]
|
| 6 |
name = "hamiltonzero"
|
| 7 |
-
version = "0.1.
|
| 8 |
description = "Compiled neural wavefunctions for quantum spin systems"
|
| 9 |
readme = "README.md"
|
| 10 |
requires-python = ">=3.12"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
license = "Apache-2.0 AND MIT"
|
| 12 |
license-files = [
|
| 13 |
"LICENSE",
|
|
@@ -33,6 +48,12 @@ dependencies = [
|
|
| 33 |
"typing-extensions>=4.15",
|
| 34 |
]
|
| 35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
[project.optional-dependencies]
|
| 37 |
notebooks = [
|
| 38 |
"jupyterlab>=4.4",
|
|
|
|
| 4 |
|
| 5 |
[project]
|
| 6 |
name = "hamiltonzero"
|
| 7 |
+
version = "0.1.1"
|
| 8 |
description = "Compiled neural wavefunctions for quantum spin systems"
|
| 9 |
readme = "README.md"
|
| 10 |
requires-python = ">=3.12"
|
| 11 |
+
authors = [
|
| 12 |
+
{name = "Simulacra Research Inc."},
|
| 13 |
+
]
|
| 14 |
+
keywords = [
|
| 15 |
+
"neural quantum states",
|
| 16 |
+
"quantum many-body physics",
|
| 17 |
+
"quantum Monte Carlo",
|
| 18 |
+
]
|
| 19 |
+
classifiers = [
|
| 20 |
+
"Development Status :: 3 - Alpha",
|
| 21 |
+
"Intended Audience :: Science/Research",
|
| 22 |
+
"Programming Language :: Python :: 3",
|
| 23 |
+
"Programming Language :: Python :: 3.12",
|
| 24 |
+
"Topic :: Scientific/Engineering :: Physics",
|
| 25 |
+
]
|
| 26 |
license = "Apache-2.0 AND MIT"
|
| 27 |
license-files = [
|
| 28 |
"LICENSE",
|
|
|
|
| 48 |
"typing-extensions>=4.15",
|
| 49 |
]
|
| 50 |
|
| 51 |
+
[project.urls]
|
| 52 |
+
Homepage = "https://github.com/simulacra-research/HamiltonZero"
|
| 53 |
+
Repository = "https://github.com/simulacra-research/HamiltonZero"
|
| 54 |
+
Issues = "https://github.com/simulacra-research/HamiltonZero/issues"
|
| 55 |
+
"Model weights" = "https://huggingface.co/simulacra-research/HamiltonZero"
|
| 56 |
+
|
| 57 |
[project.optional-dependencies]
|
| 58 |
notebooks = [
|
| 59 |
"jupyterlab>=4.4",
|