This is similar to #763.
linalg.Qr on a BlockUniTensor, T=QR, produces an auxiliary bond with wrong negative qnums when the bond directions are [OUT, IN, OUT] with rowrank=2. In the resulting R, no sector pair satisfies QN conservation, yet cytnx stores 2 nonzero blocks without raising an error.
I attached an example to demonstrate the bug.
cytnx_qr_wrong_qnums.py
I suggest that in linalg, any QN tensor needs to pass a QN check in debug mode before it is returned.
Environment: cytnx 1.0.0, Python 3.9, Linux
This is similar to #763.
linalg.Qr on a BlockUniTensor, T=QR, produces an auxiliary bond with wrong negative qnums when the bond directions are [OUT, IN, OUT] with rowrank=2. In the resulting R, no sector pair satisfies QN conservation, yet cytnx stores 2 nonzero blocks without raising an error.
I attached an example to demonstrate the bug.
cytnx_qr_wrong_qnums.py
I suggest that in linalg, any QN tensor needs to pass a QN check in debug mode before it is returned.
Environment: cytnx 1.0.0, Python 3.9, Linux