From 57e04c9bdceda779670d8a6671d26abe0e755756 Mon Sep 17 00:00:00 2001 From: Changkai Zhang Date: Mon, 13 Jul 2026 14:46:57 +0800 Subject: [PATCH] Fix XY coupling sign/scale in build_bfg Sp/Sm in nicole's U1 convention are spherical components with a 1/2 normalization factor, so the leading/terminal tensor product picks up an extra 1/2. Use -2*Jperp instead of -Jperp to correctly implement -Jperp * (S+_i S-_j + S-_i S+_j). --- models/model_bfg.py | 6 +++++- registry.yaml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/models/model_bfg.py b/models/model_bfg.py index bc03937..395a967 100644 --- a/models/model_bfg.py +++ b/models/model_bfg.py @@ -92,7 +92,11 @@ def build_bfg( continue if 'XY' in intr.label: - intr.cpl = -Jperp + # Nicole's U1 Sp/Sm are spherical components: + # Sp = -S+ / sqrt(2), Sm = S- / sqrt(2). The two tensor + # products therefore carry a factor 1/2, so use -2*Jperp + # to implement -Jperp * (S+_i S-_j + S-_i S+_j). + intr.cpl = -2.0 * Jperp intr.leading_tnsr = xy4.clone() intr.terminal_tnsr = xy4dag.clone() if intr.terminal_site > intr.leading_site + 1: diff --git a/registry.yaml b/registry.yaml index e77acf8..bb3bf87 100644 --- a/registry.yaml +++ b/registry.yaml @@ -7,7 +7,7 @@ categories: - name: model_bfg file: models/model_bfg.py description: Balents-Fisher-Girvin model builder for Alice - sha256: 41e246e3edfb2bc7a0a117a4bd9c1570984acb8fe5eee9d5c882aa13b09e6d24 + sha256: 5a3282ae34a5d68171bf60c45d45acc4683ef0fb3e3b46a8599d4ea3e59f9711 intrcmaps: description: Interaction maps for Alice