build_free_fermion¶
Populate interactions for a spinless free-fermion (tight-binding) model.
build_free_fermion
¶
build_free_fermion(
interactions: List[Interaction],
L: int = 0,
*,
symmetry: str = "U1",
t: float = 1.0,
tp: float = 0.0,
mu: float = 0.0,
space_fn: Optional[Callable] = None,
**_ignored,
) -> Tuple[Index, Dict[str, Tensor]]
Populate interactions for a spinless free-fermion (tight-binding) model.
Assigns the hopping term -t (cā _i c_j + h.c.) to NN bonds and
-tp (...) to NNN bonds. An optional chemical potential -mu n_i is
added as one Interaction1Site per site when mu != 0.
The coupling stored in intr.cpl for hopping terms is negative (-t
for NN) because build_hamiltonian scales terminal_tnsr by cpl; the
sign encodes the physics.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
interactions
|
List[Interaction]
|
List of |
required |
L
|
int
|
Chain length. Required when |
0
|
symmetry
|
str
|
Symmetry passed to |
'U1'
|
t
|
float
|
NN hopping amplitude. Stored as |
1.0
|
tp
|
float
|
NNN hopping amplitude. Stored as |
0.0
|
mu
|
float
|
Chemical potential. Stored as |
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" |
"U1" (particle number) or "Z2" (fermion parity) |
t |
float | 1.0 |
NN hopping amplitude |
tp |
float | 0.0 |
NNN hopping amplitude (requires NNN bonds in geometry) |
mu |
float | 0.0 |
Chemical potential |
Hamiltonian¶
Jordan-Wigner string operators are inserted automatically at intermediate sites for long-range bonds.
See Also¶
- build_fermionic ā space builder called internally.
- build_heisenberg, build_hubbard ā other model builders.