code: def IsingXY(phi):
      r"""Ising XY coupling gate.
  
      .. math:: \mathtt{XY}(\phi) = \begin{bmatrix}
              1 & 0 & 0 & 0 \\
              0 & \cos(\phi / 2) & i \sin(\phi / 2) & 0 \\
              0 & i \sin(\phi / 2) & \cos(\phi / 2) & 0 \\
              0 & 0 & 0 & 1
          \end{bmatrix}.
  
      Args:
          phi (float): rotation angle :math:`\phi`
      Returns:
          array[complex]: unitary 4x4 rotation matrix
      """
      mat = II.copy()
      mat[1][1] = math.cos(phi / 2)
      mat[2][2] = math.cos(phi / 2)
      mat[1][2] = 1j * math.sin(phi / 2)
      mat[2][1] = 1j * math.sin(phi / 2)
      return mat
  
imports: import pennylane
  from pennylane import numpy
  from pennylane import math
label_desc: Use image node_id 17 for calling a global function with example usage: IsingXY(phi) and returns: mat