Function multiControlledPhaseShift

Source
pub unsafe extern "C" fn multiControlledPhaseShift(
    qureg: Qureg,
    controlQubits: *mut c_int,
    numControlQubits: c_int,
    angle: f64,
)
Expand description

Introduce a phase factor \f$ \exp(i \theta) \f$ on state \f$ |1 \dots 1 \rangle \f$ of the passed qubits.

@htmlonly

@endhtmlonly

@see

  • phaseShift()
  • controlledPhaseShift()
  • controlledPhaseFlip()
  • multiControlledPhaseFlip()

@ingroup unitary @param[in,out] qureg object representing the set of all qubits @param[in] controlQubits array of qubits to phase shift @param[in] numControlQubits the length of array \p controlQubits @param[in] angle amount by which to shift the phase in radians @throws invalidQuESTInputError()

  • if \p numControlQubits is outside [1, \p qureg.numQubitsRepresented])
  • if any qubit index in \p controlQubits is outside [0, \p qureg.numQubitsRepresented])
  • if the qubits in \p controlQubits are not unique @author Tyson Jones