ApplyIfC operation
Warning
This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.
Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.
Namespace: Microsoft.Quantum.Canon
Package: Microsoft.Quantum.Standard
Applies a controllable operation conditioned on a classical bit.
operation ApplyIfC<'T> (bit : Bool, op : ('T => Unit is Ctl), target : 'T) : Unit is Ctl
Description
Given a bit value bit
and an operation op
, applies op
to the target
if bit
is true
. If false
, nothing happens to the target
.
The suffix C
indicates that the operation to be applied is controllable.
Input
bit : Bool
a boolean that controls whether op is applied or not.
op : 'T => Unit is Ctl
An operation to be conditionally applied.
target : 'T
The input to which the operation is applied.
Output : Unit
Type Parameters
'T
The input type of the operation to be conditionally applied.
Example
The following prepares a register of qubits into a computational basis
state represented by a classical bit string given as an array of Bool
values:
let bitstring = [true, false, true];
using (register = Qubit(3)) {
ApplyToEach(ApplyIf(_, X, _), Zipped(bitstring, register));
// register should now be in the state |101⟩.
...
}
See Also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for