# IndexQN An IndexQN is a struct holding an [[Index|classes/index]] and a [[QN|classes/qn]]. Its primary purpose is for labeling individual sectors of an [[IQIndex|classes/iqindex]]. IndexQN is defined in the header "itensor/iqindex.h". ## Synopsis auto i = Index("i",2); auto q = QN(+1); auto iq = IndexQN(i,q); Print(iq.index); //prints: (i,2,Link) Print(iq.qn); //prints: QN(1) ## Public Data Members * `Index index` * `QN qn` ## Class Methods * `IndexQN(Index i, QN q)` Construct an IndexQN by providing an Index `i` and a QN `q`.
Calling this constructor sets `index = i` and `qn = q`. * `m() -> long` Return the size of the `.index` field of the IndexQN. * `type() -> IndexType` Return the IndexType of the `.index` field of the IndexQN. ## Other Features of IndexQN * IndexQN's are default constructible. * An IndexQN can be explicitly converted to an Index. The resulting Index equals the `.index` field of the IndexQN. * An IndexQN `iq` can be written to or read from disk by calling `iq.write(s)` or `iq.read(s)` where `s` is a stream object. * An IndexQN `iq` can be compared (`==` and `!=`) to an Index `i`.
The comparison is equivalent to doing `iq.index == i` or `iq.index != i`. * IndexQN's can be printed.
_This page current as of version 2.0.6_