QN degeneracy caused "segmentation fault" for odd number of sites

0 votes
asked Mar 13 by JunjieChen (330 points)

Here by "QN" degeneracy I mean that two Index-QN pair defined in an IQIndex have the same QN (quantum number). For example, the following two pairs are degenerate :

Index(nameint("pzm101",n),1,Site),QN({0,-1},{2,1},{0,1},{0,1})
Index(nameint("pzm020",n),1,Site),QN({0,-1},{2,1},{0,1},{0,1})

if such degeneracy appears in the definition of IQIndex, than "segmentation fault" might happen. I seems we can redefine a Index-QN pair with two sector:

Index(nameint("pzm***",n),2,Site),QN({0,-1},{2,1},{0,1},{0,1})

But it may have problems when we try to define operators. On the other hand, QN only receive at most 4 slots, I can no longer add an additional quantum number to distinguish these two states.

Thank you.

commented Mar 14 by Zhiyu (280 points)
Hi Junjie,

For your last question, I think maybe you can edit the qn.h to allow more QNs.

There are code as follows:


    explicit
    QN(qn_t q0);

    QN(qn_t q0,
       qn_t q1);

    QN(qn_t q0,
       qn_t q1,
       qn_t q2);

    QN(qn_t q0,
       qn_t q1,
       qn_t q2,
       qn_t q3);

you may just try to add a similiar one:

    QN(qn_t q0,
       qn_t q1,
       qn_t q2,
       qn_t q3,
       qn_t q4);

Would that work?

Zhiyu
commented Mar 14 by JunjieChen (330 points)
Hi, Zhiyu, it should work. But it seems that all quantum number defined in QN object should a good quantum number of the Hamiltonian, otherwise error occurs. I shall do some tests and discuss it with you later. Thank you.

Please log in or register to answer this question.

Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.
...