@staticmethod
def _heisenberg_rep(p):
    "Heisenberg picture representation of the operation.\n\n        * For Gaussian CV gates, this method returns the matrix of the linear\n          transformation carried out by the gate for the given parameter values.\n          The method is not defined for non-Gaussian gates.\n\n          **The existence of this method is equivalent to setting** ``grad_method = 'A'``.\n\n        * For observables, returns a real vector (first-order observables) or\n          symmetric matrix (second-order observables) of expansion coefficients\n          of the observable.\n\n        For single-mode Operations we use the basis :math:`\\mathbf{r} = (\\I, \\x, \\p)`.\n        For multi-mode Operations we use the basis :math:`\\mathbf{r} = (\\I, \\x_0, \\p_0, \\x_1, \\p_1, \\ldots)`.\n\n        .. note::\n\n            For gates, we assume that the inverse transformation is obtained\n            by negating the first parameter.\n\n        Args:\n            p (Sequence[float]): parameter values for the transformation\n\n        Returns:\n            array[float]: :math:`\\tilde{U}` or :math:`q`\n        "
    return None
Heisenberg picture representation of the operation.

* For Gaussian CV gates, this method returns the matrix of the linear
  transformation carried out by the gate for the given parameter values.
  The method is not defined for non-Gaussian gates.

  **The existence of this method is equivalent to setting** ``grad_method = 'A'``.

* For observables, returns a real vector (first-order observables) or
  symmetric matrix (second-order observables) of expansion coefficients
  of the observable.

For single-mode Operations we use the basis :math:`\mathbf{r} = (\I, \x, \p)`.
For multi-mode Operations we use the basis :math:`\mathbf{r} = (\I, \x_0, \p_0, \x_1, \p_1, \ldots)`.

.. note::

    For gates, we assume that the inverse transformation is obtained
    by negating the first parameter.

Args:
    p (Sequence[float]): parameter values for the transformation

Returns:
    array[float]: :math:`\tilde{U}` or :math:`q`
@staticmethod
def _heisenberg_rep(p):
    "Heisenberg picture representation of the operation.\n\n        * For Gaussian CV gates, this method returns the matrix of the linear\n          transformation carried out by the gate for the given parameter values.\n          The method is not defined for non-Gaussian gates.\n\n          **The existence of this method is equivalent to setting** ``grad_method = 'A'``.\n\n        * For observables, returns a real vector (first-order observables) or\n          symmetric matrix (second-order observables) of expansion coefficients\n          of the observable.\n\n        For single-mode Operations we use the basis :math:`\\mathbf{r} = (\\I, \\x, \\p)`.\n        For multi-mode Operations we use the basis :math:`\\mathbf{r} = (\\I, \\x_0, \\p_0, \\x_1, \\p_1, \\ldots)`.\n\n        .. note::\n\n            For gates, we assume that the inverse transformation is obtained\n            by negating the first parameter.\n\n        Args:\n            p (Sequence[float]): parameter values for the transformation\n\n        Returns:\n            array[float]: :math:`\\tilde{U}` or :math:`q`\n        "
    return None