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

Functions for pre- or post-multiplying many-qubit rotations around the Pauli Z axis upon density matrices. More...

Functions

void leftapplyPhaseGadget (Qureg qureg, int *targets, int numTargets, qreal angle)
 
void rightapplyPhaseGadget (Qureg qureg, int *targets, int numTargets, qreal angle)
 

Detailed Description

Functions for pre- or post-multiplying many-qubit rotations around the Pauli Z axis upon density matrices.

Function Documentation

◆ leftapplyPhaseGadget()

void leftapplyPhaseGadget ( Qureg qureg,
int * targets,
int numTargets,
qreal angle )
Note
Documentation for this function or struct is under construction!
See also

Definition at line 497 of file multiplication.cpp.

497 {
498 validate_quregFields(qureg, __func__);
499 validate_targets(qureg, targets, numTargets, __func__);
500
501 qreal phase = util_getPhaseFromGateAngle(angle);
502 auto qubits = util_getVector(targets, numTargets);
503 localiser_statevec_anyCtrlPhaseGadget(qureg, {}, {}, qubits, phase);
504}

Referenced by leftapplyPhaseGadget().

◆ rightapplyPhaseGadget()

void rightapplyPhaseGadget ( Qureg qureg,
int * targets,
int numTargets,
qreal angle )
Note
Documentation for this function or struct is under construction!
See also

Definition at line 506 of file multiplication.cpp.

506 {
507 validate_quregFields(qureg, __func__);
508 validate_quregIsDensityMatrix(qureg, __func__);
509 validate_targets(qureg, targets, numTargets, __func__);
510
511 qreal phase = util_getPhaseFromGateAngle(angle);
512 auto qubits = util_getBraQubits(util_getVector(targets, numTargets), qureg);
513 localiser_statevec_anyCtrlPhaseGadget(qureg, {}, {}, qubits, phase);
514}

Referenced by rightapplyPhaseGadget().