getSymStates

Usage #1: [U,I]=getSymStates(Sp,Sz);

  get symmetry eigenstates for symmetry operations given by
  rising operators Sp and (diagonal) z-operators Sz.
  The order of the Sz operators determines the order of the
  z-labels to be determined.

Usage #2: [U,I]=getSymStates(SOP)

  Moreover, Sp and Sz can be grouped according to each symmetry
  by using a single vector structure Is with the mandatory
  fields .Sp and .Sz. In this case, an empty Sp is interpreted
  as Abelian quantum number. Eventually Sp and Sz are combined
  into a single sequence as in usage #1.

  Further optional fields
    .type   symmetry type (in QSpace convention)
    .qfac   applied to all z- and q-labels (scalar or vector)
    .jmap   subsequently to qfac, applies linear transform
            of q-labels (square matrix)

Output: symmetry eigenstates written as full matrix in U,
and info structure I with the fields

  basically reiterating the input
    .R0    input .Sp and .Sz data
    .type  symmetry type
    .JMap  J-transformation used (identity if not specified)
    .dz    number of z-operators for each symmetry

  actual output data
    .dd    dimension of irreduible multiplets generated
    .RR    irreducible representations with qfac and jmap applied
    .QZ    interleaved q- and z-labels.
    .d2    dimensions of setup in QZ (non-abelian number have
           the same number appearing twice)

(C) Wb,Jul05,10