Troubleshooting#
Run stringjax doctor first — it reports versions, the JAX backend/devices, the
float64 status, and Gurobi availability, with targeted suggestions.
JAX uses the CPU even though I have a GPU#
The default install is CPU-only. Install the accelerator wheel:
pip install -U "jax[cuda12]" (match your CUDA/cuDNN). Confirm with
stringjax doctor (jax_backend should report gpu).
float64 is disabled / results look low-precision#
Enable 64-bit before importing JAX: export JAXVACUA_PRECISION=float64, or call
jaxvacua.set_precision("float64") at the top of your script. On Apple Metal,
float64 may be unavailable and computations can fall back to the CPU.
ImportError mentioning Gurobi#
Systematic flux enumeration needs Gurobi: pip install "jaxvacua[bounding]" and
activate a (free academic) licence. The rest of JAXVacua works without it.
Dependency-resolution conflicts after upgrading a member#
The metapackage declares compatible ranges; if pip reports a conflict, check
Compatibility matrix and upgrade stringjax to the version that brackets the member
release you want.
Datasets are huge / downloading unexpectedly#
StringForge fetches datasets on demand and caches them. Set STRINGFORGE_DATA_DIR
to control the cache location, use offline mode where available, and pin a dataset
version for reproducibility.