Gate Constructor

Liquid Quantum Simulator

Gate Constructor
Creates a new gate from scratch.

Namespace: Microsoft.Research.Liquid
Assembly: Liquid1 (in Liquid1.dll) Version: 1.0.5981.24943 (1.0.*)
Syntax
F#
new : 
        Name : FSharpOption<string> * 
        Qubits : FSharpOption<int> * 
        Mat : FSharpOption<CSMat> * 
        Draw : FSharpOption<string> * 
        Help : FSharpOption<string> * 
        Op : FSharpOption<GateOp> * 
        Parent : FSharpOption<FSharpOption<Gate>> * 
        User : FSharpOption<FSharpOption<Object>> * 
        Kraus : FSharpOption<FSharpList<KrausOp>> -> Gate

Parameters

Name
Type: Microsoft.FSharp.CoreFSharpOptionString
The optional name of the gate we're creating. The default is "".
Qubits
Type: Microsoft.FSharp.CoreFSharpOptionInt32
The optional arity of gate; that is, the number of qubits this gate operates on. If a matrix for the gate is provided using the Mat parameter, then the arity is deduced from the dimensions of the matrix. The default value is 0.
Mat
Type: Microsoft.FSharp.CoreFSharpOptionCSMat
An optional sparse unitary matrix that implements the gate. This parameter is only used for gates that implement a unitary operation. The default is no unitary.
Draw
Type: Microsoft.FSharp.CoreFSharpOptionString
An optional string to use to render the gate. This should be a Q-Circuit drawing string, if provided. The default is "", which means that the gate doesn't show up when rendered.
Help
Type: Microsoft.FSharp.CoreFSharpOptionString
An optional help string for the gate. The default is no help string, "".
Op
Type: Microsoft.FSharp.CoreFSharpOptionGateOp
The optional gate operation to perform. The default is Normal, which is a unitary gate defined by a matrix.
Parent
Type: Microsoft.FSharp.CoreFSharpOptionFSharpOptionGate
The optional parent gate, if required by the gate operation type. The default is None.
User
Type: Microsoft.FSharp.CoreFSharpOptionFSharpOptionObject
An optional user-defined field.
Kraus
Type: Microsoft.FSharp.CoreFSharpOptionFSharpListKrausOp
An optional list of Kraus tags and matrices for Channels.
See Also