sf.ops.MeasureHeterodyne¶

class
MeasureHeterodyne
(select=None)[source]¶ Bases:
strawberryfields.ops.Measurement
Performs a heterodyne measurement on a mode.
Also accessible via the shortcut variable
MeasureHD
.Samples the joint Husimi distribution \(Q(\vec{\alpha}) = \frac{1}{\pi}\bra{\vec{\alpha}}\rho\ket{\vec{\alpha}}\). The measured mode is reset to the vacuum state.
Warning
The heterodyne measurement can only be performed in the Gaussian backend.
 Parameters
select (None, complex) – (Optional) desired values of measurement result. Allows the postselection of specific measurement results instead of randomly sampling.
Details and conventions
Definition
Heterodyne measurement is a Gaussian projective measurement given by projecting the state onto the coherent states,
\[\frac{1}{\pi} \ket{\alpha}\bra{\alpha}\]Attributes
Extra dependencies due to parameters that depend on measurements.

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 also stores the measurement result in the RegRefs. Keyword Arguments
shots (int) – Number of independent evaluations to perform. Only applies to Measurements.

decompose
(reg, **kwargs)¶ Decompose the operation into elementary operations supported by the backend API.
See
strawberryfields.backends.base
.

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
Downloads