class_docstr: Test that all operations in the ``supports_broadcasting`` attribute
  actually support broadcasting.
docstr: Test that the PCPhase matrix works with broadcasted parameters
docstr_tok: ["Test","that","the","PCPhase","matrix","works","with","broadcasted","parameters"]
code: def test_pcphase(self):
      """Test that the PCPhase matrix works with broadcasted parameters"""
      dim = 2
      size = 4
      broadcasted_phi = [1.23, 4.56, -0.7]
  
      op = qml.PCPhase(broadcasted_phi, dim=dim, wires=[0, 1])
  
      mat1 = qml.matrix(op)
      mat2 = op.compute_matrix(*op.parameters, **op.hyperparameters)
  
      mats = [
          np.diag(
              [
                  np.exp(1j * phi) if i < dim else np.exp(-1j * phi)
                  for i in range(size)
              ]
          )
          for phi in broadcasted_phi
      ]
      expected_mat = np.array(mats)
      assert np.allclose(mat1, expected_mat)
      assert np.allclose(mat2, expected_mat)
  
imports: import itertools
  import pytest
  import numpy
  from scipy.stats import unitary_group
  import pennylane
  from pennylane.ops.qubit.attributes import Attribute, has_unitary_generator
  from pennylane.operation import AnyWires
label_desc: Use image node_id 18 for calling the TestSupportsBroadcasting obj's underlying member method code with example usage: obj.test_pcphase() without return types