The layers¶
The package is organised in layers. The declaration layer holds the symbolic artifacts and transformations, the structural layer reasons about operators without constructing them, the solving layer finds parameter settings, and the realisation layer constructs dense operators for numerical validation. On top of these sit the libraries of models and transformations and the use cases that assemble them. For the physics, see the guide to each application model: the lattice Schwinger model, the Heisenberg magnet and the Ising chain.
| Layer | Modules | Constructs an operator | Imports a solver |
|---|---|---|---|
| Declaration | levels, scalar, affine, units, structure, symbolic, normal_form, parameters, artifact, relations, validity, transform, pipeline |
no | no |
| Structural | pauli, trotter |
no | no |
| Solving | solving |
no | yes |
| Realisation | realise, jax_setup |
yes | no |
| Model library | models: application, intermediate, hardware, with names and the shared parts of a family of models, gauge and magnetism |
no | no |
| Transformation library | transformations |
no | no |
| Use cases | usecases: schwinger, heisenberg, ising, over base |
no | no |
Importing any module enables the 64-bit mode of JAX for the whole process, in
qsimod.jax_setup.