build_heisenberg¶
Populate interactions for a Heisenberg spin model.
build_heisenberg
¶
build_heisenberg(
interactions: List[Interaction],
L: int = 0,
*,
symmetry: str = "U1",
spin: float = 0.5,
J: float = 1.0,
Jp: float = 0.0,
space_fn: Optional[Callable] = None,
**_ignored,
) -> Tuple[Index, Dict[str, Tensor]]
Populate interactions for a Heisenberg spin model.
Assigns the spin-spin coupling J S†_i · S_j to each NN bond and
Jp S†_i · S_j to each NNN bond. Tensors are built from build_bosonic
(or space_fn if provided) and stored without baking in the coupling;
build_hamiltonian applies intr.cpl when constructing the MPO.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
interactions
|
List[Interaction]
|
List of |
required |
L
|
int
|
Chain length. Unused here (present for uniform model-builder API). |
0
|
symmetry
|
str
|
Symmetry passed to |
'U1'
|
spin
|
float
|
Site spin quantum number. |
0.5
|
J
|
float
|
Coupling for NN bonds (label |
1.0
|
Jp
|
float
|
Coupling for NNN bonds (label |
0.0
|
space_fn
|
Optional[Callable]
|
Optional replacement for |
None
|
**_ignored
|
Extra TOML keys forwarded from the dispatcher are silently ignored. |
{}
|
Returns:
| Type | Description |
|---|---|
tuple
|
|
Model Parameters¶
| TOML key | Type | Default | Description |
|---|---|---|---|
symmetry |
str | "U1" |
"U1" or "SU2" |
spin |
float | 0.5 |
Site spin quantum number |
J |
float | 1.0 |
NN coupling constant |
Jp |
float | 0.0 |
NNN coupling constant (requires NNN bonds in geometry) |
Hamiltonian¶
For SU(2) symmetry, the full rotational invariance is preserved. For U(1), the spin-z projection is conserved.
See Also¶
- build_bosonic — space builder called internally.
- build_free_fermion, build_hubbard — fermionic counterparts.