dq.wigner
wigner(
state: ArrayLike,
xmax: float = 6.0,
ymax: float = 6.0,
npixels: int = 201,
xvec: ArrayLike | None = None,
yvec: ArrayLike | None = None,
g: float = 2.0,
) -> tuple[Array, Array, Array]
Compute the Wigner distribution of a ket or density matrix.
The Wigner distribution is computed on a grid of coordinates \((x, y)\).
Parameters
-
state
(array_like of shape (..., n, 1) or (..., n, n))
–
Ket or density matrix.
-
xmax
–
Maximum absolute value of the \(x\) coordinate.
-
ymax
–
Maximum absolute value of the \(y\) coordinate.
-
npixels
–
Number of pixels in each direction.
-
xvec
(array_like of shape (nxvec,), optional)
–
\(x\) coordinates. If
None
, defaults toxvec = jnp.linspace(-xmax, xmax, npixels)
. -
yvec
(array_like of shape (nyvec,), optional)
–
\(y\) coordinates. If
None
, defaults toyvec = jnp.linspace(-ymax, ymax, npixels)
. -
g
–
Scaling factor of Wigner quadratures, such that \(a = g(x + iy)/2\).
Returns
A tuple (xvec, yvec, w)
where
- xvec (array of shape (npixels,) or (nxvec,)) -- \(x\) coordinates, or
xvec
if specified. - yvec (array of shape (npixels,) or (nyvec,)) -- \(y\) coordinates, or
yvec
if specified. - w (array of shape (..., npixels, npixels) or (..., nyvec, nxvec)) -- Wigner distribution.