sf.ops

This module defines and implements the Python-embedded quantum programming language for continuous-variable (CV) quantum systems. The syntax is modeled after ProjectQ [33].

Functions

New([n])

Adds new subsystems to the quantum register.

Classes

Fouriergate()

Fourier gate.

Xgate(x)

Position displacement gate.

Zgate(p)

Momentum displacement gate.

Rgate(theta)

Rotation gate.

Pgate(s)

Quadratic phase gate.

Vgate(gamma)

Cubic phase gate.

Kgate(kappa)

Kerr gate.

CXgate([s])

Controlled addition or sum gate in the position basis.

CZgate([s])

Controlled phase gate in the position basis.

CKgate(kappa)

Cross-Kerr gate.

Dgate(r[, phi])

Phase space displacement gate.

Sgate(r[, phi])

Phase space squeezing gate.

BSgate([theta, phi])

Beamsplitter gate.

MZgate(phi_in, phi_ex)

Mach-Zehnder interferometer.

S2gate(r[, phi])

Two-mode squeezing gate.

LossChannel(T)

Perform a loss channel operation on the specified mode.

ThermalLossChannel(T, nbar)

Perform a thermal loss channel operation on the specified mode.

MSgate(r[, phi, r_anc, eta_anc, avg])

Phase space measurement-based squeezing gate.

PassiveChannel(T)

Perform an arbitrary multimode passive operation

Vacuum()

Prepare a mode in the vacuum state.

Coherent([r, phi])

Prepare a mode in a coherent state.

Squeezed([r, p])

Prepare a mode in a squeezed vacuum state.

DisplacedSqueezed([r_d, phi_d, r_s, phi_s])

Prepare a mode in a displaced squeezed state.

Fock([n])

Prepare a mode in a Fock basis state.

Catstate([a, phi, p, representation, …])

Prepare a mode in a cat state.

Thermal([n])

Prepare a mode in a thermal state.

Ket(state)

Prepare mode(s) using the given ket vector(s) in the Fock basis.

DensityMatrix(state)

Prepare mode(s) using the given density matrix in the Fock basis.

Bosonic([weights, means, covs])

Prepare a mode as a linear combination of Gaussian functions in phase space.

GKP([state, epsilon, ampl_cutoff, …])

Prepare a mode in a finite energy Gottesman-Kitaev-Preskill (GKP) state.

MeasureFock([select, dark_counts])

Photon counting measurement: measures a set of modes in the Fock basis.

MeasureHomodyne(phi[, select])

Performs a homodyne measurement, measures one quadrature of a mode.

MeasureHeterodyne([select])

Performs a heterodyne measurement on a mode.

MeasureThreshold([select])

Measures a set of modes with thresholded Fock-state measurements, i.e., measuring whether a mode contain zero or nonzero photons.

Interferometer(U[, mesh, drop_identity, tol])

Apply a linear interferometer to the specified qumodes.

BipartiteGraphEmbed(A[, …])

Embed a bipartite graph into an interferometer setup.

GraphEmbed(A[, mean_photon_per_mode, …])

Embed a graph into an interferometer setup.

GaussianTransform(S[, vacuum, tol])

Apply a Gaussian symplectic transformation to the specified qumodes.

Gaussian(V[, r, decomp, tol])

Prepare the specified modes in a Gaussian state.

All(op)

Metaoperation for applying a single-mode operation to every mode in the register.

Variables

Del

Deletes one or more existing modes.

Vac

Prepare a mode in the vacuum state.

MeasureX

Performs a homodyne measurement, measures one quadrature of a mode.

MeasureP

Performs a homodyne measurement, measures one quadrature of a mode.

MeasureHD

Performs a heterodyne measurement on a mode.

Fourier

Fourier gate.

Class Inheritance Diagram

