Skip to content

Add the LLL-projected C4 moire model and its interaction map - #2

Merged
changkai-zhang merged 3 commits into
primaryfrom
feature/model-moire-c4
Sep 28, 2026
Merged

changkai-zhang merged 3 commits into
primaryfrom
feature/model-moire-c4

Conversation

@changkai-zhang

Copy link
Copy Markdown
Contributor

Adds a spinless-fermion model for a C4 moire potential projected onto the lowest Landau level on a cylinder, together with the interaction map that enumerates its terms, and registers both in registry.yaml.

The interaction map emits every one-body slot and every ordered pair admitted by momentum conservation and the orbital bounds, computed in closed form on the index differences. It carries no index cutoffs: truncation belongs to the model builder, which is the only stage that sees the interaction parameters.

The model builder assembles the one-body matrix from the four C4 reciprocal harmonics and precomputes the screened-Coulomb table through a nonoscillatory form of the momentum integral. Coupling truncation is relative to a per-channel reference scale rather than absolute, so a scan over either the potential amplitude or the interaction strength keeps the same accuracy throughout, and the discarded weight is logged and exposed for audit.

The two-body term uses the half-weighted convention, summed over ordered pairs alone, equivalent to 1/2 times the unrestricted four-index sum. This is documented on ordered_pair_W, since it fixes the interaction scale relative to the potential amplitude and differs by a factor of two from sources that write the sum unrestricted.

Verification

  • Interaction coefficients agree with an independent quadrature of the projected matrix element to 8e-15.
  • The ordered-pair enumeration is identical to brute force over all N^4 quadruples for N = 5..9.
  • With the potential switched off, DMRG at N = 12 and half filling reproduces exact diagonalization of the same Hamiltonian to 2e-14.
  • python tools/verify_registry.py passes on all four entries.

Not included

No regression test, as the repository currently has no test infrastructure beyond the digest check.

…r chain

Enumerated every one-body slot and every ordered pair admitted by momentum conservation and the orbital bounds, in closed form on the index differences rather than by generating and rejecting candidates over all four indices. Truncation is deliberately left to the model builder, the only stage that sees the interaction parameters and can judge which couplings are negligible; a cutoff imposed here would also be invisible in the logs, since the excluded terms would never be enumerated in the first place.
…ction table

Built the cylinder one-body matrix from the four C4 reciprocal harmonics, and precomputed the screened-Coulomb table through a nonoscillatory form of the momentum integral, reached by substituting the oscillatory cosine away so that Gauss-Legendre converges without a blowup in node count. The two-body term is carried in the half-weighted convention, summed over ordered pairs alone, which is what fixes the interaction scale relative to the potential amplitude and is set out on `ordered_pair_W`. Coupling truncation is relative to a per-channel reference rather than absolute, so that a scan over either scale keeps the same accuracy throughout, and the discarded weight is both logged and exposed for programmatic audit.
Catalogued both scripts under the existing model and intrcmap categories together with their SHA-256 digests, which is what makes them discoverable and installable once this reaches primary.
@changkai-zhang
changkai-zhang merged commit 3ae857a into primary Sep 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant