Polynomial System Solving Using Archimedean Tropical Variety Intersection Hailey Stirneman Summer 2015

advertisement
Polynomial System Solving Using Archimedean
Tropical Variety Intersection
Hailey Stirneman
Summer 2015
Abstract
Suppose you know the location of three beacons and you want to find the
position of an unknown point, P. Suppose further that you know the angle between the point, P, and each pair of beacons. Using the property of equiangular
circles and chords, we create three distinct semi-algebraic curves that each contain the point P. We then find bivariate quadratic polynomials that define the
curves and create four 2x2 systems of polynomial equations from two of the
semi-algebraic curves and approximate the solutions to the four systems using
tropical geometry. Specifically, we write a program that finds polynomials based on the beacon coordinates and angles. Then we write an additional program
that finds intersections between two Archimedean tropical varieties. Next, we
use binomial systems and Newton Iteration to find a set of solutions that we
compare to the third semi-algebraic curve to find our final solution, the point
P. The motivation for creating these programs is to write an algorithm that
will create an efficient method for solving more complex polynomials systems of
polynomials with higher degree. For example, generalizing this algorithm to 3D
in order to find one’s position in space.
1.
1.1.
Introduction
The Program
I had no previous experience with Algorithmic Algebraic Geometry before
this program. But over the course of the past eight weeks I feel like I have learned
a lot dealing with this branch of mathematics. For the first two weeks, my
research advisor, Dr. Rojas, provided instruction through daily lectures giving
us background knowledge on concepts of Algebraic Algorithmic Geometry. Soon
after I began to work on my research project with my partner, Yasmina.
Besides learning about Algebraic Algorithmic Geometry concepts, I have
learned a great deal of programming. With our research topic, programming in
Matlab was essential and done on a daily basis.
1
1.2.
Definitions
We define our functions to be of the form f (x) =
t
P
ci xai with ci 6= 0,
i=1
for all i. We then define the support of f to be Supp := {ai }i∈[t] and the lifted support of f to be Lif tSupp(f ) := {(ai , −log|ci |)}i∈[t] . Next, we let the
ordinary Newton polytope of f be N ewt(f ) := Conv(Supp(f )), and the Archimedean Newton polytope, denoted as ArchN ewt(f ) to be ArchN ewt(f ) :=
Conv({(ai , − log |ci |)}i∈[t] . We also define the Archimedean Tropical variety of
f , denoted as Archtrop(f ), as the set of all w ∈ Rn with (w, −1) an outer
normal of a positive-dimensional face of ArchN ewt(f ). Finally, we define the
±1
function Log|x| to be (log |x1 |, . . . , log |xn |) and, for any f ∈ C[x±1
1 , . . . , xn ],
∗ n
we define Amoeba(f ) to be {Log|x||f (x) = 0, x ∈ (C ) }.
1.3.
Theorem
For any n-variate t-nomial f and any ρ ∈ Amoeba(f ), there is always a σ ∈
ArchT rop(f ) with |ρ − σ| ≤ log(t − 1).
2.
2.1.
Background
Motivation
In our project, we wrote several programs that used Archimedean tropical
varieties in order to solve polynomial systems equations for location in 2D.
The motivation for creating these programs was to lay the groundwork for an
algorithm that would estimate the position of spacecraft in 3D by solving more
complex polynomials systems. This method of position estimation would be
useful for satellite position estimation for a number of reasons. For example, the
fact that since computers on spacecraft have to be made with circuits resistant
to radiation, their microprocessors are usually slower which would make a simple
positon-estimating algorithm more suitable than computational software.
2.2.
Radiation
There are many problems that can arise due to radiation. A single charged
particle can knock thousands of electrons loose, causing electronic noise and
signal spikes. This can make results inaccurate or unintelligible in the case of
digital circuits, which is a particularly serious problem when it comes to the
designs of satellites and spacecraft. In order to ensure the proper operations of
these systems, manufacturers of integrated circuits and sensors intended for the
aerospace market employ various methods of radiation hardening.
However, there are downsides to radiation hardened chips, they are expensive,
power-hungry, and slow. They are considered as much as ten times slower than
an equivalent CPU in a modern consumer desktop PC found at home. This is
why creating an efficient algorithm to estimate our position is useful. A more
2
efficient algorithm allows radiation hardened chips to run faster and therefore
reduces error in calculating position.
3.
3.1.
Progress
Algorithm
As a warm up for 3D, we start in 2D by looking at three beacon points,
which we call Ai for i = 1 − 3, and the point, p, that we want to solve for. We
then define known angles θj for j = 1 − 3 where θ1 = ∠A1 P A2 , θ2 = ∠A2 P A3 ,
and θ3 = ∠A1 P A3 .
Figura 1: Beacons A1 , A2 , and A3 and unknown point P .
Using the loci of equiangular points we create semi-algebraic curves that
contain the point P from each pair of beacons and their corresponding angle θj .
Figura 2: Semi-algebraic curve created from A1 , A2 , and P with additional loci
points Q1 , Q2 , and Q3 .
3
Figura 3: Three semi-algebraic curves formed from beacon pairs and their respective θj . The intersection of the three curves is the point P .
This gives us a total of three semi-algebraic curves that each contain P , which
we can solve for by finding the intersection point of the three semi-algebraic
curves.
To solve for P we first need to find a system of bivariate quadratic equations
that define the semi-algebraic curves and then approximate the solution set of
the system using tropical geometry.
In order to accomplish our first goal and find the system of bivariate quadratic equations, we will use a program we wrote in MatLab to find sets of
polynomials that define each semi-algebraic curve. To find a set of polynomials
that defines a semi-algebraic curve, we first notice that due to the equi-angular
property of circles and chords, the curves are made from two incomplete circles.
This means that we will need to find polynomials that define the two circles of
the following form:
(x − a)2 + (y − b)2 = r2
where a, b, r ∈ R
Consequently, we will need to find the centers of each circle, the point (a,b),
and the radius r of both of these incomplete circles. Our MatLab program does
this by using the pair of beacons A and B, and thetaj that formed the curve
and then calculating the radius for the two incomplete circles using the following
general equation:
r = (|B − A|/2)/sin(θj )
Figura 4: Derivation of the radii of the incomplete circles in a semi-algebraic
curve.
4
We then set each beacon as the center point of a new circle with radius
r and solve for the two intersection points of the two beacon-centered circles.
The intersection points will then be the center points of the partial circles with
radius r that make up the semi-algebraic curve.
Figura 5: Circles centered around beacons A1 and A2 with radius r intersect at
C1 and C2 .
The program loops through this process for each pair of beacons and corresponding θj , so that we have a 6x3 array where each row gives the a, b, and r of
a distinct bivariate quadratic polynomial that defines a circle.
Next, our program uses these values to create a 6x6 array of the coefficients
that correspond to a 6x2 systems of bivariate quadratic polynomial of the follo6
P
wing form f (x) =
ci xai with ci 6= 0 for all i.
i=1
We then take the four polynomials that correspond to two of the three semialgebraic curves and create four 2x2 systems that find every possible intersection
between a circle from the first curve and a circle from the second curve. After
that, we use tropical geometry to approximate solutions to the systems which
we can do because of the relationship between the Amoeba of a polynomial
and the polynomial’s ArchTrop. The way we do this is by finding the ArchTrop
intersection of the polynomials in each 2x2 system.
Our next program we write draws ArchTrop in Matlab. Our program takes the convex hull of the lifted support of a polynomial f in order to create
ArchN ewt(f ). From the faces of ArchN ewt(f ) we are able to construct the set
of points W by taking the normal vectors of each face of ArchN ewt(f ) whose
third coordinate is −1. The first two coordinates of each of these vectors forms
the set of w ∈ Rn which our program plots as the vertices of ArchT rop(f ).
The vertices are then connected with line segments according to the adjacency
of which faces formed each vertex. Finally, rays are drawn from the vertices
of ArchT rop(f ) that are perpendicular to the edges of the triangulation of
N ewt(f ) which complete ArchT rop(f ).
5
Figura 6: ArchT rop(f ) where f (x, y) = −4 + 22x + 7y + 12xy − 3x2 + y 2 .
Next, we plot the two Archimedean tropical varieties in each system and
find their points of intersection using an additional program.
Figura 7: Intersection of ArchT rop(f ) in blue and ArchT rop(g) in red where
f (x, y) = −4+22x+7y+12xy−3x2 +y 2 and g(x, y) = 100+x+y+xy+100x2 +y 2 .
This program takes a line segment or ray of one of the Archimedean tropical
varieties and checks for an intersection with each line segment and ray in the
second ArchTrop. The process is then repeated for each line segment and ray
of the first ArchTrop until we have a set of intersection points between the two
ArchTrops.
These ArchTrop intersections give us possible solutions to the intersection
of the three semi-algebraic curves. We first use binomial systems made from the
6
line segments and rays that created the ArchTrop intersections. Next, we use
Newton Iteration to approximate solutions for the four 2x2 systems. In order
to check which solution is the intersection point of the curves, we see which
solution is on or close to the two circles in the final semi-algebraic curve. This
solution is our point P.
4.
4.1.
Conclusion
The Project
While there are certainly simpler ways to solve 2x2 polynomial systems,
our goal was to eventually be able to solve for position in 3D which would
require solving more complex systems for the intersection of three tori. We
were unable to reach this part of our project, however, we were able to set the
groundwork for solving more complex systems using ArchTrop intersections. In
addition to eventually solving systems in 3x3, this method could be applied to
approximate the solutions to systems of polynomials of much higher degrees
that would otherwise be extremely difficult to solve.
4.2.
The Program
I had a great experience at the REU program. This was my first time being
surrounded with like-minded people. I do not know many mathematics majors,
and it was very refreshing to be surrounded by people with the same passion
as me. This REU has introduced me to the world of research and a graduate
mathematics education. Before this program, I had not given much thought to
graduate school, but now I can certainly see that as a route I might possibly
go. I am very thankful for being given the opportunity to participate in this
program and to become close to other mathematicians, especially my partner
in this project, Yasmina.
5.
References
[1] Martı́ın Avendaño, Roman Kogan, Mounir Nisse, and J. Maurice Rojas.
Metric Estimates and Membership Complexity for Archimedean Amoebae and
Tropical Hypersurfaces.
[2] Eleanor Anthony, Sheridan Grant, Peter Gritzmann, and J. Maurice Rojas.
Polynomial-time Amoeba Neighborhood Membership and Faster Localized Solving.
7
Download