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

Not understand the tutorial about symmetry part #50

Open
Nellatur opened this issue May 1, 2021 · 4 comments
Open

Not understand the tutorial about symmetry part #50

Nellatur opened this issue May 1, 2021 · 4 comments

Comments

@Nellatur
Copy link

Nellatur commented May 1, 2021

Hello TensorKit Developers,

I saw
https://jutho.github.io/TensorKit.jl/stable/man/tutorial/#Symmetries
about
"julia> V1 = ℤ₂Space(0=>3,1=>2)
Rep[ℤ₂](0=>3, 1=>2)

julia> dim(V1)
5"
Got difficulty to understand it.

What does "0=>3,1=>2" mean? And why the dim(V1)=5? I posted on https://discourse.julialang.org/t/why-the-dimension-of-v1-space-0-3-1-2-is-5/59960 as well

Thank you very much. I am not sure if here is the right place to ask this question.

@Jutho
Copy link
Owner

Jutho commented May 1, 2021

The tutorial can probably use some work. This notation means, build a vector space which carries a representation of ℤ₂ where irrep 0 (the trivial irrep) appears 3 times, and irrep 1 (the only non-trivial irrep) appears 2 times. As both irreps are themselves one-dimensional (as any irrep of any abelian group), the total dimension is 3 * 1 + 2 * 1 = 5.

@Nellatur
Copy link
Author

Nellatur commented May 2, 2021

Thank you so much for your explanation! I have more stupid questions:

  1. In

-0.09457075521998622 -0.6716990765558435
-0.008819557643842874 -0.20943669152145974

how can I see this matrix belongs to the non-trivial irrep of Z2? Since [:, :, 1] is block diagonal?

  1. If I want to realize a tensor contraction,C[a,c,d] = A[a,b] * B[b,c,d](sum over b) with a symmetry B[b,c,d] = B[b,d,c],
    what kind of symmetry should I input? Will it get faster by utilizing this symmetry?

  2. Does tensorkit support antisymmetry properties in permuting fermions? by some graded symmetry? Is there any example?

Thank you very much!

@Jutho
Copy link
Owner

Jutho commented May 2, 2021

Regarding 1, I will need more context to be able to answer your question.

For 2, symmetries under index permutations are currently not supported. In general, it's quite hard to take them into account, in particular in a way that leads to a large speedup.

I assume 3 is related to this. TensorKit.jl supports fermions, though this is not yet well documented, as it is only recent. It does so by using tensors over Z2-graded vector spaces, i.e. super vector spaces, with the Koszul sign rule when permuting indices. For clarity though, this is not the same as the antisymmetry of a fermionic wave function in a first quantized description. It is of course related, but the tensors in TensorKit.jl are rather associated with a second quantized description.

@Nellatur
Copy link
Author

Nellatur commented May 3, 2021

Thank you very much for your answers!

About 1, it is in https://jutho.github.io/TensorKit.jl/stable/man/tutorial/#Symmetries
about ~10 lines below

julia> dim(V1)
5

as the output of

julia> A = Tensor(randn, V1V1V2')

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