Skip to content

General dipole operators on each SU(N) site #459

@kbarros

Description

@kbarros

Per discussion with David, we've outlined a conceptual path to supporting arbitrarily complicated effective spin models using SU(N) states.

Step 1. Generators of rotation $F$ on each site.

To populate interactions (and verify their symmetry-consistency) the system needs to know how to "rotate" a pair coupling operator specified on a single bond. This requires generators of rotations in the $N$-dimensional local Hilbert space. Currently, these generators are hard-coded as spin $s$ irreps, where $s = (N-1)/2$. Looking forward, the generators $F$ (i.e., the total angular momentum for the site) should be arbitrary and user-specifiable, subject to the su(2) commutation relations. A common use case will be explicit orbital and spin angular momenta operators, for which $F = L + S$. But it could also be, say, a direct sum of two low-energy multiplets of $F$.

Step 2. Magnetic moment $\mu$

The magnetic moment dipole is physically meaningful, as it participates in Zeeman coupling and long-range dipole-dipole couplings, and is an observable for experimental scattering. Currently, it is specified through the effective spin $S$ and $g$-tensor as $\mu = - g S$ (in units of the Bohr magneton $\mu_B$). But moving forward, the system should allow arbitrary and user-specifiable $\mu$ operators. If working with explicit $L$ and $S$, then the right default would be $\mu = - (L + g_e S)$ involving the electron g-factor, $g_e = 2.002319304 \dots$.

Step 3. Multiple shifted magnetic moments, needed for entangled units

By construction, an entangled unit will be associated with multiple sites of the "bare" model. Here one must track multiple magnetic moment dipoles, and their real-space translations, for each entangled unit. These individual translations become relevant for (1) long-range dipole-dipole interactions, (2) incorporating proper phase factors into the intensities of a spin wave theory calculation.


Practical upshot

  • The field sys.Ns gets replaced by sys.Fs :: Union{Vector{Int}, Vector{Dipole}} to define total angular momentum for each local Hilbert space. The three components are generators of rotation. Like before, the first branch would denote the dimension N of the irrep of su(2), such that $s = (N-1)/2$. The second branch gives the option for explicit angular momentum Dipole operators F.
  • The field sys.gs gets replaced by a sys.Ms :: Union{Vector{Mat3}, Vector{Dipole}} which defines the magnetic moments. The first branch gives the g-tensor to be used as $\mu = -g F$, where $F$ is the angular momentum from sys.Fs. The second branch gives the option for explicit magnetic moment operators M. May also want a field sys.moments to cache the expectations of sys.Ms.

Design question: Much of Sunny's UI assumes the existence of a unique spin dipole at each site. Coupling between these spins are set in functions like set_exchange!, and also the callback forms of set_pair_coupling! and set_onsite_coupling!. When we move to general su(2) representations, the concept of a "local spin" becomes ambiguous? One option is to define this local spin as the total angular momentum defined in sys.Fs. But maybe the safer option is to print an error "When working with generalized spin, the coupling operator must be passed explicitly as a matrix".

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions