For this n qubit operation there is 1 control qubit and n - 1 target qubits. The
single qubit operation functions on all target qubits if the control qubit is |1>.

C# | Visual Basic | Visual C++ |
public class OperationControlledU : GeneralSimulatedOperation, IOperationControlledU, IQuantumOperation, ICoveObject
Public Class OperationControlledU _ Inherits GeneralSimulatedOperation _ Implements IOperationControlledU, IQuantumOperation, ICoveObject
public ref class OperationControlledU : public GeneralSimulatedOperation, IOperationControlledU, IQuantumOperation, ICoveObject

All Members | Constructors | Methods | Fields | ||
Icon | Member | Description |
---|---|---|
![]() | OperationControlledU()()() |
The default constructor, constructs a controled identity- which is
effectively the identity on two qubits.
|
![]() | OperationControlledU(IQubitOperation) |
Overloaded constructor to set the target operation.
|
![]() | OperationControlledU(IQubitOperation, Int32, Int32) |
Overloaded constructor to set the target operation along with the
control and target indexes
|
![]() | Clone()()() |
Return a clone (deep copy) of the current operation. This operation returned can be modified
without any impact to this object. Unlike quantum registers, quantum operations cannot be
in superposition- hence a clone of them does not violate the no-cloning theorem.
|
![]() | Combine(IQuantumOperation) |
Combine two same sized operations into one.
(Inherited from GeneralSimulatedOperation.) |
![]() ![]() | CONTROL_INDEX |
The element in listTargetQubits that is the control qubit.
|
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize()()() | Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetControlIndex()()() |
Get the current control index
|
![]() | GetHashCode()()() | Serves as a hash function for a particular type. GetHashCode()()() is suitable for use in hashing algorithms and data structures like a hash table. (Inherited from Object.) |
![]() | GetOperationAndTargets()()() |
Get a string that shows the operations name and target. An example might
be something like "CNOT: Control = 0, Target = 2".
(Overrides GeneralSimulatedOperation.GetOperationAndTargets()()().) |
![]() | GetOperationComplexMatrix()()() |
Return the object that represents the operation. The result is a deep copy
of the operation matrix.
(Inherited from GeneralSimulatedOperation.) |
![]() | GetOperationMatrix()()() |
Get the matrix object that represents this operation. The ComplexMatrix
returned is a deep copy, so changes the object returned do not effect this object.
(Inherited from GeneralSimulatedOperation.) |
![]() | GetTargetIndex()()() |
Get the target index.
|
![]() | GetTargetOperation()()() |
Get the current target operation.
|
![]() | GetType()()() | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IsValidOperation()()() |
Checks to see if the operation is a valid quantum operation, that it is unitary.
(Inherited from GeneralSimulatedOperation.) |
![]() | listTargetQubits |
Represents the targets for the various qubits the operation
operates on. Index represents the standard target, value
represents the actual target. Example: In a standard CNot
the first (index 0) qubit is the control and the second (index 1)
is the target. The list will be 2 elements with element 0 representing
the control and element 1 representing the target. If the list is
then {3, 0} this means that the control targets index 3 of the target
register and the target of the operation is index 0 of the target
register.
(Inherited from GeneralSimulatedOperation.) |
![]() | MemberwiseClone()()() | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | NumberOfQubitsOperatesOn()()() |
Return the number of qubits that this operation operates on. The number
of qubits it operates on is the highest target qubit. Example: If a Toffolli
operation targets qubit indexes 4, 2, 6 in a register then this will return
7 (index 6 is the 7th qubit).
(Inherited from GeneralSimulatedOperation.) |
![]() | OperationMatrix | The matrix representing the operation. (Inherited from GeneralSimulatedOperation.) |
![]() | SetControlIndex(Int32) |
Set the control index
|
![]() | SetIndexes(Int32, Int32) |
Set the control and target indexes
|
![]() | SetTargetIndex(Int32) |
Set the target index.
|
![]() | SetTargetOperation(IQubitOperation) |
Set the target operation. This will be applied if the control qubit is set. The target
index of this operation is ignored- it will be the target index of this operation.
|
![]() ![]() | TARGET_INDEX |
The element in listTargetQubits that is the TargetIndex.
|
![]() | Tensor(IQuantumOperation) |
Tensor two operations into one combined one.
(Inherited from GeneralSimulatedOperation.) |
![]() | ToString()()() |
Get the string representation of this operation.
(Inherited from GeneralSimulatedOperation.) |

Object | ||
![]() | GeneralSimulatedOperation | |
![]() | OperationControlledU |