OperationControlledU Class
Cove - A Practical Quantum Computer Programming Framework
OperationControlledU Class
NamespacesCove.LocalSimulationOperationControlledU
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>.
Declaration Syntax
C#Visual BasicVisual C++
Public Class OperationControlledU _
	Inherits GeneralSimulatedOperation _
	Implements IOperationControlledU, IQuantumOperation, ICoveObject
public ref class OperationControlledU : public GeneralSimulatedOperation, 
	IOperationControlledU, IQuantumOperation, ICoveObject
Members
All MembersConstructorsMethodsFields



IconMemberDescription
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.)
Inheritance Hierarchy
Object
GeneralSimulatedOperation
 OperationControlledU

Assembly: Cove.LocalSimulation (Module: Cove.LocalSimulation) Version: 1.0.0.0 (1.0.0.0)