nkDSLΒΆ

nkDSL is a small standalone package that extracts the symbolic operator DSL from neuraLQX and makes it usable on its own. The core workflow is to describe a discrete operator in a compact, readable [D]eclarative [S]ymbolic [L]anguage (DSL) and compile it into a NetKet-compatible JAX operator.

Note

nkDSL is currently in beta. The core DSL and compiler workflow are ready for broader testing, while some advanced APIs may still evolve before a fully stable release.

The package is built around a simple four-step mental model:

  1. choose where to act with an iterator

  2. choose when to act with a predicate

  3. choose how to update the state

  4. choose the matrix element attached to each emitted branch

That description is lowered into a static-shape JAX connectivity kernel (default target: get_conn_padded).

Compilation also runs a linting pass that reports symbol, index, and connectivity diagnostics early. See Linting for details.