- This repository implements quantum Hall Landau-level form factors, exchange kernels, and Fock-operator helpers.
- Scientific correctness, convention consistency, and numerical stability matter as much as API design and raw speed.
- Main package code lives in
src/quantumhall_matrixelements/. - Regression tests live in
tests/. - Validation and benchmark scripts live in
validation/.
- Start each work session by reading
Roadmap.local.md. Roadmap.local.mdis a local planning file. Keep it untracked, do not stage it, and do not include it in commits.- Track work in
Roadmap.local.mdusing only two sections:## Activefor anything in progress or newly discovered.## Completefor finished work.
- Do not create a
Pendingsection. New work items should be added to## Activeas soon as they are discovered. - Move tasks from
## Activeto## Completeas soon as the work is actually done. - When a meaningful amount of work is complete, create a commit before moving on.
- A "meaningful amount of work" means one coherent fix, one well-bounded refactor, or one validated roadmap item.
- Do not bundle unrelated fixes into the same commit.
- Use imperative commit messages with a clear scope, for example:
Preserve explicit select in Ogata fallbackAlign magnetic field defaults in fast Fock path
- Before committing numerical or API changes, run the most relevant tests or validation commands for the affected area.
- If a change touches scientific conventions, document the convention clearly in code and tests.
- Treat runtime warnings in validation paths as scientific reliability issues, not cosmetic issues.
- For performance work, capture a small before/after measurement whenever practical.
- Never commit generated build artifacts or local planning files.
- Preserve explicit
selectbehavior inogata_autofallback paths. - Align magnetic-field sign defaults across public and low-level APIs.
- Eliminate overflow and invalid-value warnings in large-
nmaxOgata and Legendre paths. - Resolve the
get_form_factors(..., lB=...)units contract. - Close the performance gap between the generic Laguerre Fock constructor and the dedicated fast apply path.
- Add guardrails for compressed calls that still allocate or scale like
O(nmax^4). - Stabilize the
hankelbackend dependency contract. - Fix the documented
mypy .workflow for normal development checkouts.