The Quantum Exact Simulation Toolkit v4.2.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 468 of file multiplication.cpp.

468 {
469 validate_quregFields(qureg, __func__);
470 validate_pauliStrTargets(qureg, str, __func__);
471
472 qreal phase = util_getPhaseFromGateAngle(angle);
473 localiser_statevec_anyCtrlPauliGadget(qureg, {}, {}, str, phase);
474}

◆ rightapplyPauliGadget()

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

Definition at line 476 of file multiplication.cpp.

476 {
477 validate_quregFields(qureg, __func__);
478 validate_quregIsDensityMatrix(qureg, __func__);
479 validate_pauliStrTargets(qureg, str, __func__);
480
481 qreal factor = paulis_getSignOfPauliStrConj(str);
482 qreal phase = factor * util_getPhaseFromGateAngle(angle);
483 str = paulis_getShiftedPauliStr(str, qureg.numQubits);
484 localiser_statevec_anyCtrlPauliGadget(qureg, {}, {}, str, phase);
485}