digraph inheritance0561439b8c { rankdir=LR; size="8.0, 12.0"; "All" [URL="api/strawberryfields.ops.All.html#strawberryfields.ops.All",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Metaoperation for applying a single-mode operation to every mode in the register."]; "MetaOperation" -> "All" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BSgate" [URL="api/strawberryfields.ops.BSgate.html#strawberryfields.ops.BSgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="BSgate(theta=pi/4, phi=0.)"]; "Gate" -> "BSgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BipartiteGraphEmbed" [URL="api/strawberryfields.ops.BipartiteGraphEmbed.html#strawberryfields.ops.BipartiteGraphEmbed",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Embed a bipartite graph into an interferometer setup."]; "Decomposition" -> "BipartiteGraphEmbed" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Bosonic" [URL="api/strawberryfields.ops.Bosonic.html#strawberryfields.ops.Bosonic",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode as a linear combination of Gaussian functions in phase space."]; "Preparation" -> "Bosonic" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CKgate" [URL="api/strawberryfields.ops.CKgate.html#strawberryfields.ops.CKgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Cross-Kerr gate."]; "Gate" -> "CKgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CXgate" [URL="api/strawberryfields.ops.CXgate.html#strawberryfields.ops.CXgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Controlled addition or sum gate in the position basis."]; "Gate" -> "CXgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CZgate" [URL="api/strawberryfields.ops.CZgate.html#strawberryfields.ops.CZgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Controlled phase gate in the position basis."]; "Gate" -> "CZgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Catstate" [URL="api/strawberryfields.ops.Catstate.html#strawberryfields.ops.Catstate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in a cat state."]; "Preparation" -> "Catstate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Channel" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for quantum channels."]; "Transformation" -> "Channel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Coherent" [URL="api/strawberryfields.ops.Coherent.html#strawberryfields.ops.Coherent",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in a coherent state."]; "Preparation" -> "Coherent" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Decomposition" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for multimode matrix transformations."]; "Operation" -> "Decomposition" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DensityMatrix" [URL="api/strawberryfields.ops.DensityMatrix.html#strawberryfields.ops.DensityMatrix",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare mode(s) using the given density matrix in the Fock basis."]; "Preparation" -> "DensityMatrix" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Dgate" [URL="api/strawberryfields.ops.Dgate.html#strawberryfields.ops.Dgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Phase space displacement gate."]; "Gate" -> "Dgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DisplacedSqueezed" [URL="api/strawberryfields.ops.DisplacedSqueezed.html#strawberryfields.ops.DisplacedSqueezed",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in a displaced squeezed state."]; "Preparation" -> "DisplacedSqueezed" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Fock" [URL="api/strawberryfields.ops.Fock.html#strawberryfields.ops.Fock",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in a Fock basis state."]; "Preparation" -> "Fock" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Fouriergate" [URL="api/strawberryfields.ops.Fouriergate.html#strawberryfields.ops.Fouriergate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Fourier gate."]; "Gate" -> "Fouriergate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GKP" [URL="api/strawberryfields.ops.GKP.html#strawberryfields.ops.GKP",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in a finite energy Gottesman-Kitaev-Preskill (GKP) state."]; "Preparation" -> "GKP" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Gate" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for unitary quantum gates."]; "Transformation" -> "Gate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Gaussian" [URL="api/strawberryfields.ops.Gaussian.html#strawberryfields.ops.Gaussian",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare the specified modes in a Gaussian state."]; "Preparation" -> "Gaussian" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Decomposition" -> "Gaussian" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GaussianTransform" [URL="api/strawberryfields.ops.GaussianTransform.html#strawberryfields.ops.GaussianTransform",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Apply a Gaussian symplectic transformation to the specified qumodes."]; "Decomposition" -> "GaussianTransform" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GraphEmbed" [URL="api/strawberryfields.ops.GraphEmbed.html#strawberryfields.ops.GraphEmbed",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Embed a graph into an interferometer setup."]; "Decomposition" -> "GraphEmbed" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Interferometer" [URL="api/strawberryfields.ops.Interferometer.html#strawberryfields.ops.Interferometer",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Apply a linear interferometer to the specified qumodes."]; "Decomposition" -> "Interferometer" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Ket" [URL="api/strawberryfields.ops.Ket.html#strawberryfields.ops.Ket",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare mode(s) using the given ket vector(s) in the Fock basis."]; "Preparation" -> "Ket" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Kgate" [URL="api/strawberryfields.ops.Kgate.html#strawberryfields.ops.Kgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Kerr gate."]; "Gate" -> "Kgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "LossChannel" [URL="api/strawberryfields.ops.LossChannel.html#strawberryfields.ops.LossChannel",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Perform a loss channel operation on the specified mode."]; "Channel" -> "LossChannel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MSgate" [URL="api/strawberryfields.ops.MSgate.html#strawberryfields.ops.MSgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Phase space measurement-based squeezing gate."]; "Channel" -> "MSgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MZgate" [URL="api/strawberryfields.ops.MZgate.html#strawberryfields.ops.MZgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Mach-Zehnder interferometer."]; "Gate" -> "MZgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MeasureFock" [URL="api/strawberryfields.ops.MeasureFock.html#strawberryfields.ops.MeasureFock",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Photon counting measurement: measures a set of modes in the Fock basis."]; "Measurement" -> "MeasureFock" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MeasureHeterodyne" [URL="api/strawberryfields.ops.MeasureHeterodyne.html#strawberryfields.ops.MeasureHeterodyne",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Performs a heterodyne measurement on a mode."]; "Measurement" -> "MeasureHeterodyne" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MeasureHomodyne" [URL="api/strawberryfields.ops.MeasureHomodyne.html#strawberryfields.ops.MeasureHomodyne",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Performs a homodyne measurement, measures one quadrature of a mode."]; "Measurement" -> "MeasureHomodyne" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MeasureThreshold" [URL="api/strawberryfields.ops.MeasureThreshold.html#strawberryfields.ops.MeasureThreshold",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Measures a set of modes with thresholded Fock-state measurements, i.e.,"]; "Measurement" -> "MeasureThreshold" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Measurement" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for subsystem measurements."]; "Operation" -> "Measurement" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MetaOperation" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for metaoperations."]; "Operation" -> "MetaOperation" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Operation" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for quantum operations acting on one or more subsystems."]; "PassiveChannel" [URL="api/strawberryfields.ops.PassiveChannel.html#strawberryfields.ops.PassiveChannel",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Perform an arbitrary multimode passive operation"]; "Channel" -> "PassiveChannel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Pgate" [URL="api/strawberryfields.ops.Pgate.html#strawberryfields.ops.Pgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Quadratic phase gate."]; "Gate" -> "Pgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Preparation" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for operations that demolish"]; "Operation" -> "Preparation" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Rgate" [URL="api/strawberryfields.ops.Rgate.html#strawberryfields.ops.Rgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Rotation gate."]; "Gate" -> "Rgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "S2gate" [URL="api/strawberryfields.ops.S2gate.html#strawberryfields.ops.S2gate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Two-mode squeezing gate."]; "Gate" -> "S2gate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Sgate" [URL="api/strawberryfields.ops.Sgate.html#strawberryfields.ops.Sgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Phase space squeezing gate."]; "Gate" -> "Sgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Squeezed" [URL="api/strawberryfields.ops.Squeezed.html#strawberryfields.ops.Squeezed",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in a squeezed vacuum state."]; "Preparation" -> "Squeezed" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Thermal" [URL="api/strawberryfields.ops.Thermal.html#strawberryfields.ops.Thermal",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in a thermal state."]; "Preparation" -> "Thermal" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ThermalLossChannel" [URL="api/strawberryfields.ops.ThermalLossChannel.html#strawberryfields.ops.ThermalLossChannel",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Perform a thermal loss channel operation on the specified mode."]; "Channel" -> "ThermalLossChannel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Transformation" [color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,tooltip="Abstract base class for transformations."]; "Operation" -> "Transformation" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Vacuum" [URL="api/strawberryfields.ops.Vacuum.html#strawberryfields.ops.Vacuum",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Prepare a mode in the vacuum state."]; "Preparation" -> "Vacuum" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Vgate" [URL="api/strawberryfields.ops.Vgate.html#strawberryfields.ops.Vgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Cubic phase gate."]; "Gate" -> "Vgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Xgate" [URL="api/strawberryfields.ops.Xgate.html#strawberryfields.ops.Xgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Position displacement gate."]; "Gate" -> "Xgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Zgate" [URL="api/strawberryfields.ops.Zgate.html#strawberryfields.ops.Zgate",color=lightskyblue1,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style=filled,target="_top",tooltip="Momentum displacement gate."]; "Gate" -> "Zgate" [arrowsize=0.5,style="setlinewidth(0.5)"]; }