I define a siteset file for a 1-D spinor Bose-Fermi mixture system, in which all fermion lies on odd site and boson lies on even site. The "dmrg" works fine for sites with odd number but when the number of site is even, some fatal error appears. There are two different cases :
(1) sweeps.noise() has been set to be non-zero : segmentation fault. In debug mode, the error information is :
Using approx/svd conversion of AutoMPO->IQMPO
myappname-g:/home/junjie/JunjieChen/Computer/iTensor/itensor/itensor/itdata/qutil.h:190: void itensor::loopContractedBlocks(const BlockSparseA&, const IQIndexSet&, const BlockSparseB&, const IQIndexSet&, BlockSparseC&, const IQIndexSet&, Callable&) [with BlockSparseA = itensor::QDense<double>; BlockSparseB = itensor::QDense<double>; BlockSparseC = itensor::QDense<double>; Callable = itensor::doTask(itensor::Contract<itensor::IQIndex>&, const itensor::QDense<T>&, const itensor::QDense<T>&, itensor::ManageStore&) [with VA = double; VB = double]::<lambda(itensor::DataRange<const double>, const Labels&, itensor::DataRange<const double>, const Labels&, itensor::DataRange<double>, const Labels&)>;
itensor::IQIndexSet = itensor::IndexSetT<itensor::IQIndex>]:
Assertion `cblock' failed.
Aborted (core dumped)
it points to the head file "qutil.h" and contradicts the assertion "assert(cblock)".
(2) sweeps.noise() is set or set to zero : no segmentation fault and no error in debug mode. But the result is obviously wrong because the program runs so quickly (0.5 second) with entropy at center bond being zero.
Actually, I haven't checked my Hamiltonian completely. I just want to know in advance whether this kind of error is due to some well-known reason. Thanks.