The Quantum Exact Simulation Toolkit v4.3.0
Loading...
Searching...
No Matches

Functions for pre- or post-multiplying many-qubit rotations around arbitrary PauliStr upon density matrices. More...

Functions

void leftapplyPauliGadget (Qureg qureg, PauliStr str, qreal angle)
 
void rightapplyPauliGadget (Qureg qureg, PauliStr str, qreal angle)
 

Detailed Description

Functions for pre- or post-multiplying many-qubit rotations around arbitrary PauliStr upon density matrices.

Function Documentation

◆ leftapplyPauliGadget()

void leftapplyPauliGadget ( Qureg qureg,
PauliStr str,
qreal angle )
Note
Documentation for this function or struct is under construction!
See also

Definition at line 477 of file multiplication.cpp.

477 {
478 validate_quregFields(qureg, __func__);
479 validate_pauliStrTargets(qureg, str, __func__);
480
481 qreal phase = util_getPhaseFromGateAngle(angle);
482 localiser_statevec_anyCtrlPauliGadget(qureg, none, none, str, phase);
483}

◆ rightapplyPauliGadget()

void rightapplyPauliGadget ( Qureg qureg,
PauliStr str,
qreal angle )
Note
Documentation for this function or struct is under construction!
See also

Definition at line 485 of file multiplication.cpp.

485 {
486 validate_quregFields(qureg, __func__);
487 validate_quregIsDensityMatrix(qureg, __func__);
488 validate_pauliStrTargets(qureg, str, __func__);
489
490 qreal factor = paulis_getSignOfPauliStrConj(str);
491 qreal phase = factor * util_getPhaseFromGateAngle(angle);
492 str = paulis_getShiftedPauliStr(str, qureg.numQubits);
493 localiser_statevec_anyCtrlPauliGadget(qureg, none, none, str, phase);
494}