MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: which algorithms are used within Solve[]?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg105700] Re: [mg105669] which algorithms are used within Solve[]?
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Wed, 16 Dec 2009 06:16:43 -0500 (EST)
  • References: <200912151224.HAA15012@smc.vnet.net>

Sagrailo wrote:
> Any insight on the exact procedure used by Solve[] for polynomial
> equations (and systems of equations)?  Obviously, for several smaller
> order polynomials, there exist explicit formulas, and then I remember
> from my precalculus course of some methods of finding the range for
> roots, then finding number of positive and negative roots, and then
> finding possible rational root values for polynomials with integer
> coefficients.  I guess there exist number of other specialized methods
> that Mathematica is trying, any hints on these?

The present version uses some flavor of Groebner bases to put the 
polynomial system into a "triangulated' form, similar to what happens in 
Gaussian elimination when all equations are linear. It then goes through 
a back substitution process. That is, it will have a univariate, solve 
for that, plug the roots into the next equation,...

You can get further information from the documentation. See, for 
example, tutorial/ComplexPolynomialSystems in the Documentation Center.

The notebook at the URL below will say a bit about what will be used in 
Solve in a future release of Mathematica.

http://library.wolfram.com/infocenter/Conferences/7552/

Daniel Lichtblau
Wolfram Research


  • Prev by Date: Re: Infinite series
  • Next by Date: Re: Need to speed up a matrix calculation
  • Previous by thread: which algorithms are used within Solve[]?
  • Next by thread: Re: which algorithms are used within Solve[]?