This interface provides common quantum algorithms that should
be implemented. These common algorithms let users utilize the
framework for specific quantum tasks without being concerned
with the details of how the algorithms work. Direct implementations of
this interface should be named QuantumAlgorithms.

Declaration Syntax

C# | Visual Basic | Visual C++ |

public interface IQuantumAlgorithms : ICoveObject

Public Interface IQuantumAlgorithms _ Implements ICoveObject

public interface class IQuantumAlgorithms : ICoveObject

Members

All Members | Methods | ||||

Icon | Member | Description |
---|---|---|

AddN(array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[]) |
Return the operations needed to perform Add over two registers of equal size.
| |

AddN(array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[]%) |
Return the operations needed to perform Add over two registers of equal size.
| |

AddNInverse(array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[]) |
Return the operations needed to perform Add Inverse over two registers of equal size.
Add inverse is subtraction.
| |

AddNInverse(array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[]%, Int32%) |
Return the operations needed to perform Add Inverse over two registers of equal size.
Add inverse is subtraction.
| |

Carry(Int32, Int32, Int32, Int32) |
Return the operations to perform the carry gate.
| |

CarryInverse(Int32, Int32, Int32, Int32) |
Return the operations to perform the inverse carry.
| |

ControlledReset(Int32, array<Int32>[]()[], ClassicalResult) |
The controlled reset operation. If the control qubit is 1 then all the
target indexes are reset to 0.
| |

Factor(Int32, Int32%, Int32%) |
Factor a number using Shor's algorithm.
| |

FactoringUf(array<Int32>[]()[], array<Int32>[]()[], Int32) |
Perform Uf for factoring
| |

GetRegisterEPRPair()()() |
Get the EPR Pair (Phi plus, or Einstein Podolsky Rosen), which is defined
as the 2 qubit register:
(1 / sqrt(2))(|00> + |11>)
This is also a bell state.
| |

GetRegisterGHZ()()() |
Get the GHZ (Greenberger-Horne-Zeilinger) register, which is defined
as the three qubits in the state:
(1 / sqrt(2))(|000> + |111>)
| |

GetRegisterPhiMinus()()() |
Get the Phi minus register, which is defined as the two qubits:
(1 / sqrt(2))(|00> - |11>)j
This is also a bell state.
| |

GetRegisterPhiPlus()()() |
Get the EPR Pair (Phi plus, or Einstein Podolsky Rosen), which is defined
as the 2 qubit register:
(1 / sqrt(2))(|00> + |11>)
This is also a bell state.
| |

GetRegisterPsiMinus()()() |
Get the Psi minus register, which is defined as the two qubits:
(1 / sqrt(2))(|01> - |10>)
This is also a bell state.
| |

GetRegisterPsiPlus()()() |
Get the Psi plus register, which is defined as the two qubits:
(1 / sqrt(2))(|01> + |10>)
This is also a bell state.
| |

GetRegisterW()()() |
Get the W register, which is defined as the three qubits in the state:
(1 / sqrt(3))(|100> + |010> + |001>)
| |

ModularNAdder(array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[]) |
Performs modular addition of X and Y: (x + y) mod n. All index arrays must be of
equal length.
| |

NegatedCNot(Int32, Int32) |
Returns the operations to perform the negated CNot. The normal CNot operation flips
the target qubit when the control is 1, otherwise no change is made. This (the negated)
flips the target when the control is 0 instead of 1.
| |

QuantumFourierTransform(array<Int32>[]()[]) |
Get the operations to apply the Quantum Fourier
Transform.
| |

QuantumFourierTransformInverse(array<Int32>[]()[]) |
Get the operations to apply the inverse Quantum Fourier
Transform.
| |

Sum(Int32, Int32, Int32) |
Return the operations that perform Sum.
| |

SwapIndexes(array<Int32>[]()[], array<Int32>[]()[]) |
Swap the first indexes and the second indexes. Each qubit in element x of
FirstSwapIndexes will be swapped with element x of SecondSwapIndexes. Example:
A register is ordered 0, 1, 2, 3. If FirstIndexes = 0, 2 and SecondIndexes = 3, 1
then the resulting order will be 3, 1, 2, 0.
| |

ToString()()() |
Get the string representation of the object
(Inherited from ICoveObject.) |