class_docstr: A class for retrieving the Dixon's resultant of a multivariate
  system.
  
  Examples
  ========
  
  >>> from sympy import symbols
  
  >>> from sympy.polys.multivariate_resultants import DixonResultant
  >>> x, y = symbols('x, y')
  
  >>> p = x + y
  >>> q = x ** 2 + y ** 3
  >>> h = x ** 2 + y
  
  >>> dixon = DixonResultant(variables=[x, y], polynomials=[p, q, h])
  >>> poly = dixon.get_dixon_polynomial()
  >>> matrix = dixon.get_dixon_matrix(polynomial=poly)
  >>> matrix
  Matrix([
  [ 0,  0, -1,  0, -1],
  [ 0, -1,  0, -1,  0],
  [-1,  0,  1,  0,  0],
  [ 0, -1,  0,  0,  1],
  [-1,  0,  0,  1,  0]])
  >>> matrix.det()
  0
  
  See Also
  ========
  
  Notebook in examples: sympy/example/notebooks.
  
  References
  ==========
  
  .. [1] [Kapur1994]_
  .. [2] [Palancz08]_
class_docstr_tok: ["A","class","for","retrieving","the","Dixon","'s","resultant","of","a","multivariate","system",".","Examples","========",">",">",">","from","sympy","import","symbols",">",">",">","from","sympy.polys.multivariate_resultants","import","DixonResultant",">",">",">","x",",","y","=","symbols","(","'","x",",","y","'",")",">",">",">","p","=","x","+","y",">",">",">","q","=","x","*","*","2","+","y","*","*","3",">",">",">","h","=","x","*","*","2","+","y",">",">",">","dixon","=","DixonResultant","(","variables=","[","x",",","y","]",",","polynomials=","[","p",",","q",",","h","]",")",">",">",">","poly","=","dixon.get_dixon_polynomial","(",")",">",">",">","matrix","=","dixon.get_dixon_matrix","(","polynomial=poly",")",">",">",">","matrix","Matrix","(","[","[","0",",","0",",","-1",",","0",",","-1","]",",","[","0",",","-1",",","0",",","-1",",","0","]",",","[","-1",",","0",",","1",",","0",",","0","]",",","[","0",",","-1",",","0",",","0",",","1","]",",","[","-1",",","0",",","0",",","1",",","0","]","]",")",">",">",">","matrix.det","(",")","0","See","Also","========","Notebook","in","examples",":","sympy\/example\/notebooks",".","References","==========","..","[","1","]","[","Kapur1994","]","_","..","[","2","]","[","Palancz08","]","_"]
docstr: Returns
  =======
  
  dixon_polynomial: polynomial
      Dixon's polynomial is calculated as:
  
      delta = Delta(A) / ((x_1 - a_1) ... (x_n - a_n)) where,
  
      A =  |p_1(x_1,... x_n), ..., p_n(x_1,... x_n)|
           |p_1(a_1,... x_n), ..., p_n(a_1,... x_n)|
           |...             , ...,              ...|
           |p_1(a_1,... a_n), ..., p_n(a_1,... a_n)|
docstr_tok: ["Returns","=======","dixon_polynomial",":","polynomial","Dixon","'s","polynomial","is","calculated","as",":","delta","=","Delta","(","A",")","\/","(","(","x_1","-","a_1",")","...","(","x_n","-","a_n",")",")","where",",","A","=","|p_1","(","x_1",",","...","x_n",")",",","...",",","p_n","(","x_1",",","...","x_n",")","|","|p_1","(","a_1",",","...","x_n",")",",","...",",","p_n","(","a_1",",","...","x_n",")","|","|","...",",","...",",","...","|","|p_1","(","a_1",",","...","a_n",")",",","...",",","p_n","(","a_1",",","...","a_n",")","|"]
code: def get_dixon_polynomial(self):
      r"""
      Returns
      =======
  
      dixon_polynomial: polynomial
          Dixon's polynomial is calculated as:
  
          delta = Delta(A) / ((x_1 - a_1) ... (x_n - a_n)) where,
  
          A =  |p_1(x_1,... x_n), ..., p_n(x_1,... x_n)|
               |p_1(a_1,... x_n), ..., p_n(a_1,... x_n)|
               |...             , ...,              ...|
               |p_1(a_1,... a_n), ..., p_n(a_1,... a_n)|
      """
      if self.m != (self.n + 1):
          raise ValueError("Method invalid for given combination.")
  
      # First row
      rows = [self.polynomials]
  
      temp = list(self.variables)
  
      for idx in range(self.n):
          temp[idx] = self.dummy_variables[idx]
          substitution = dict(zip(self.variables, temp))
          rows.append([f.subs(substitution) for f in self.polynomials])
  
      A = Matrix(rows)
  
      terms = zip(self.variables, self.dummy_variables)
      product_of_differences = Mul(*[a - b for a, b in terms])
      dixon_polynomial = (A.det() / product_of_differences).factor()
  
      return poly_from_expr(dixon_polynomial, self.dummy_variables)[0]
  
imports: from math import prod
  from sympy.core.mul import Mul
  from sympy.matrices.dense import Matrix, diag
  from sympy.polys.polytools import Poly, degree_list, rem
  from sympy.simplify.simplify import simplify
  from sympy.tensor.indexed import IndexedBase
  from sympy.polys.monomials import itermonomials, monomial_deg
  from sympy.polys.orderings import monomial_key
  from sympy.polys.polytools import poly_from_expr, total_degree
  from sympy.functions.combinatorial.factorials import binomial
  from itertools import combinations_with_replacement
  from sympy.utilities.exceptions import sympy_deprecation_warning
label_desc: Use image node_id 3 for calling the DixonResultant obj's underlying member method code with example usage: obj.get_dixon_polynomial() and returns: poly_from_expr