diff --git a/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp b/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp index 50f5a364755a2fd6944c31b5c1e9ec0a67f0227c..8166a03beadc49809176ada9dd46cd5ca0df5df9 100644 --- a/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp +++ b/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp @@ -2110,9 +2110,14 @@ void ExatnMpsVisitor::applyTwoQubitGate(xacc::Instruction& in_gateInstruction) const bool checkRank = m_rightSharedProcessGroup->rankIsIn(m_rank + 1, &neighborRank); assert(checkRank); + const auto tensorShape = exatn::getTensor(qubitTensorName)->getShape(); const bool dereplicateTensorOk = exatn::dereplicateTensorSync( *m_rightSharedProcessGroup, qubitTensorName, neighborRank); assert(dereplicateTensorOk); + auto recreated = exatn::createTensorSync( + *m_selfProcessGroup, qubitTensorName, + exatn::TensorElementType::COMPLEX64, tensorShape); + assert(recreated); } } else if (indexInRange(qMax, m_qubitRange))