## Macaulay Resultant Formulation

The Macaulay resultant formulation handles homogeneous polynomial systems of any size: f1(x1,x2,...,xn), f2(x1,x2,...,xn),...,fn-1(x1,x2,...,xn) (such that there are n variables and n expressions).
The Macaulay resultant is based upon Bajaj, Garrity & Warrens Technical report (Rice COMP TR88-83). Bajaj et al described Macaulay's construction in the following manner:
Steps 1-5 compute the numerator of the Macaulay resultant A
• Compute Macaulay monomial degree d = 1 + \Sum_i (d_i-1)
• Enumerate X^d, the set of all x^\alpha monomials of degree d.
• Partition these monomials into disjoint sets X^d_i which are defined as { X^\alpha | \alpha_i >= d_i and \alpha_j < d_j \forall j < i
• For each set X^d_i, construct a set of polynomials F_i using monomials in X^d_i according to: F_i = \frac{X^d_i}{{x_i}^{d_i}}f_i
• Compute the elements of the resultant numerator (i,j) by computing the monomial coefficients for F_i with respect to the monomial {X^d}_j (the j'th monomial in the x^\alpha monomials of degree d)
Steps 6-7 compute the denominator of the Macaulay resultant B
• Delete all columns from A which correspond to monomials x^\alpha where \alpha_i < d_i for all but one value of i
• Delete all rows of A which correspond to polynomials in F_i whose multipliers x^\alpha have \alpha_j < d_j for i < j <= n.