Operations.Transverse Method

Liquid Quantum Simulator

OperationsTransverse Method
Expands a parent gate to a transverse version.

Namespace: Microsoft.Research.Liquid
Assembly: Liquid1 (in Liquid1.dll) Version: 1.0.5981.24943 (1.0.*)
Syntax
F#
static member Transverse : 
        cCnt : int * 
        f : FSharpFunc<FSharpList<Qubit>, Unit> * 
        qs : FSharpList<Qubit> -> unit 

Parameters

cCnt
Type: SystemInt32
The total number of qubits in code
f
Type: Microsoft.FSharp.CoreFSharpFuncFSharpListQubit, Unit
The parent gate to expand
qs
Type: Microsoft.FSharp.CollectionsFSharpListQubit
The qubits that final gate will operate on
Remarks
If the parent gate operates on a single qubit, then it is applied to each qubit in the code. If the parent gate applies to two qubits, then it is applied to pairs of qubits selected from the first and second half of the list. For example, if the code contained 3 qubits, so that the qubits to operate on would contain 6 qubits, then the gate would be applied to pairs 0 and 3, 1 and 4, and 2 and 5.

It is an error if the parent gate takes more than two qubits.

The transverse gate's name is the parent's name with a "_T" suffix.

See Also