Skip to content

Interaction2Site

Two-site interaction term.

Interaction2Site dataclass

Interaction2Site(
    leading_site: int = 0,
    terminal_site: int = 0,
    leading_tnsr: Optional[Tensor] = None,
    terminal_tnsr: Optional[Tensor] = None,
    intermid_tnsr: Optional[Tensor] = None,
    *,
    cpl: float = 0.0,
    label: List[str] = list(),
)

Bases: Interaction

Two-site interaction term.

Attributes:

Name Type Description
leading_site int

Index of the leading (left) site (0-based).

terminal_site int

Index of the terminal (right) site (0-based). Must satisfy terminal_site > leading_site.

leading_tnsr Optional[Tensor]

4-index MPO tensor for the leading site, in format (L_trivial_IN, op_OUT, bra_OUT, ket_IN). The op axis carries the operator channel contracted with the terminal site. Set by the model builder.

terminal_tnsr Optional[Tensor]

4-index MPO tensor for the terminal site, in format (op_IN, R_trivial_OUT, bra_OUT, ket_IN). build_hamiltonian scales this tensor by cpl; the model builder must NOT bake the coupling in. Set by the model builder.

intermid_tnsr Optional[Tensor]

4-index MPO tensor for intermediate sites (between leading_site and terminal_site), in format (left_op_IN, right_op_OUT, bra_OUT, ket_IN). Required when terminal_site > leading_site + 1. For bosonic systems this is typically the physical identity dressed with op-sector bonds; for fermionic systems it is the Jordan-Wigner string. Set by the model builder.

Notes

Tensor axis conventions:

  • leading_tnsr: (L_trivial_IN, op_OUT, bra_OUT, ket_IN)
  • terminal_tnsr: (op_IN, R_trivial_OUT, bra_OUT, ket_IN) — scaled by cpl at accumulation time.
  • intermid_tnsr: (op_IN, op_OUT, bra_OUT, ket_IN) — required when terminal_site > leading_site + 1. For bosonic systems this is the physical identity dressed with operator-channel bonds; for fermionic systems it is the Jordan-Wigner string operator.

See Also