mv = mixedVolume(S)
(mv,sv) = mixedVolume(S,StableMixedVolume => true)
(mv,q,qsols) = mixedVolume(S,StartSystem => true)
(mv,sv,q,qsols) = mixedVolume(S,StableMixedVolume => true,StartSystem => true)
(mv,q,qsols) = mixedVolume(S,StartSystem => true,numThreads=4)
The mixed volume of a polynomial system $S:=\{f_1,\dots,f_n\}$ is defined as follows: Let $P_1,\dots,P_n$ be the Newton polytopes of $f_1,\dots,f_n$, i.e., $P_i$ is the convex hull of the exponents of the monomials in the support of $f_i$. The mixed volume of $S$ is $$ \sum_{1\leq h\leq n} \sum_{1\leq i_1\dots\leq i_h\leq n} (-1)^{n-h}V_n(P_{i_1}+\dots+P_{i_h}), $$ where $V_n$ denotes the $n$-dimensional Euclidean volume.
Bernstein's theorem (D. N. Bernstein,The number of roots of a system of equations, Functional. Anal. Appl 9 (1975), no. 3, 183-185), a generalization of the classical Bezout's theorem, shows that for a zero-dimensional system, the mixed volume provides an upper bound on the number of complex isolated roots. If the coefficients of the system are sufficiently generic, the mixed volume is a sharp bound.
|
|
|
|
|
|
|
|
|
|
Note that only those solutions with nonzero components are shown, even if StableMixedVolume is true. See the end of the temporary output file for the solutions with zero components.
The method mixedVolume calls an Ada translation of ACM TOMS Algorithm 846: MixedVol: a software package for mixed-volume computation by Tangan Gao, T. Y. Li, Mengnien Wu, ACM TOMS 31(4):555-560, 2005.
The object mixedVolume is a method function with options.