class_docstr: Test tensor expectation values
class_docstr_tok: ["Test","tensor","expectation","values"]
docstr: Test that a tensor product involving qml.Hermitian works correctly
code: def test_hermitian(self, device, tol, skip_if):
      """Test that a tensor product involving qml.Hermitian works correctly"""
      n_wires = 3
      dev = device(n_wires)
  
      if "Hermitian" not in dev.observables:
          pytest.skip(
              "Skipped because device does not support the Hermitian observable."
          )
  
      skip_if(dev, {"supports_tensor_observables": False})
  
      theta = 0.432
      phi = 0.123
      varphi = -0.543
      A_ = np.array(
          [
              [-6, 2 + 1j, -3, -5 + 2j],
              [2 - 1j, 0, 2 - 1j, -5 + 4j],
              [-3, 2 + 1j, 0, -4 + 3j],
              [-5 - 2j, -5 - 4j, -4 - 3j, -6],
          ]
      )
  
      @qml.qnode(dev)
      def circuit():
          qml.RX(theta, wires=[0])
          qml.RX(phi, wires=[1])
          qml.RX(varphi, wires=[2])
          qml.CNOT(wires=[0, 1])
          qml.CNOT(wires=[1, 2])
          return qml.expval(
              qml.PauliZ(wires=0) @ qml.Hermitian(A_, wires=[1, 2])
          )
  
      res = circuit()
  
      expected = 0.5 * (
          -6 * np.cos(theta) * (np.cos(varphi) + 1)
          - 2
          * np.sin(varphi)
          * (np.cos(theta) + np.sin(phi) - 2 * np.cos(phi))
          + 3 * np.cos(varphi) * np.sin(phi)
          + np.sin(phi)
      )
      assert np.allclose(res, expected, atol=tol(dev.shots))
  
imports: import pytest
  from flaky import flaky
  from scipy.sparse import csr_matrix
  import pennylane
  from pennylane import numpy
  from pennylane.measurements import ClassicalShadowMP, MeasurementTransform, SampleMeasurement, SampleMP, StateMeasurement, StateMP
label_desc: Use image node_id 5 for calling the TestTensorExpval obj's underlying member method code with example usage: obj.test_hermitian(device, tol, skip_if) and returns: qml