Understand QSpace Objects

Let us now understand how to interpret the displayed information, with the example of identity operator I.E and particle annihilation operator F.

I.E

ans =
    Q: 3x [2 2] having 'A,SU2',      { , * }
 data: 2-D double (336 bytes)    3 x 3 => 4 x 4

    1. 1x1        | 1x1        [ -1 0 ; -1 0 ]           1
    2. 1x1        | 2x2        [  0 1 ; 0 1 ]            1 {1.414}
    3. 1x1        | 1x1        [ 1 0 ; 1 0 ]             1

The identity operator I.E shows that there are three symmetry sectors: [-1 0] is for empty state (no charge, no spin), [0 1] is for singly occupied doublets (one charge, total spin 1/2; doublet means for two states \(S_z =\pm 1/2\)), and [1 0] is for doubly occupied state (two charges, total spin 0; the doubly occupied state for a single orbital should be spin singlet, due to Pauli exclusion principle).

F
F =
    Q: 2x [2 2 2] having 'A,SU2',   operator   { , * , * }
 data: 3-D double (224 bytes)    2 x 2 x 1 => 3 x 3 x 2

    1. 1x1x1        | 1x2x2        [ -1 0 ; 0 1; -1 1 ]             -1.414
    2. 1x1x1        | 2x1x2        [ 0 1 ; 1 0; -1 1 ]              -1.414

From top left to bottom right:

  • Q: 2x [2 2 2] : first 2x means that there are two symmetry sectors. [2 2 2] means that there are three legs (so three 2's) and each leg has two quantum numbers (so 2 each).
  • having 'A,SU2' : two quantum numbers are for U(1) (Abelian, so A) and SU(2) symmetries, respectively.
  • operator: FF is an operator with three legs.
  • {, * , * } : itag (index tag) for each leg. The itag indcates the name and the direction of legs. Here the names are not given (since it is just generated from getLocalSpace), while indicating the directions. Empty for the first leg means inward, and * for the second and third legs means outward. See the next sections for the detail of itags.
  • data: 3-D double (240 bytes): the data sector (i.e. reduced matrix elements) are three-dimensional array (since FF is rank-3), and occupies 240 bytes.
  • 2 x 2 x 1 : Hilbert space dimension, in terms of symmetry multiplets. It means that there are 2, 2, and 1 multiplets for the first, second, and third legs, respectively.
  • 3 x 3 x 2 : Hilbert space dimension, in terms of bare states (not multiplets). It means that there are 3, 3, and 2 states for the first, second, and third legs, respectively.
  • 1. 1x1x1 | 1x2x2: The first symmetry sector (so 1.) has the reduced matrix elements as 1x1x1 array in the multiplet basis. And a single multiplet representing the sector has multiplet dimension 1x2x2, that is, the multiplet corresponds to one state for the first leg and two states for the second and third legs, respectively.
  • [ -1 0 ; 0 1; -1 1 ] : Quantum numbers for each symmetry sector. Each chunk separated by ; indicates the quantum number for each leg. As we used 'Acharge,SU2spin' option for getLocalSpace, the first number for each chunk is the charge quantum number (number of charges with respect to half filling) and the second number is the spin quantum number (total spin multiplied by 2). So we see that, for this first symmetry sector, the first leg space has no charge (charge quantum number -1, since half filling has one charge), and no spin (spin quantum number 0). And the second leg space has one charge (charge quantum number 0) and total spin 1/2 (spin quantum number 1). Finally the quantum number [-1 1] of the third chunk shows how the operator FF changes quantum number; it decreases charge quantum number by 1 (since it is an annihilation operator) and it is indeed a spinor of total spin 1/2 (spin quantum number is the total spin multiplied by 2)
  • -1.414 : It is the reduced matrix element for the first symmetry sector.