Skip to content

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.