Gate operation type.
This is used in
Gate definitions.
Inheritance Hierarchy
Namespace: Microsoft.Research.LiquidAssembly: Liquid1 (in Liquid1.dll) Version: 1.0.5981.24943 (1.0.*)
Syntax [<SerializableAttribute>]
type GateOp = class end
The GateOp type exposes the following members.
Methods
| Name | Description |
---|
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
| GetHashCode | Serves as the default hash function. (Inherited from Object.) |
| GetType | Gets the Type of the current instance. (Inherited from Object.) |
| ToString |
Creates a string representation of this gate operation type.
(Overrides ObjectToString.) |
TopRemarks
The possible values for this type are:
- Normal: Implements a unitary operation and is defined by a matrix.
- Measure: Measures a single qubit or the joint parity of a groupt of qubits.
- Channel(sym): Selects a Kraus operator to run (sym is a symbol to store the selected index for POVMs)
- Reset(b): Reanimates a measured qubit to the Bit value b. If b is Unknown, then the
qubit is reanimated to its last measured value.
- String: Puts a label in a diagram
- Modify(n): Modifies a parent gate. The modified gate takes n more wires (input qubits)
than the parent gate.
- BCOp(n,f): Implements a classically-controlled gate.
There are two cases: if n is greater than zero, then the control is logically based on the measured
values of n qubits.
If n is equal to zero, then the control is logically based on the result of one or more
joint parity measurements.
In either case, f is the function that determines whether or not to execute the parent gate.
- WrapOp(f): Wraps multiple gates into one logical gate.
This is used for multi-level circuit drawing.
- WrapHam(pqrs,f): Wraps multiple gates into a single Hamiltonian term.
This is used for GrowSingle.
See Also