code: def test_field_isomorphism_pslq():
      a = AlgebraicNumber(I)
      b = AlgebraicNumber(I * sqrt(3))
  
      raises(NotImplementedError, lambda: field_isomorphism_pslq(a, b))
  
      a = AlgebraicNumber(sqrt(2))
      b = AlgebraicNumber(sqrt(3))
      c = AlgebraicNumber(sqrt(7))
      d = AlgebraicNumber(sqrt(2) + sqrt(3))
      e = AlgebraicNumber(sqrt(2) + sqrt(3) + sqrt(7))
  
      assert field_isomorphism_pslq(a, a) == [1, 0]
      assert field_isomorphism_pslq(a, b) is None
      assert field_isomorphism_pslq(a, c) is None
      assert field_isomorphism_pslq(a, d) == [Q(1, 2), 0, -Q(9, 2), 0]
      assert field_isomorphism_pslq(a, e) == [
          Q(1, 80),
          0,
          -Q(1, 2),
          0,
          Q(59, 20),
          0,
      ]
  
      assert field_isomorphism_pslq(b, a) is None
      assert field_isomorphism_pslq(b, b) == [1, 0]
      assert field_isomorphism_pslq(b, c) is None
      assert field_isomorphism_pslq(b, d) == [-Q(1, 2), 0, Q(11, 2), 0]
      assert field_isomorphism_pslq(b, e) == [
          -Q(3, 640),
          0,
          Q(67, 320),
          0,
          -Q(297, 160),
          0,
          Q(313, 80),
          0,
      ]
  
      assert field_isomorphism_pslq(c, a) is None
      assert field_isomorphism_pslq(c, b) is None
      assert field_isomorphism_pslq(c, c) == [1, 0]
      assert field_isomorphism_pslq(c, d) is None
      assert field_isomorphism_pslq(c, e) == [
          Q(3, 640),
          0,
          -Q(71, 320),
          0,
          Q(377, 160),
          0,
          -Q(469, 80),
          0,
      ]
  
      assert field_isomorphism_pslq(d, a) is None
      assert field_isomorphism_pslq(d, b) is None
      assert field_isomorphism_pslq(d, c) is None
      assert field_isomorphism_pslq(d, d) == [1, 0]
      assert field_isomorphism_pslq(d, e) == [
          -Q(3, 640),
          0,
          Q(71, 320),
          0,
          -Q(377, 160),
          0,
          Q(549, 80),
          0,
      ]
  
      assert field_isomorphism_pslq(e, a) is None
      assert field_isomorphism_pslq(e, b) is None
      assert field_isomorphism_pslq(e, c) is None
      assert field_isomorphism_pslq(e, d) is None
      assert field_isomorphism_pslq(e, e) == [1, 0]
  
      f = AlgebraicNumber(3 * sqrt(2) + 8 * sqrt(7) - 5)
  
      assert field_isomorphism_pslq(f, e) == [
          Q(3, 80),
          0,
          -Q(139, 80),
          0,
          Q(347, 20),
          0,
          -Q(761, 20),
          -5,
      ]
  
file_path: sympy/sympy/polys/numberfields/tests/test_subfield.py
imports: from sympy.core.numbers import AlgebraicNumber, I, pi, Rational
  from sympy.core.singleton import S
  from sympy.functions.elementary.exponential import exp
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.external.gmpy import MPQ
  from sympy.polys.numberfields.subfield import is_isomorphism_possible, field_isomorphism_pslq, field_isomorphism, primitive_element, to_number_field
  from sympy.polys.polyerrors import IsomorphismFailed
  from sympy.polys.polytools import Poly
  from sympy.polys.rootoftools import CRootOf
  from sympy.testing.pytest import raises
  from sympy.abc import x
label_desc: Use image node_id 1 for calling a global function with example usage: test_field_isomorphism_pslq() without return types