build_hubbard¶
Populate interactions for the Hubbard model.
build_hubbard
¶
build_hubbard(
interactions: List[Interaction],
L: int,
*,
symmetry: str = "U1,U1",
t: float = 1.0,
U: float = 4.0,
tp: float = 0.0,
mu: float = 0.0,
space_fn: Optional[Callable] = None,
**_ignored,
) -> Tuple[Index, Dict[str, Tensor]]
Populate interactions for a Hubbard model.
Assigns the hopping term -t Σ_σ (c†_{i,σ} c_{j,σ} + h.c.) to NN bonds
(via JW-dressed operators from build_conductor) and appends one
Interaction1Site per site for the on-site Hubbard-U term U n_{up} n_{dn}
and an optional chemical potential term.
The chemical potential mu is defined relative to half-filling. The
half-filling chemical potential for the standard Hubbard model is
mu_half = U / 2, derived from the particle-hole symmetry condition
<n> = 1. The effective on-site energy is therefore:
-mu_eff * n_i, mu_eff = mu + U / 2.
This term is added whenever mu_eff != 0, i.e. even at mu = 0 when
U != 0.
The coupling is NOT baked into the tensors; build_hamiltonian applies
intr.cpl when constructing the MPO.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
interactions
|
List[Interaction]
|
List of |
required |
L
|
int
|
Chain length. Used to create one |
required |
symmetry
|
str
|
Symmetry passed to |
'U1,U1'
|
t
|
float
|
NN hopping amplitude. Stored as |
1.0
|
U
|
float
|
On-site Coulomb repulsion. Stored as |
4.0
|
tp
|
float
|
NNN hopping amplitude. Stored as |
0.0
|
mu
|
float
|
Chemical potential relative to half-filling. The effective chemical
potential applied is |
0.0
|
space_fn
|
Optional[Callable]
|
Optional replacement for |
None
|
**_ignored
|
Extra TOML keys silently ignored. |
{}
|
Returns:
| Type | Description |
|---|---|
tuple
|
|
Model Parameters¶
| TOML key | Type | Default | Description |
|---|---|---|---|
symmetry |
str | "U1,SU2" |
"U1,U1", "U1,SU2", "Z2,U1", or "Z2,SU2" |
t |
float | 1.0 |
NN hopping amplitude |
tp |
float | 0.0 |
NNN hopping amplitude (requires NNN bonds) |
U |
float | 4.0 |
On-site Coulomb repulsion |
mu |
float | 0.0 |
Chemical potential relative to half-filling |
Hamiltonian¶
The mu parameter is relative to half-filling; the code automatically applies the \(-U/2\) shift for the U1,SU2 case.
See Also¶
- build_conductor — space builder called internally.
- build_heisenberg, build_free_fermion — other model builders.