Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a spin irreducible operator in a spinful fermionic system with U(1) charge and SU(2) spin symmetry #23

Closed
ZongYongyue opened this issue Aug 2, 2024 · 4 comments

Comments

@ZongYongyue
Copy link

Hi Lukas,

Thanks for your package!
I suggest to add a spin irreducible operator $\hat{S}=\sum_{\sigma\sigma'}f^\dagger_\sigma\vec{\sigma}f_{\sigma'}=(-S^{+}/\sqrt{2},S^{z},S^{-}/\sqrt{2})$ in a spinful fermionic system with U(1) charge and SU(2) spin symmetry. This could be beneficial as we consider magnetic properties in electronic systems.
With Wigner–Eckart theorem, we have

$$\langle 0; 1/2, -1/2| S^{-} /\sqrt{2}|0;1/2,1/2\rangle = C^{1/2}_{1/2,1}[2,1,1]\langle 0;1/2|S^{0;1}|0;1/2\rangle $$

where the quantum number are labeled as $(q_n; S, S_z)$ and $C^{1/2}_{1/2,1}$ is the CG coefficients with dimension $=2\times 3 \times 2.$
The other two equations about $S^{z}$ and $S^{+}$ are equivalent with this one because the reduced matrix element $\langle 0;1/2|S^{0;1}|0;1/2\rangle$ is independent of quantum number $S_z$.
Here, we have $\langle 0,1/2|S^{0;1}|0;1/2\rangle = \sqrt{3}/2$ .

We can construct the spin irreducible operator $\hat{S}$ as

#S operator
P = Vect[fℤ₂  SU2Irrep  U1Irrep]((0,0,-1)=>1, (1,1//2,0)=>1, (0,0,1)=>1)
V = Vect[fℤ₂  SU2Irrep  U1Irrep]((0, 1, 0) => 1)
S = TensorMap(zeros, ComplexF64, P  P  V)
blocks(S)[fℤ₂(1)  SU2Irrep(1 // 2)  U1Irrep(0)].= sqrt(3)/2
#S^2 operator
@planar S²[-1; -2] := S[-1; 1 2] * S'[1 2; -2]

Thank you again for your nice package!

Sincerely yours
Yong-Yue Zong

@lkdvos
Copy link
Member

lkdvos commented Aug 2, 2024

Hi Yong-Yue Zong,

Thanks for the suggestion! I am definitely very happy to add this, would you have a suggestion for a good name? In hindsight, naming these functions with a single letter is probably not very future-proof, as S could be many different things...

Best,
Lukas

@ZongYongyue
Copy link
Author

How about Sₑ$\to\hat{S}$ , Sₑ²$\to\hat{S}^2$ and Sₑ_exchange$\to\hat{S}_i \cdot \hat{S}_j$? Where e has considered the style in MPSKitModels that indicates a spin 1/2 fermionic system and Sₑ can be used to distinguish from the spin operators such as Sˣ, S⁺, S_exchange in spin systems.

@lkdvos
Copy link
Member

lkdvos commented Aug 3, 2024

I would also need a non-unicode version, as there still are some systems (terminals, editors, ...) where these are very hard to type.

I don't have too much time the next week, any chance you could file a PR with this?

@ZongYongyue
Copy link
Author

Of course

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants