There seems to be some inconsistency in tracking which spaces are dual and which aren't.
using TensorKit
P = Vect[IsingAnyon](:σ => 1)
t = ones(ComplexF64, P ← P)
space(t) # Vect[IsingAnyon](:σ => 1) ← Vect[IsingAnyon](:σ => 1)
space(t, 1) # Vect[IsingAnyon](…) of dim 1.4142135623730951: \n :σ => 1
space(t, 2) # Vect[IsingAnyon](…)' of dim 1.4142135623730951: \n :σ => 1
isdual(space(t, 1)), isdual(space(t, 2)) # (false, true)
isdual(codomain(t, 1)) # false
isdual(domain(t, 1)) # false
What really confused me at first was that the flags in the domain always seemed to reverse, but it wouldn't show explicitly.
Just for clarity I show the following as well:
t2 = ones(ComplexF64, P' ← P)
space(t2) # Vect[IsingAnyon](:σ => 1)' ← Vect[IsingAnyon](:σ => 1)
space(t2, 1) # Vect[IsingAnyon](…)' of dim 1.4142135623730951: \n :σ => 1, space(t2, 2) is the same
isdual(space(t2, 1)), isdual(space(t2, 2)) # (true, true)
isdual(codomain(t2, 1)) # true
isdual(domain(t2, 1)) # false
The same behavior persists for ComplexSpace as well.
There seems to be some inconsistency in tracking which spaces are dual and which aren't.
What really confused me at first was that the flags in the domain always seemed to reverse, but it wouldn't show explicitly.
Just for clarity I show the following as well:
The same behavior persists for
ComplexSpaceas well.