code: def test_dft():
      n, i, j = symbols("n i j")
      assert DFT(4).shape == (4, 4)
      assert ask(Q.unitary(DFT(4)))
      assert Abs(simplify(det(Matrix(DFT(4))))) == 1
      assert DFT(n) * IDFT(n) == Identity(n)
      assert DFT(n)[i, j] == exp(-2 * S.Pi * I / n) ** (i * j) / sqrt(n)
  
file_path: sympy/sympy/matrices/expressions/tests/test_fourier.py
imports: from sympy.assumptions.ask import Q, ask
  from sympy.core.numbers import I, Rational
  from sympy.core.singleton import S
  from sympy.functions.elementary.complexes import Abs
  from sympy.functions.elementary.exponential import exp
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.simplify.simplify import simplify
  from sympy.core.symbol import symbols
  from sympy.matrices.expressions.fourier import DFT, IDFT
  from sympy.matrices import det, Matrix, Identity
  from sympy.testing.pytest import raises
label_desc: Use image node_id 2 for calling a global function with example usage: test_dft() without return types