Cove - A Practical Quantum Computer Programming Framework
OperationSwap Class
This is the class for the swap operation. This swaps the two qubits it operates on.
Declaration Syntax
C#Visual BasicVisual C++
Public Class OperationSwap _
	Inherits GeneralSimulatedOperation _
	Implements IOperationSwap, IQuantumOperation, ICoveObject
public ref class OperationSwap : public GeneralSimulatedOperation, 
	IOperationSwap, IQuantumOperation, ICoveObject
All MembersConstructorsMethodsFields

The default constructor.

OperationSwap(Int32, Int32)
Overloaded constructor to also set the swap indexes at the time of construction

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 two same sized operations into one.
(Inherited from GeneralSimulatedOperation.)
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Get the index of the first qubit in the register to swap when this operation is applied.

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.)
Get a string that shows the operations name and target. An example might be something like "CNOT: Control = 0, Target = 2".
(Overrides GeneralSimulatedOperation.GetOperationAndTargets()()().)
Return the object that represents the operation. The result is a deep copy of the operation matrix.
(Inherited from GeneralSimulatedOperation.)
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.)
Get the index of the second qubit in the register to swap when this operation is applied.

Gets the Type of the current instance.
(Inherited from Object.)
Checks to see if the operation is a valid quantum operation, that it is unitary.
(Inherited from GeneralSimulatedOperation.)
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.)
Creates a shallow copy of the current Object.
(Inherited from Object.)
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.)
The matrix representing the operation.
(Inherited from GeneralSimulatedOperation.)
Set the target qubit of the first qubit to swap.

Set the target qubit of the second qubit to swap.

SetSwapIndexes(Int32, Int32)
Set both target indexes to swap.

The index in listTargetQubits that is the first qubit to swap.

The index in listTargetQubits that is the second qubit to swap.

Tensor two operations into one combined one.
(Inherited from GeneralSimulatedOperation.)
Get the string representation of this operation.
(Inherited from GeneralSimulatedOperation.)
Inheritance Hierarchy

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