sf.ops.Fouriergate¶
-
class
Fouriergate
[source]¶ Bases:
strawberryfields.ops.Gate
Fourier gate.
Also accessible via the shortcut variable
Fourier
.A special case of the
phase space rotation gate
, where \(\theta=\pi/2\).\[F = R(\pi/2) = e^{i (\pi/2) a^\dagger a}\]Details and Conventions
Definition
A special case of the rotation operator is the case \(\phi=\pi/2\); this corresponds to the Fourier gate,
\[F = R(\pi/2) = e^{i (\pi/2) \ad \a}.\]The Fourier gate transforms the quadratures as follows:
\[\begin{split}& F^\dagger\x F = -\p,\\ & F^\dagger\p F = \x.\end{split}\]Attributes
Returns a copy of the gate with the self.dagger flag flipped.
Extra dependencies due to parameters that depend on measurements.
-
H
¶ Returns a copy of the gate with the self.dagger flag flipped.
H stands for hermitian conjugate.
- Returns
formal inverse of this gate
- Return type
Gate
-
measurement_deps
¶ Extra dependencies due to parameters that depend on measurements.
- Returns
dependencies
- Return type
set[RegRef]
-
ns
= 1¶
Methods
apply
(reg, backend, **kwargs)Ask a backend to execute the operation on the current register state right away.
decompose
(reg, **kwargs)Decompose the operation into elementary operations supported by the backend API.
merge
(other)Merge the operation with another (acting on the exact same set of subsystems).
-
apply
(reg, backend, **kwargs)¶ Ask a backend to execute the operation on the current register state right away.
Like
Operation.apply()
, but takes into account the special nature of p[0] and applies self.dagger.- Returns
Gates do not return anything, return value is None
- Return type
None
-
decompose
(reg, **kwargs)¶ Decompose the operation into elementary operations supported by the backend API.
Like
Operation.decompose()
, but applies self.dagger.
-
merge
(other)¶ Merge the operation with another (acting on the exact same set of subsystems).
Note
For subclass overrides: merge may return a newly created object, or self, or other, but it must never modify self or other because the same Operation objects may be also used elsewhere.
- Parameters
other (Operation) – operation to merge this one with
- Returns
other * self. The return value None represents the identity gate (doing nothing).
- Return type
Operation, None
- Raises
MergeFailure – if the two operations cannot be merged
-