code: def test_conjugate_transpose():
      p = Product(x**k, (k, 1, 3))
      assert p.adjoint().doit() == p.doit().adjoint()
      assert p.conjugate().doit() == p.doit().conjugate()
      assert p.transpose().doit() == p.doit().transpose()
  
      A, B = symbols("A B", commutative=False)
      p = Product(A * B**k, (k, 1, 3))
      assert p.adjoint().doit() == p.doit().adjoint()
      assert p.conjugate().doit() == p.doit().conjugate()
      assert p.transpose().doit() == p.doit().transpose()
  
      p = Product(B**k * A, (k, 1, 3))
      assert p.adjoint().doit() == p.doit().adjoint()
      assert p.conjugate().doit() == p.doit().conjugate()
      assert p.transpose().doit() == p.doit().transpose()
  
imports: from sympy.concrete.products import Product, product
  from sympy.concrete.summations import Sum
  from sympy.core.function import Derivative, Function, diff
  from sympy.core.numbers import Rational, oo, pi
  from sympy.core.singleton import S
  from sympy.core.symbol import Dummy, Symbol, symbols
  from sympy.functions.combinatorial.factorials import rf, factorial
  from sympy.functions.elementary.exponential import exp, log
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.trigonometric import cos, sin
  from sympy.functions.special.tensor_functions import KroneckerDelta
  from sympy.simplify.combsimp import combsimp
  from sympy.simplify.simplify import simplify
  from sympy.testing.pytest import raises
label_desc: Use image node_id 11 for calling a global function with example usage: test_conjugate_transpose() without return types