qszbasis

◼ qszbasis[{ops}] returns the basis with well defined charge Q and spin projection (Subscript[S, z]) quantum numbers in creation operator representation.
◼ qszbasisvc[{ops}] returns the basis with well defined charge Q and spin projection (Subscript[S, z]) quantum numbers in occupation number representation.

◼ An appropriate occupation number basis for operators {ops} is automatically defined by calling makebasis.

◼ See also: qsbasis, transformQStoIS, transformbasis, transformQStoPH, transformtoLR, makematricesbzop, makematricesbzvc, makebasis, bzvc2bzop, bzop2bzvc.

Further examples

Load sneg and declare c to be a Fermionic operator.

<< sneg`sneg`;
snegfermionoperators[c]

One-site basis

qszbasisvc[{c[]}] // MatrixForm
qszbasis[{c[]}] // MatrixForm

Two-site basis

qszbasisvc[{c[1], c[2]}] // MatrixForm
qszbasis[{c[1], c[2]}] // MatrixForm

Three-site basis; only show dimensions of the invariant subspaces.

qszbasisvc[{c[1], c[2], c[3]}];
Map[{First[#], Length[Last[#]]} &, %] // 
      MatrixForm
Total[
      Length  /@  %%[[All, 
          2]]]

    
qszbasisvc[{c[1], c[2], c[3], c[4]}];
Map[{First[#], Length[Last[#]]} &, %] // MatrixForm
Total[
      Length  /@  %%[[All, 
          2]]]