Article 2PBGR Solving systems of polynomial equations

Solving systems of polynomial equations

by
John
from John D. Cook on (#2PBGR)

In a high school algebra class, you learn how to solve polynomial equations in one variable, and systems of linear equations. You might reasonably ask "So when do we combine these and learn to solve systems of polynomial equations?" The answer would be "Maybe years from now, but most likely never." There are systematic ways to solve systems of polynomial equations, but you're unlikely to ever see them unless you study algebraic geometry.

Here's an example from [1]. Suppose you want to find the extreme values of x^3 + 2xyz - x^2 on the unit sphere using Lagrange multipliers. This leads to the following system of polynomial equations where I is the Lagrange multiplier.

Lagrange_system.png

There's no obvious way to go about solving this system of equations. However, there is a systematic way to approach this problem using a "lexicographic Gribner basis." This transforms the problem from into something that looks much worse but that is actually easier to work with. And most importantly, the transformation is algorithmic. It requires some computation-there are numerous software packages for doing this-but doesn't require a flash of insight.

The transformed system looks intimidating compared to the original:

grobner.png

We've gone from four equations to eight, from small integer coefficients to large fraction coefficients, from squares to seventh powers. And yet we've made progress because the four variables are less entangled in the new system.

The last equation involves only z and factors nicely:

z_only2.png

This cracks the problem wide open. We can easily find all the possible values of z, and once we substitute values for z, the rest of the equations simplify greatly and can be solved easily.

The key is that Gribner bases transform our problem into a form that, although it appears more difficult, is easier to work with because the variables are somewhat separated. Solving one variable, z, is like pulling out a thread that then makes the rest of the threads easier to separate.

Related: The great reformulation of algebraic geometry

* * *

[1] David Cox et al. Applications of Computational Algebraic Geometry: American Mathematical Society Short Course January 6-7, 1997 San Diego, California (Proceedings of Symposia in Applied Mathematics)

M4Yn0owUUgg
External Content
Source RSS or Atom Feed
Feed Location http://feeds.feedburner.com/TheEndeavour?format=xml
Feed Title John D. Cook
Feed Link https://www.johndcook.com/blog
Reply 0 comments