Generate Local Operators
The first step of using QSpace is to identify which symmetries in the system are to be exploited. Then we generate the tensors that respect such symmetries. The tensors for a local space (e.g., one lattice site) are generated by getLocalSpace. For example, we obtain the operators that act on a spin-1/2 site and respect SU(2) spin symmetry:
Q: 1x [1 1 1] having 'SU2', operator, { , * , * }
data: 3-D double (112 bytes) 1 x 1 x 1 => 2 x 2 x 3
1. 1x1x1 | 2x2x3 [ 1 ; 1 ; 2 ] -1.225
Sloc: 0.5000
SOP: [1x1 struct]
sym: 'SpinS'
U: [2x2 double]
Is: [1x1 struct]
E: [1x1 QSpace]
Q: 1x [1 1] having 'SU2', { , * }
data: 2-D double (112 bytes) 1 x 1 => 2 x 2
1. 1x1 | 2x2 [ 1 ; 1 ] 1. {1.414}
Meaning of the displayed information will be explained in the next section.
On the other hand, the operators for one spinful fermionic site, which respect U(1) charge and SU(2) spin symmetries, are generated by:
Here 'FermionS' means spinful fermion, 'Acharge,SU2spin' means U(1) charge (A from Abelian) and SU(2) spin symmetries, and 'NC',1' means that there is only one channel (NC from number of channels).
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
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
Q: 1x [2 2 2] having 'A,SU2', operator, { , * , * }
data: 3-D double (112 bytes) 1 x 1 x 1 => 2 x 2 x 3
1. 1x1x1 | 2x2x3 [ 0 1 ; 0 1 ; 0 2 ] -1.225
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
F and S are rank-3 tensors, since they change charge and spin quantum numbers. On the other hand, Zand I.E are rank-2 tensors, since they do not change quantum numbers; that is, they are scalars in terms of the Clebsch-Gordan coefficients.
getLocalSpace can deal with general situations. For details, type in the MATLAB command window: 'help getLocalSpace'.