sf.ops.MeasureX

MeasureX = <strawberryfields.ops.MeasureHomodyne object>

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

  • Position basis measurement: \(\phi = 0\) (also accessible via the shortcut variable MeasureX).

  • Momentum basis measurement: \(\phi = \pi/2\). (also accessible via the shortcut variable MeasureP)

The measured mode is reset to the vacuum state.

Parameters
  • phi (float) – measurement angle \(\phi\)

  • select (None, float) – (Optional) desired values of measurement result. Allows the post-selection of specific measurement results instead of randomly sampling.

Definition

Homodyne measurement is a Gaussian projective measurement given by projecting the state onto the states

\[\ket{x_\phi}\bra{x_\phi},\]

defined as eigenstates of the Hermitian operator

\[\hat{x}_\phi = \cos(\phi) \hat{x} + \sin(\phi)\hat{p}.\]

In the Gaussian backend, this is done by projecting onto finitely squeezed states approximating the \(x\) and \(p\) eigenstates. Due to the finite squeezing approximation, this results in a measurement variance of \(\sigma_H^2\), where \(\sigma_H=2\times 10^{-4}\).

In the Fock backends, this is done by using Hermite polynomials to calculate the \(\x_\phi\) probability distribution over a specific range and number of bins, before taking a random sample.