# High-Performance Numeric Solution of Polynomial Systems

Mathematica 10 includes a new homotopy-based numerical polynomial solver. This method is automatically selected when appropriate. The following charts compare the timing of this new algorithm with Mathematica 9's Gröbner-basis method and the faster of Maple 18's solve or Homotopy commands. All tests were performed on a 16-core, 2.40 GHz 64-bit Linux system with Hyper-Threading enabled and a time limit of 12 hours.

Comparison for a standard economics system in variables, total degree , and distinct solutions, given by the following formula.

 In[1]:= Xeco[k_] := Append[ Table[(Subscript[x, i] + Sum[Subscript[x, j] Subscript[x, j + 1], {j, i, k - 2}]) Subscript[x, k] - i == 0, {i, 1, k - 1}], Sum[Subscript[x, i], {i, 1, k - 1}] + 1 == 0]

For example, for the system takes the following form.

 In[2]:= XColumn[eco[8]] // TraditionalForm
 Out[2]//TraditionalForm=

Comparison for the standard Noonburg neural-network system, given by the following formula. For variables, this system has total degree and different solutions.

 In[3]:= Xnoon[k_] := Table[Subscript[x, i] (Sum[Subscript[x, j]^2, {j, 1, k}] - Subscript[x, i]^2 - 1.1) + 1 == 0, {i, 1, k}]

For example, in five variables the system takes the following form.

 In[4]:= XColumn[noon[5]] // TraditionalForm
 Out[4]//TraditionalForm=

Comparison for the standard Katsura- system of ferromagnetic lattice probabilities, which in variables has total degree and different solutions. The order- system takes the following form.

 In[5]:= Xkats[n_] := Append[Table[-Subscript[x, i] + \!\( \*UnderoverscriptBox[\(\[Sum]\), \(j = i + 1\), \(n - i + 2\)]\(2\ \*SubscriptBox[\(x\), \(j\)]\ \*SubscriptBox[\(x\), \(i + j - 1\)]\)\) + \!\( \*UnderoverscriptBox[\(\[Sum]\), \(j = 1\), \(i\)]\( \*SubscriptBox[\(x\), \(j\)]\ \*SubscriptBox[\(x\), \(i - j + 1\)]\)\) == 0, {i, n}], -1 + Subscript[x, 1] + \!\( \*UnderoverscriptBox[\(\[Sum]\), \(j = 2\), \(n + 1\)]\(2\ \*SubscriptBox[\(x\), \(j\)]\)\) == 0]

For example, for the system has six equations in six unknowns.

 In[6]:= XColumn[kats[5]] // TraditionalForm
 Out[6]//TraditionalForm=

## Mathematica

Questions? Comments? Contact a Wolfram expert »