Model library: the `spin` model's global `K` is not forwarded to the bond parameter `K0`
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
Open src/alps/resources/models.xml and read the spin model’s parameter declarations around J0 and K#. Check how the other global couplings are linked to bond parameters, then run the reported fulldiag reproducer with K=1/3. Done when setting K produces the same ground-state energy as setting K0=1/3 for the six-site ring.
Written by the indexing model from the issue text.
Description
Summary
In src/alps/resources/models.xml the spin Hamiltonian declares a global
<PARAMETER name="K" default="0"/> and a bond parameter
<PARAMETER name="K#" default="0"/>, but no K0 with default K. The other
couplings have this link (J0 = J, Jz0 = Jz, Jxy0 = Jxy, D# = D,
h# = h). Setting K therefore does nothing, and the biquadratic term is
silently absent.
Reproducer
LATTICE="chain lattice"
MODEL="spin"
local_S=1
J=1
L=6
CONSERVED_QUANTUMNUMBERS="Sz"
{K=1/3;}
{K0=1/3;}
fulldiag parm.in.xml.
Observed and expected
At K = J/3 the valence-bond solid is the exact ground state with E0 = -2L/3
(Affleck, Kennedy, Lieb, Tasaki 1987), so the six-site ring must give -4.
| input | E0 |
|---|---|
| K=1/3 | -8.617423 (the plain spin-1 Heisenberg ring) |
| K0=1/3 | -4.000000; every level of the 729-state spectrum agrees with an independent diagonalisation to 1e-14 |
Fix
Add <PARAMETER name="K0" default="K"/> next to J0, and K1, K2 like
J1, J2 if the further-neighbour couplings are meant to be settable.
Observed on master at 0e2f2915d (Release build, GCC, OpenBLAS, HDF5 1.14, single-threaded), compared with independent reference calculations.
- Dominant language
- C++
- Stars
- 32
- Forks
- 10
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 54
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ALPSim/ALPS
-
Parallel Ising example: operator precedence makes the heat-bath energy difference wrongPossibly taken @skilledwolf claimed this 1 day ago. Openarea:tutorials bug scientific-correctness
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ALPSim/ALPS#313 · 1 assignee ·
Maintainers usually reply within 2 days
-
Replica exchange with PROCESS_PER_WORKER > 1 creates too few replicasPossibly taken @skilledwolf claimed this today. Openarea:parapack bug scientific-correctness
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ALPSim/ALPS#312 · 1 assignee ·
Maintainers usually reply within 2 days
-
Difficulty 3/5 1-2 days Newbie friendliness 58/100
Maintainers usually reply within 2 days
-
Read parameter files straight into the solver input structsPossibly taken @Ooolab claimed this 1 day ago. Open
ALPSim/ALPS#317 · 1 assignee ·
Maintainers usually reply within 2 days
-
parapack MPI: messages over 2 GiB fail without a clear error; CHANGELOG note missingPossibly taken @skilledwolf claimed this 1 day ago. Openarea:parapack compatibility-change enhancement
Difficulty 3/5 1-2 days Newbie friendliness 57/100
ALPSim/ALPS#315 · 1 assignee ·
Maintainers usually reply within 2 days
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Sunrisepeak/mcpp-language-server#80 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
xiaoyifang/goldendict-ng#3148 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 91/100
triton-inference-server/server#9069 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 4 days