@@ -644,13 +644,13 @@ void leftapplyPauliStrSum(Qureg qureg, PauliStrSum sum, Qureg workspace) {
644644 validate_pauliStrSumTargets (sum, qureg, __func__);
645645
646646 // clone qureg to workspace, set qureg to blank
647- localiser_statevec_setQuregToSuperposition ( 0 , workspace, 1 , qureg, 0 , qureg);
647+ localiser_statevec_setQuregToClone ( workspace, qureg);
648648 localiser_statevec_initUniformState (qureg, 0 );
649649
650650 // left-multiply each term in-turn, mixing into output qureg, then undo using idempotency
651651 for (qindex i=0 ; i<sum.numTerms ; i++) {
652652 localiser_statevec_anyCtrlPauliTensor (workspace, {}, {}, sum.strings [i]);
653- localiser_statevec_setQuregToSuperposition ( 1 , qureg , sum.coeffs [i], workspace, 0 , workspace);
653+ localiser_statevec_setQuregToWeightedSum (qureg, { 1 , sum.coeffs [i]}, {qureg, workspace} );
654654 localiser_statevec_anyCtrlPauliTensor (workspace, {}, {}, sum.strings [i]);
655655 }
656656
@@ -666,7 +666,7 @@ void rightapplyPauliStrSum(Qureg qureg, PauliStrSum sum, Qureg workspace) {
666666 validate_pauliStrSumTargets (sum, qureg, __func__);
667667
668668 // clone qureg to workspace, set qureg to blank
669- localiser_statevec_setQuregToSuperposition ( 0 , workspace, 1 , qureg, 0 , qureg);
669+ localiser_statevec_setQuregToClone ( workspace, qureg);
670670 localiser_statevec_initUniformState (qureg, 0 );
671671
672672 // post-multiply each term in-turn, mixing into output qureg, then undo using idempotency
@@ -675,7 +675,7 @@ void rightapplyPauliStrSum(Qureg qureg, PauliStrSum sum, Qureg workspace) {
675675 qcomp factor = paulis_getSignOfPauliStrConj (str); // undoes transpose
676676
677677 localiser_statevec_anyCtrlPauliTensor (workspace, {}, {}, str, factor);
678- localiser_statevec_setQuregToSuperposition ( 1 , qureg , sum.coeffs [i], workspace, 0 , workspace);
678+ localiser_statevec_setQuregToWeightedSum (qureg, { 1 , sum.coeffs [i]}, {qureg, workspace} );
679679 localiser_statevec_anyCtrlPauliTensor (workspace, {}, {}, str, factor);
680680 }
681681
0 commit comments