code: def solve_poly_system(seq, *gens, strict=False, **args):
      """
      Return a list of solutions for the system of polynomial equations
      or else None.
  
      Parameters
      ==========
  
      seq: a list/tuple/set
          Listing all the equations that are needed to be solved
      gens: generators
          generators of the equations in seq for which we want the
          solutions
      strict: a boolean (default is False)
          if strict is True, NotImplementedError will be raised if
          the solution is known to be incomplete (which can occur if
          not all solutions are expressible in radicals)
      args: Keyword arguments
          Special options for solving the equations.
  
  
      Returns
      =======
  
      List[Tuple]
          a list of tuples with elements being solutions for the
          symbols in the order they were passed as gens
      None
          None is returned when the computed basis contains only the ground.
  
      Examples
      ========
  
      >>> from sympy import solve_poly_system
      >>> from sympy.abc import x, y
  
      >>> solve_poly_system([x*y - 2*y, 2*y**2 - x**2], x, y)
      [(0, 0), (2, -sqrt(2)), (2, sqrt(2))]
  
      >>> solve_poly_system([x**5 - x + y**3, y**2 - 1], x, y, strict=True)
      Traceback (most recent call last):
      ...
      UnsolvableFactorError
  
      """
      try:
          polys, opt = parallel_poly_from_expr(seq, *gens, **args)
      except PolificationFailed as exc:
          raise ComputationFailed("solve_poly_system", len(seq), exc)
  
      if len(polys) == len(opt.gens) == 2:
          f, g = polys
  
          if all(i <= 2 for i in f.degree_list() + g.degree_list()):
              try:
                  return solve_biquadratic(f, g, opt)
              except SolveFailed:
                  pass
  
      return solve_generic(polys, opt, strict=strict)
  
file_path: sympy/sympy/solvers/polysys.py
imports: import itertools
  from sympy.core import S
  from sympy.core.sorting import default_sort_key
  from sympy.polys import Poly, groebner, roots
  from sympy.polys.polytools import parallel_poly_from_expr
  from sympy.polys.polyerrors import ComputationFailed, PolificationFailed, CoercionFailed
  from sympy.simplify import rcollect
  from sympy.utilities import postfixes
  from sympy.utilities.misc import filldedent
label_desc: Use image node_id 1 for calling a global function with example usage: solve_poly_system(seq) and returns: solve_generic, solve_biquadratic