You are on page 1of 17

J Geod (2010) 84:7995

DOI 10.1007/s00190-009-0346-x

ORIGINAL ARTICLE

Linear homotopy solution of nonlinear systems of equations


in geodesy
Bla Palncz Joseph L. Awange Piroska Zaletnyik
Robert H. Lewis

Received: 19 February 2009 / Accepted: 16 August 2009 / Published online: 24 September 2009
Springer-Verlag 2009

Abstract A fundamental task in geodesy is solving systems by at least two orders of magnitude. Using Mathematica, the
of equations. Many geodetic problems are represented as sys- power of Homotopy is demonstrated in solving three nonlin-
tems of multivariate polynomials. A common problem in ear geodetic problems: resection, GPS positioning, and affine
solving such systems is improper initial starting values for transformation. The method enlarging the domain of conver-
iterative methods, leading to convergence to solutions with gence is found to be efficient, less sensitive to rounding of
no physical meaning, or to convergence that requires global numbers, and has lower complexity compared to other local
methods. Though symbolic methods such as Groebner bases methods like NewtonRaphson.
or resultants have been shown to be very efficient, i.e., provid-
ing solutions for determined systems such as 3-point prob- Keywords Homotopy Nonlinear systems of equations
lem of 3D affine transformation, the symbolic algebra can be GPS positioning Resection Affine transformation
very time consuming, even with special Computer Algebra
Systems (CAS). This study proposes the Linear Homotopy
method that can be implemented easily in high-level com- 1 Introduction
puter languages like C++ and Fortran that are faster than CAS
Solving nonlinear systems, especially algebraic polynomial
B. Palncz (B) systems, is a fundamental problem which occurs frequently
Department of Photogrammetry and Geoinformatics,
in various models of science and engineering like robotics,
Budapest University of Technology and Economics,
Pf. 91, 1521 Budapest, Hungary computational chemistry, computer vision, computational
e-mail: palancz@epito.bme.hu geometry, and signal processing. Using numerical algorithms
to solve polynomial systems with tools originating from alge-
J. L. Awange
braic geometry is the main activity in the so-called Numer-
Western Australian Centre for Geodesy,
Department of Spatial Sciences, ical Algebraic Geometry (see Sommese et al. (2003) and
Division of Science and Engineering, Sommese and Wampler (2005)). This is a new developing
Curtin University of Technology, field on the crossroads of algebraic geometry, numerical anal-
GPO Box U1987, Perth, WA 6845, Australia
e-mail: J.awange@curtin.edu.au
ysis, computer science, and engineering.
The homotopy continuation method is a global numeri-
P. Zaletnyik cal method to solve nonlinear systems in general, and also
Department of Geodesy and Surveying, polynomial systems (see Gritton et al. (2001)). This method
Budapest University of Technology and Economics, and Research
Group of Physical Geodesy and Geodynamics of the Hungarian
is used to locate all geometrically isolated roots as well as
Academy of Sciences, Pf. 91, 1521 Budapest, Hungary decompose positive dimensional solution sets into irreduc-
e-mail: zaletnyikp@gmail.com ible components, (Verschelde 2007). Homotopy continua-
tion has been established as a reliable and efficient method
R. H. Lewis
Department of Mathematics, Fordham University,
to solve polynomial systems over the past two decades,
Bronx, NY 10458, USA originating from the works of Drexler (1977) and Garcia
e-mail: rlewis@fordham.edu and Zangwill (1979). Some computer codes have been

123
80 B. Palncz et al.

developed for homotopy methods, for example Bertini


(Bates et al. 2008), HOM4PS (Lee et al. 2008), HOMPACK
(Watson et al. 1997), PHCpack (Verschelde 1999), and PHoM
(Gunji et al. 2004). Other codes are written in Maple (see,
e.g., Leykin and Verschelde 2004) and Matlab (Decarolis
et al. 2002). Recently, codes for fixed point and Newton
homotopy were developed in Mathematica, too, see Binous
(2007a,b).
In geodesy, several algebraic procedures have been put
forward for solving nonlinear systems of equations (see, e.g.,
Awange and Grafarend 2005; Palncz et al. 2008a). The pro-
cedures suggested in these studies, such as Groebner bases
and resultant approaches, are, however, normally restricted Fig. 1 The homotopy H for the polynomials p1 and q1
by the size of the nonlinear systems of equations involved.
In most cases the symbolic computations are time consum-
one in least squares sense. This technique is demonstrated in
ing. These symbolic computations were necessitated by the
the last two geodetic problems (see Examples 3 and 4).
failure to obtain suitable starting values for numerical itera-
tive procedures. In situations where large systems of equa-
tions are to be solved (e.g., affine transformation), and where
2 Definition and basics concepts
symbolic methods are insufficient, there exists the need to
investigate the suitability of other alternatives. One such alter-
The continuous deformation of an object to another object is
native is the linear homotopy.
known as homotopy. Let us consider two univariate polyno-
In this study linear homotopy continuation methods are
mials p1 and q1 of the same degree,
introduced (see Kotsireas 2001). The definitions and basic
ideas are considered and illustrated. The general algorithms p1 (x) = x 2 3 (1)
of linear homotopy method are considered: iterated solution q1 (x) = x 2 x + 1. (2)
of homotopy equations via NewtonRaphson method; and as
an initial value problem of a system of ordinary differential Define the linear convex function, H in variables x and ,
equations. The efficiency of these methods are illustrated here called homotopy function as,
by solving polynomial equation systems in geodesy, namely H (x, ) = (1 ) p1 (x) + q1 (x), (3)
solution of 3D resection, GPS navigation, and 3D affine trans-
formation problems. Our computations were carried out with where [0, 1].
Mathematica and Fermat computer algebra systems on HP In geometric terms, the homotopy H provides us with
workstation xw 4100 with XP operation system, 3 GHz P4 a continuous deformation from p1 , which is obtained for
Intel processor and 1 GB RAM. The details can be found = 0 by H (x, 0), to q1 , which is obtained for = 1 by
in MathSource (Wolfram Research Inc.) in Palncz (2008). H (x, 1). The homotopy function for different values, =
Although the mathematical background of the algorithms is 0, 0.1, . . . , 1 can be seen on Fig. 1. It is called linear homot-
discussed in this paper, it can be also found in the literature, opy because H is a linear function of the variable .1
e.g., Sommese et al. (2003). The application of the imple- The polynomial p1 is called start system and the polyno-
mented Mathematica functions is illustrated in the Appendix. mial q1 is called target system.
The study is organized as follows: In Sect. 2, we pres-
ent the definition and basic concepts of homotopy required
to understand the solution of nonlinear equations presented 3 Solving nonlinear equation via homotopy
in Sect. 3. For simplicity purposes, a quadratic and a third-
degree polynomial equation are used to illustrate the The homotopy continuation method deforms continuously
approach. Once the example has been made clear, Sect. 4 the known roots of the start system into the roots of the tar-
demonstrates how the technique is applied to solve three get system. Now, let us look at how homotopy can be used
nonlinear geodetic problems. The results are concluded in to solve a simple polynomial equation.
Sect. 5 and a Mathematica application is illustrated in the
1 Remark: In some cases when the starting values are not complex, it is
Appendix.
reasonable to use the gamma trick (see Sommese et al. 2003), intro-
Although the suggested technique basically can be
ducing a random complex constant gamma in the homotopy function:
applied to square systems, overdetermined problems also can H (x, ) = (1 ) p(x) + q(x), because some singular solutions
be solved after transforming N-point problem into a square may lead to problems for Newtons method.

123
Linear homotopy solution of nonlinear systems of equations in geodesy 81

Table 1 The roots of the deform-


ing polynomials in case of x0 = 3 i i xi

0 0.0 3.00000
1 0.2 2.30483
2 0.4 1.80000
3 0.6 1.44187
4 0.8 1.18634
5 1.0 1.00000

Fig. 2 The homotopy H for the polynomials p(x) and q(x)

Fig. 4 The path of homotopy transforming the root of p(x) into the
root of q(x) in case of x0 = 3

Fig. 3 Deformation of a root of the polynomial p(x) into a root of the


polynomial q(x) in case of x0 = 3 Table 2 The roots of the deform-
ing polynomials in case of x0 = i i xi
3
Considering the polynomial of degree two (i.e., quadratic 0 0.0 3.00000
equation), 1 0.2 3.90483
2 0.4 5.00000
q(x) = x 2 + 8x 9, (4) 3 0.6 6.24187
whose roots (q(x) = 0) are desired. 4 0.8 7.58634
Instead of this polynomial, we consider a simpler one by 5 1.0 9.00000
deleting the middle term. The roots of this simpler polyno-
mial can be found easily by inspection,
0, where 1 = 0.2, employing NewtonRaphson method,
p(x) = x 2 9. (5) repeatedly with i = 0.2, 0.4, 0.6, 0.8, 1.0 (see Table 1 and
This polynomial also has two roots and will be considered Fig. 3)
as start system for the target system, Eq. (4). Then the linear xi = NewtonRaphson(H (x, i ), {x, xi1 }), (7)
homotopy can be defined as follows (Fig. 2):
where xi1 is the initial value for NewtonRaphson method
H (x, ) = (1 ) p(x) + q(x) (NewtonRapshon is a generic name for a routine that per-
= (1 )(x 2 9) + (x 2 + 8x 9) forms the NewtonRaphson method).
= x 2 + 8x 9. (6) The homotopy path is the function x = x(), where in
every point H (x, ) = 0 (see Fig. 4).
The homotopy continuation method deforms continuously The points in Fig. 4 represent the discrete points of the ho-
the known roots of the start system p(x) = 0, into the motopy path, where H (xi , i ) = 0 for every i = 0, . . . , 5.
roots of the target system q(x) = 0 (see Figs. 3 and 5). The second root of Eq. (4) can be computed similarly by
Let us solve the equation H (x, ) = 0 for different values starting from x0 = 3. The results can be seen in Table 2
of as parameter. Considering x0 = 3, one of the solu- and Fig. 5.
tions of p(x) = 0, as initial guess value, solve H (x, 1 ) = The points of the homotopy path can be seen in Fig. 6.

123
82 B. Palncz et al.

Fig. 5 Deformation of a root of the polynomial p(x) into a root of the


polynomial q(x) in case of x0 = 3 Fig. 7 Solution of homotopy equation as an the initial value problem

and
H
= 8x. (12)

Considering that x = x(), we get
dx() H 8x() 4x()
= = = (13)
d Hx 2x() + 8 x() + 4
with the initial value

x(0) = 3. (14)

The initial value problem given by Eqs. (13) and (14)


Fig. 6 The path of homotopy transforming the root of p(x) into the can be solved by any numerical integration technique. The
root of q(x) in case of x0 = 3 most simple is the Euler method and the most popular is the
Runge-Kutta method and its numerous variations, see Chapra
and Canale (1998). Here we employed the built-in solver of
3.1 Tracing homotopy path as initial value problem
Mathematica, NDSolve, see Haneberg (2004) and Palncz
(2008).
Comparing the homotopy solution with the traditional
The numerical solution of this initial value problem can
NewtonRaphson solution, if is small enough, the con-
be seen in Fig. 7, in case of x0 = 3.
vergence may be ensured in every step.
This is the continuous path of the homotopy function,
One can consider this root-tracing problem as an initial
Eq. (6), where in every point H (x, ) 0.
value problem of an ordinary differential equation. Consid-
Then one of the roots of the target system, Eq. (4) is x(1) =
ering H (x, ) = 0 for every [0, 1], therefore
1. Considering x0 = 3 as initial value we get the other root,
H H x(1) = 9.
dH (x, ) = dx + d 0 [0, 1]. (8)
x In the multivariate case we have to compute the inverse
Then the initial value problem is of the Jacobian, namely the initial value problem that will
expressed as
dx()
Hx + H = 0 (9)
d dx()
= Hx1 H (15)
with d
with
x(0) = x0 . (10)
x(0) = x0 . (16)
Here Hx is the Jacobian of H with respect to xi , i =
1, . . . , n, in case of n nonlinear equations with n variables. Here, Hx1 is the inverse of the Jacobian Hx with respect
In our single variable case, see Eq. (6), to xi , i = 1, . . . , n, in case of n nonlinear equations with n
H variables. To carry out numerical integration any numerical
= 2x + 8 (11) method can be used, for example, the Runge-Kutta method.
x

123
Linear homotopy solution of nonlinear systems of equations in geodesy 83

The inverse can be computed in a symbolic way for limited 3.2 Types of linear homotopy
sizes like n = 6 or 8. For larger systems a special method is
employed, which is more effective than any other standard As we have seen, the start system can be constructed
numerical computation of the inverse of a matrix (see Garcia intuitively, reducing the original system (target system) to
and Zangwill (1981)). a more simple system (start system), whose roots can be eas-
We consider a new parameter in Eq. (8), namely the param- ily computed. In order to get all of the roots of the target
eter t; then system, the start system should have so many roots as the
target system has.2 The start system can be constructed in
H H
dH (x(t), (t)) = dx(t)+ d(t) 0 (t) [0, 1]. many ways; however, there are two typical types of the start
x systems, which are usually employed.
(17)

This means with s(t) = {x(t), (t)} we get 3.2.1 Fixed point homotopy

ds The start system can be considered as


Hs (s(t)) = 0, (18)
dt
p(x) = x x0 (24)
where Hs is the Jacobian of the homotopy function with
respect to s having n + 1 dimensions. where x0 is a guess value for the root of the target system
Then the ith derivative function can be expressed as q(x) = 0.
dsi   In that case the homotopy function is
(1) (i1) (i+1) (n+1)
= (1)i+1 det Hs , . . . , Hs , Hs , . . . , Hs ,
dt H (x, ) = (1 )(x x0 ) + q(x). (25)
(19)

where Hs(i) is the i th column of the Jacobian matrix Hs (s(t)) 3.2.2 Newton homotopy
(see Garcia and Zangwill (1981)).
However, in that case one needs to check the upper bound Another construction for the start system is to consider p(x)
of the integration parameter, since integration should be car- as
ried out up to t , where (t ) = 1, (see Binous 2007a).
p(x) = q(x) q(x0 ). (26)
Therefore, it is reasonable to eliminate the last derivative
of vector s, namely In this case the homotopy function is
dsn+1
=
d
. (20) H (x, ) = (1 )(q(x) q(x0 )) + q(x) (27)
dt dt
or
Considering that
H (x, ) = q(x) (1 )q(x0 ). (28)
dsi dxi dxi d dxi dsn+1
= = = , (21)
dt dt d dt d dt Although the Newton homotopy is one of the easiest
homotopies to use, one does not have guarantees that all
and
solutions will be found (see Choi and Book (1991)).
dxi dxi d dsi dsn+1 There are other methods to construct start systems for lin-
= / = / , (22)
d dt dt dt dt ear homotopy. In the following section, we shall see how one
can define a start system for polynomial systems automati-
for i = 1, 2, . . . , n. The integration now can be carried out
cally.
with the independent variable on [0, 1].
Sometimes the integration can fail because of singularity
of the Jacobi matrix of H (x, ). In order to avoid singularity 3.2.3 Start system for polynomial systems
in reality, we consider a modified complex homotopy func-
tion, How can we find the proper start system, which will provide
all solutions of the target system? This problem can be solved
H (x, ) = (1 ) p1 (x) + q1 (x) (23) if the nonlinear system is specially a system of polynomial
equations.
where is a random complex number. For almost all choices
of a complex constant , all solution paths defined by the ho- 2 Remark: However, there are certain theorems that place smoothness
motopy above are regular; i.e., for all [0, 1], the Jacobian restrictions on the input functions, under which, all the solutions of the
matrix of H (x, ) is regular and no path diverges. target system will found. See Allgower and Georg (1990).

123
84 B. Palncz et al.

Let us consider the case where we are looking for the Table 3 Roots of system Eqs.
homotopy solution of f (x) = 0, where f (x) is a polyno- (31) and (32) x y
mial system, f (x) : Rn Rn . To get all solutions, one 0 1
should find out a proper polynomial system, as start system, 0 1
g(x) = 0, where g(x) : Rn Rn with known and easily 1 0
computable solutions. 1 0
An appropriate start system can be generated in the fol-
1 i 1 + i
lowing way (see Hazaveh et al. (2003)): 2 2
1 + i 1 i
Let f i (x1 , . . . , xn ), i = 1, . . . , n be a system of n polyno- 2 2
mials. We are interested in the common zeros of the system,
namely f = ( f 1 (x), . . . , f n (x)) = 0.
  d1 
Let d j denote the degree of the jth polynomialthat is
the degree of the highest order monomial in the equation. g1 (x, y) = e i1 x d1 e i1 (33)
Then such a starting system is,
  d j  or in trigonometric form
d
g j (x) = e i j x j j e i j = 0, j = 1, . . . , n (29)  
g1 (x, y) = (cos 1 +i sin 1 ) x 2 (cos 1 +i sin 1 )2 .
where j and j are random real numbers in the interval [0, 2
(34)
], and here i is the imaginary value. If no random complex
numbers are introduced for the initial values, this may lead
which can be simplified as
to singular Jacobian of the Newtons method. The equation
above has the obvious particular solution x j = e i j and the  
complete set of the starting solutions for j = 1, . . . , n is g1 (x, y) = x 2 cos 21 i sin 21 (cos 1 +i sin 1 ) (35)
given by
  Generating two real random numbers, 1 and 1 in the
i j + 2
d
k interval [0, 2 ], we may get
e j
, k = 0, 1, . . . , d j 1. (30)

Bezouts theorem (see Kotsireas (2001)) states that g1 (x, y) = (0.673116 + 0.739537i)(0.933825
the number of isolated roots of such a system is bounded by + 0.35773i + x 2 ). (36)
the total degree of the system, d = d1 d2 . . . dn . We illustrate
the discussion mentioned above by means of Example 1. The second equation can be generated in the same way
However, we should mention that there is a tighter upper with randomly generated real numbers, 2 and 2 .
bound for the number of the solutions introduced as BKK-
bound (due to contributions by Bernstein, Khovanskii, and g2 (x, y) = (0.821746 0.569853i)(0.957532
Kushnirenko) using mixed volumes (see Bernstein (1975) 0.288325i + y 3 ). (37)
and Bernstein et al. (1976)). For dense systems, i.e., if all
monomials have non-zero coefficients, this quantity gives us The first equation has the following roots, considering
back the Bezout bound, whereas in many other cases it might Eq. (30) with d1 = 2
be much smaller.
 
i 1 + 22 0
Example 1 Let us consider the following system: x1 = e = 0.983317 0.1819i, (38)

f 1 (x, y) = x 2 + y 2 1 (31) and


f 2 (x, y) = x + y 1.3 3
(32)  
i 1 + 22 1
x2 = e = 0.983317 + 0.1819i. (39)
This system has the following six roots (see Table 3),
resulting from the direct solution: Similarly, the second equation has three roots, d2 = 3
The degrees of the polynomials are d1 = 2 and d2 = 3.
 
Indeed, d1 d2 = 2 3 = 6, as expected. i 2 + 23 0
Now we compute a start system and its solutions consid- y1 = e = 0.413328 0.910582i (40)
 
ering Eqs. (29) and (30) with n = 2 and x1 = x, x2 = y; y2 = e
i 2 + 23 1
= 0.995251 + 0.0973382i (41)
then the start system consists of two equations. Employing  
i 2 + 23 2
Eq. (29), the first equation is y3 = e = 0.581923 + 0.813244i. (42)

123
Linear homotopy solution of nonlinear systems of equations in geodesy 85

All combinations of these roots {xi , y j } are the roots of Computations can be easily achieved by CAS system
the start system, Mathematica, as illustrated in the Appendix where this exam-
ple is solved.
{x1 , y1 } = {0.9833170.1819i,0.4133280.910582i} The following are some features of our Mathematica
(43) implementation:
{x1 , y2 } = {0.9833170.1819i, 0.995251+0.0973382i}
(44) 1. Direct computation of the homotopy paths using New-
tonRaphson method.
{x1 , y3 } = {0.9833170.1819i,0.581923+0.813244i}
2. Computation of the homotopy paths using numerical
(45) integration. Implicit differential equation system can be
{x2 , y1 } = {0.983317+0.1819i,0.4133280.910582i} transformed into an explicit one by computer algebra
(46) in case of 68 variables or special numerical technique
without inversion can be used for case of any higher
{x2 , y2 } = {0.983317+0.1819i, 0.995251+0.0973382i}
dimensions.
(47) 3. Computation of a proper start system using Bezouts the-
{x2 , y3 } = {0.983317+0.1819i,0.581923+0.813244i} orem for system of multivariate polynomial equations,
(48) providing initial value for all paths of roots.
4. Visualization of the paths of all trajectories in case of any
The homotopy function is number of variables and any number of systems.
   
g1 (x, y) f 1 (x, y)
H (x, y, ) = (1 ) + , (49) Generally, all these functions can be parameterized freely
g2 (x, y) f 2 (x, y)
and the start systems and the type of linear homotopy can
and the corresponding differential equation system be defined by the user. Moreover, any computation can be
  carried out with any precision.
d x() 1
= Hx,y H (50)
d y()
4 Applications in geodesy
where

fx1 + (1 ) g f1 g1
x y + (1 ) y
1 In the following examples we demonstrate the use of the
Hx,y = (51) homotopy method for geodetic problems employing Math-
fx2 + (1 ) g f2 g2
x y + (1 ) y
2
ematica. We show three examples for three types of linear
homotopy: using start system for polynomial systems, fixed
and
point, and Newton homotopy.
 
f 1 (x, y) g1 (x, y)
H = . (52) Example 2 (3D Resection problem) The three-dimensional
f 2 (x, y) g2 (x, y)
resection problem is concerned with the determination of the
So, we have to solve this system with six initial values. position of a point P0 connected by angular observations,
These initial valuesthe solutions of the start systemwill i, j , i, j = 1, 2, 3 to three known stations, Pi , i = 1, 2, 3
provide the start points of the six homotopy paths. The end (see Fig. 9). It means that the space angles, i, j as well as
points of these paths are the six desired solutions of the origi- the distances Si, j , i, j = 1, 2, 3 are known and the distances
nal system f 1 = 0 and f 2 = 0. In this case, the trajectories of Si , i = 1, 2, 3 should be computed.
the solution of the system of differential equations, Eq. (50)
Grunert proposed the following distance equations
will be complex. The curves in Fig. 8. shows the homotopy
(Grunert 1841):
paths belonging to the six initial values, Eqs. (43)(48). The
curves show the paths on the complex plane, where axis Re 2
S1,2 = S12 + S22 2S1 S2 cos(1,2 )
stands for the real and axis Im stands for the imaginary parts 2
S2,3 = S22 + S32 2S2 S3 cos(2,3 ) (53)
of a complex number. The parameter value is increasing
along the path from the solution of the start system, = 0 up
2
S3,1 = S32 + S12 2S3 S1 cos(3,1 ).
to the solution of the target system, = 1, the end point of This is a system of polynomial equations for the variables
the curve. Along the paths the homotopy function is H = 0 S1 , S2 , and S3 , representing distances.
for all . Let us introduce the following variables:
The results obtained by the numerical solution are the end
points of the homotopy paths (see Table 4). cos i, j = f i, j , Si = xi and Si, j = di, j , (54)

123
86 B. Palncz et al.

Fig. 8 Homotopy paths starting


from the six starting values
(43)(48)

123
Linear homotopy solution of nonlinear systems of equations in geodesy 87

Table 4 Homotopy solutions of the system Eqs. (31) and (32) Table 5 Data for 3D resection problem
x y 1,2 2,3 3,1 S1,2 S2,3 S3,1

0 1 1.843620 1.768989 2.664537 1560.3302 755.8681 1718.1090


0 1
1 0
1 0
g2 = (0.367759 0.929921i)(0.390737
1 0.707107i 1 + 0.707107i
0.920503i + x22 ) (59)
1 + 0.707107i 1 0.707107i
g3 = (0.530598 + 0.847624i)(0.62502
+ 0.780609i + x32 ). (60)
Table 6 shows the solutions of this start system. These
values will be the initial values of the eight paths of the
homotopy function, Eq. (53).
The homotopy function is the linear combination of the
target system, Eqs. (55)(57) and the start system, Eqs. (58)
(60),

g1 (x1 , x2 , x3 )
H (x1 , x2 , x3 , ) = (1 ) g2 (x1 , x2 , x3 )
g3 (x1 , x2 , x3 )

Fig. 9 Geometrical interpretation of the 3D resection f 1 (x1 , x2 , x3 )
+ f 2 (x1 , x2 , x3 ) (61)
f 3 (x1 , x2 , x3 )
then the system can be written in the following form:
The homotopy paths will be the solution of the following
x12 2 f 12 x1 x2 + x22 d12 = 0 (55) differential equation system (see Eq. (15)):
x22 2 f 23 x2 x3 + x32 d23 = 0 (56)
x ()
d 1
x32 2 f 31 x1 x3 + x12 d31 = 0. (57) x2 () = Hx1 H (62)
d
x3 ()
Numerical data from Awange and Grafarend (2005) are
used in the following (see Table 5): where the Jacobian
   
Employing the homotopy solution we need to search eight gi fi
paths because the Bezout bound in Eqs. (55)(57) is d = (Hx )i, j = (1 ) + (63)
x j i, j x j i, j
23 = 8 (d1 = 2, d2 = 2 and d3 = 2). Now we have three
start equations in our start system generated randomly, using and
Eqs. (29) and (30),
(H )i = f i (x1 , x2 , x3 ) gi (x1 , x2 , x3 ). (64)
g1 = (0.988262 + 0.152767i)(0.613157 The end points of these eight homotopy paths belonging
+ 0.789961i + x12 ) (58) to the eight initial values in Table 6 will give us the eight

Table 6 Solutions of the start


system i x1i x2i x3i

1 0.898097 + 0.439797i 0.551935 + 0.833887i 0.433001 0.901393i


2 0.898097 + 0.439797i 0.551935 + 0.833887i 0.433001 + 0.901393i
3 0.898097 + 0.439797i 0.551935 0.833887i 0.433001 0.901393i
4 0.898097 + 0.439797i 0.551935 0.833887i 0.433001 + 0.901393i
5 0.898097 0.439797i 0.551935 + 0.833887i 0.433001 0.901393i
6 0.898097 0.439797i 0.551935 + 0.833887i 0.433001 + 0.901393i
7 0.898097 0.439797i 0.551935 0.833887i 0.433001 0.901393i
8 0.898097 0.439797i 0.551935 0.833887i 0.433001 + 0.901393i

123
88 B. Palncz et al.

Table 7 End points of the 8


homotopy paths i x1i x2i x3i

1 22456.5 1735.3i 4375.48 + 22037.5i 20757.3 8626.43i


2 1580.11 770.958 153.711
3 22456.5 + 1735.3i 4375.48 22037.5i 20757.3 + 8626.43i
4 1324.24 542.261 430.529
5 1324.24 542.261 430.529
6 22456.5 1735.3i 4375.48 + 22037.5i 20757.3 8626.43i
7 1580.11 770.958 153.711
8 22456.5 + 1735.3i 4375.48 22037.5i 20757.3 + 8626.43i

Table 8 Solution of the 3D x1 = 1324.240


resection problem
x2 = 542.261
x3 = 430.529

solutions of the target system Eqs. (55)(57), provided in


Table 7.
The corresponding solutions for distances in this example
should be all positive real numbers; consequently, only the
fifth solution is acceptable (see Table 8).
The paths corresponding to this single solution are illus-
trated in Fig. 10.
The computation of the eight paths takes 0.172 s with
Mathematica. The same solution was achieved using the
reduced Groebner basis, eliminating x2 and x3 , then resulting
a univariate polynomial of order 8 for x1 taking 6.297 s also
in Mathematica. Dixon resultant method improved by Kapur
et al. (1994) and implemented into Mathematica by Nakos
and Williams (2002) cannot solve the problem in practica-
ble time (less than 500 s). However, Dixon method imple-
mented in the computer algebra system Fermat by Lewis
(2002, 2008) can solve the problem in about 0.02 s!
In the next examples, we demonstrate how homotopy
solution can enlarge the convergence region and can provide
solution with initial value, when local methods like Newton
Raphson fail.

Example 3 (3D affine transformation N-point problem)


Three-dimensional datum transformations play a central role
in contemporary Euclidean point positioning. In precise posi-
tioning with global positioning system (GPS), coordinates
given in the World Geodetic System 1984 (WGS84) often
have to be transformed into local geodetic coordinate system.
The most frequently used datum transformation method is the
7-parameter similarity transformation, also called Helmert or
C7 (3,3) transformation.

The 3D affine transformation is one possible generaliza- Fig. 10 Trajectories of the homotopy path providing positive, real
tion of the C7 (3, 3) similarity transformation, using three solutions for the 3D resection problem

123
Linear homotopy solution of nonlinear systems of equations in geodesy 89

different scale (s1 , s2 , s3 ) parameters instead of a single one. coordinate systems (homologous point):

vxi = X i + cYi bZ i + xi 1 X 0 1 + cyi 2


xi Xi X0
yi = W R Yi + Y0 , cY0 2 bz i 3 + bZ 0 3
(65)
zi Zi Z0 vyi = cX i Yi + a Z i cxi 1 + cX 0 1 + yi 2
Y0 2 + az i 3 a Z 0 3 (70)
where W is the scale matrix. vz i = bX i aYi Z i + bxi 1 bX 0 1 ayi 2
In this case the scale factors can be modeled by a diagonal + aY0 2 + z i 3 Z 0 3
matrix
where vxi , vyi and vz i are 0 when we have the minimally

s1 0 0 required three homologous points to determine the nine
W = 0 s2 0 , (66) unknown parameters. However, as usual in case of N point
0 0 s3 problem, when we have to solve an overdetermined system,
vxi , vyi and vz i are not zero, because of the inevitable obser-
X 0 , Y0 , Z 0 are the translation parameters and R the rotation vation as well as model errors.
matrix. In case of N > 3 homologous points, the nonlinear system
to be solved leads to a system of 3N polynomial equations,
Instead of using the traditionally simplified Cardan angle 
representation of R (see Papp and Szucs 2005), it can be minimizing vi2 where vi2 = (vxi2 + vyi2 + vz i2 ). For exam-
expressed by a skew- symmetric matrix (see Awange and ple, in our numerical examples we have N = 1,138 points. It
Grafarend 2003), facilitating the symbolic- numeric solution means, we have 3,414 equations and nine unknown param-
of the problem without simplifications. eters, leading to an overdetermined multivariate polynomial
The rotation matrix with parameters a, b and c is system.
The determined model can be achieved by employing
N 2
symbolic evaluation of the objective function ( i=1 vi ), and
1+a 2 b2 c2 2(abc) 2(b+ac)
1+a 2 +b2 +c2 1+a 2 +b2 +c2 1+a 2 +b2 +c2 its symbolic derivation, providing the necessary condition

2(ab+c) of its minimum. However, in this case one will get a higher
R=
1+a 2 +b2 +c2
1a 2 +b2 c2
1+a 2 +b2 +c2
2(abc)
1+a 2 +b2 +c2
,
(67) order and more complex polynomial system than the original
overdetermined one. In symbolic form most of these equa-
2(b+ac) 2(a+bc) 1a 2 b2 +c2
1+a 2 +b2 +c2 1+a 2 +b2 +c2 1+a 2 +b2 +c2
tions have many thousands of terms; therefore, it is useful to
collect terms corresponding to the same multivariate expres-
sion via computer algebra (see Zaletnyik (2008)). Here, just
for which the orthogonality relation holds:
as an illustration, let us see the first equation resulting from
the derivation of the objective function with respect to the
1 0 0 variable a,
R RT = 0 1 0 . (68)
Fa (a, b, c, 1 , 2 , 3 , X 0 , Y0 , Z 0 )
0 0 1
= bN X 0 Y0 1 2 +a N Y02 22 cN X 0 Z 0 1 3 +a N Z 02 32

The axial rotation angles (Cardan angles) can be calcu- 


N 
N 
N
+ bY0 1 2 xi + cZ 0 1 3 xi + bY0 2 Xi
lated also from the rotation matrix (R) (see Awange and i=1 i=1 i=1
Grafarend (2005)).

N 
N 
N
Furthermore, instead of the scale parameters (s1 , s2 , + cZ 0 3 X i +aY0 22 (2yi )+bX 0 1 2 yi
s3 ), we will use the inverse values of the scale parameters i=1 i=1 i=1
(1 , 2 , 3 ) to get more simple equations. 
N 
N 
N
Let us call i = 1/si and introduce = W 1 + b1 2 (xi yi ) + b2 (X i yi ) + a22 yi2
i=1 i=1 i=1

N 
N 
N
1 0 0
+ aY0 2 (2Yi )+bX 0 1 Yi + Z 0 3 2Yi
= 0 2 0 .
(69) i=1 i=1 i=1
0 0 3

N 
N 
N
+ b1 (xi Yi ) + b (X i Yi ) + a2 2yi Yi
According to Eq. (65), expressing the rotation matrix with i=1 i=1 i=1
the skew-symmetric matrix and using the inverse of the scale 
N 
N 
N

matrix (), the following three nonlinear equations can be + a Z 0 32 (2z i ) + cX 0 1 3 z i + c1 3 (xi z i )
i=1 i=1 i=1
written for one point with known coordinates in both

123
90 B. Palncz et al.


N 
N 
N
Table 9 The start values computed from a symbolical 3-Point solution
+ c3 (X i z i ) + 3 (2Yi z i ) + a32 z i2
i=1 i=1 i=1
Variables Start values In geodetic form

N 
N 
N
+ Y 0 2 (2Z i )+a Z 0 3 (2Z i )+cX 0 1 Zi a 0.00002 = +8.2508
i=1 i=1 i=1 b 0.00002 = 8.2504

N 
N 
N
c 0.00002 = 8.2508
+ c1 (xi Z i ) + c (X i Z i ) + 2 2yi Z i
i=1 i=1 i=1
X 0 243 X0 = 243 m


N 
N Y0 227 Y0 = 227 m

+ a3 2z i Z i + a Yi2 + Z i2 =0 (71) Z 0 337 Z0 = +337 m
i=1 i=1 1 1 k1 = 0 ppm
2 1 k2 = 0 ppm
In this way, we get nine polynomial equations (Fa ,
3 1 k3 = 0 ppm
Fb , . . . , F3 ) (see Palncz et al. 2008c) with the nine
unknown parameters (a, b, c, X 0 , Y0 , Z 0 , 1 , 2 , 3 ).
The highest-order term in every equation is 5; therefore, Table 10 The start values computed from Eqs.(72) via pseudoinverse
the degree of every equation is di = 5, i = 1, . . . , 9. This
Variables Start values In geodetic form
implies that the upper bound of the number of the solutions
of this system is 59 = 1,953,125, which means that in case a 5.14934436480436 106 = +2.1244
of using the homotopy solution with the automatically cal- b 9.147743927965785 106 = 3.7736
culated start system for polynomial systems, we would need c 0.0000472128892111371 = 19.4767
to track nearly 2 million paths.3 X 0 3.78794980367417 1017 X0 = 0.000 m
We have seen in Sect .3.2 that one of the most simple ways
Y0 0 Y0 = 0.000 m
to define a start system is employing Newton-type homotopy
Z 0 0 Z0 = 0.000 m
(see Eq. (26). This type of homotopy requires a guess value
1 1.0000011141420198 k1 = 1.114 ppm
for the solution of the original (target) system. Now seem-
2 1.0001180993441208 k2 = 118.085 ppm
ingly, we have arrived back to our original problem of the
missing proper initial value for local methods like Newton 3 0.9999810252524541 k3 = +18.975 ppm
Raphson. However, the situation is not so bad. On the one
hand, we do not need proper initial value because homoto-
py is much more robust than local methods and enlarges the (part per million)), instead of the inverse scale parameters
domain of convergence. On the other hand, there are nat- (1 , 2 , 3 ).
ural ways to compute initial value, which is good enough Another way of calculating a guess value is to delete the
for global methods, like homotopy. One possibility is to nonlinear terms from the original overdetermined system in
choose three homologous points from the N point. For this Eq. (70).
case symbolic solution is possible employing either reduced
Groebner basis or accelerated Dixon resultant by the Early Lvxi = X i + cYi bZ i + xi 1
Discovery Factors (Dixon-EDF) algorithm (see Palncz et al. Lvyi = cX i Yi + a Z i + yi 2 (72)
(2008b)). This second method was discovered and imple- Lvz i = bX i aYi Z i + z i 3
mented in the computer algebra system Fermat by Lewis
(2002, 2008). However, the values calculated from the dif- The least square solution of this linear system i = 1, . . . ,
ferent triplets can differ significantly depending on their geo- 1,138 can be computed via pseudoinverse with 1138
metrical configurations (see Zaletnyik 2008). A solution for Hungarian data points. The result is in Table 10. It can be
one of the geometrically ill-posed triplets is illustrated in seen that the two different methods gave fairly different val-
Table 9. In this table, we represented the calculated param- ues and both are far from the solution (see Table 11).
eters in their traditional geodetic forms also, representing Employing Newton homotopy, the start system is
the rotation matrix with the three rotation angles (, , )
in seconds, instead of a, b, c, and the deviations of the scale G( ) = F( ) F(0 ) (73)
parameters from one (ki = si 1 = 1/i 1), in ppm
with F = (Fa ( ), Fb ( ), Fc ( ), FX 0 ( ), FY0 ( ), FZ 0 ( ),
F1 ( ), F2 ( ), F3 ( )) as target system, = (a, b, c,
3 X 0 , Y0 , Z 0 , 1 , 2 , 3 ) as unknown variables, and 0 = (a,
Remark: Tracking millions of paths is not unrealistic on supercomput-
ers, clusters of workstations or even modern multiprocessor, multi-core b, c, X 0 , Y0 , Z 0 , 1 , 2 , 3 ) as start (initial) values for the
desktop computers (see Blum et al (1998)). homotopy function.

123
Linear homotopy solution of nonlinear systems of equations in geodesy 91

Table 11 Homotopy solution for the 1138 Hungarian points Table 12 Comparing different methods in case of 1138 Hungarian
points for 3D affine transformation
Variables Homotopy solutions In geodetic form
Method Computation time(s) with initial values in
a 8.389143102087336 106 = +3.4591
Table 9 Table 10
b 0.00011415902600771965 = 47.094
c 0.00003482245241765358 = +14.3649 NewtonRaphson Fails to converge Converging to a
X0 2298.5887892237693 X 0 = 2298.589 m wrong solution
Y0 526.5088259777841 Y0 = +526.509 m NewtonKrylov Singularity 3.5
Z0 2143.7159886648537 Z 0 = +2143.716 m NewtonHomotopy 0.72 0.73
1 0.9997302444546577 k1 = +269.828 ppm
2 1.000188709705781 k2 = 188.674 ppm In Table 12 it can be seen that traditional NewtonRaphson
3 1.000245242648286 k3 = 245.183 ppm method failed in both cases; its modification, the Newton
Krylov method had singularity in the first case, and it was
slowed down by the increasing number of the iteration ensur-
ing acceptable precision in the second case. In this example,
homotopy solution seemed to be more robust as well as even
faster than the traditional Newtons type methods. Figure 12
demonstrates clearly how large is the domain of convergency
of the homotopy method.
In the first three examples we solved polynomial systems
and in the last example we will demonstrate that other non-
linear system can be solved also efficiently with homotopy
method, in this case with fix point homotopy.

Example 4 (GPS N-Point problem) Throughout history,


position determination has been one of the most important
tasks of mountaineers, pilots, sailors, civil engineers, etc. In
modern times Global Navigation Satellite Systems (GNSS)
provide an efficient method to accomplish this task. The
American Global Positioning System (GPS) is one of the old-
est GNSS system. The GPS receiver measures the travel time
of the signal transmitted from the satellite and received by
the ground based receiver. The respective distance between
the satellite and receiver is then computed by multiplying the
measured time by the speed of light in vacuum. This distance
is known as pseudorange due to clock and atmospheric errors.
The pseudorange of the receiver from the ith satellite, di , is
related to the unknown position of the receiver, (x1 , x2 , x3 ),
by (see, e.g., Awange and Grafarend 2005).
Fig. 11 Paths of the homotopy solution in the complex plain for the
parameter a, with two different initial values di = (x1 ai )2 + (x2 bi )2 + (x3 ci )2 + x4 (75)
where ai , bi , ci , i = 0, 1, 2, 3 are the coordinates of the ith
Then the homotopy function is (see Eq. (28)) satellite.4

H ( , ) = F( ) (1 )F (0 ) . (74) The distance is influenced also by the satellite and receiver


clock biases. The satellite clock biases can be modeled while
The solution for all parameters can be seen in Table 11. the receiver clock bias has to be considered as an unknown
The Newton homotopy solution was successful with both ini- variable, x4 . This means that we have four unknowns, and
tial values. As an illustration, Fig. 11 shows the paths of the consequently we need four satellite signals as minimum num-
homotopy solution in the complex plain for the parameter a ber of simultaneous observations.
with the two different initial values. 4 Remark: It is assumed that atmospheric delays and other error sources
Table 12 shows the results of the different methods in case have been modeled in di , assuming that the reduction models are fully
of the different initial guess values. correct.

123
92 B. Palncz et al.

In the case where more than four GPS satellites are in view,
as it is usual in practice, there are more independent equa-
tions than unknown variables; we have an overdetermined
system. These equations generally are inconsistent due to
inevitable stochastic observation errors and model errors. In
GPS positioning pseudo distances (d) are measured, so we
should minimize the error (v) of these measurements (see
Eq. (76)),

vi = (x1 ai )2 + (x2 bi )2 + (x3 ci )2 +x4 di (76)
Considering the least squares method, we should mini-
mize the following objective function:

n
W (x1 , x2 , x3 , x4 ) = vi2 . (77)
i=1

This minimization problem can be transformed into a set


of nonlinear equations,
W
Fi = (78)
xi
namely,
 
n 2(x 1 ai ) x 4 + (x 1 ai )2 +(x 2 bi )2 +(x 3 ci )2 di
F1 =
i=1 (x1 ai )2 +(x2 bi )2 +(x3 ci )2
(79)
 
n 2(x 2 bi ) x 4 + (x 1 ai )2 +(x 2 bi )2 +(x 3 ci )2 di
F2 =
i=1 (x1 ai )2 +(x2 bi )2 +(x3 ci )2
(80)
 
n 2(x 3 ci ) x 4 + (x 1 ai )2 +(x 2 bi )2 +(x 3 ci )2 di
F3 =
i=1 (x1 ai )2 +(x2 bi )2 +(x3 ci )2
(81)

n  
F4 = 2 x4 + (x1 ai )2 +(x2 bi )2 +(x3 ci )2 di (82)
i=1

For numerical illustration, GPS satellites positions and


pseudo-range observations to six satellites are used in Ta-
ble 13 (Awange and Grafarend 2005).
To solve this nonlinear system with a local method, we
need proper initial values. Let us consider the 4-point solution
of satellites (23-1-21-17), computed with symbolic-numeric
method as initial values, (in Awange and Grafarend 2005,
p. 119, Table 9.5) (see in Table 14).
These four satellites have a very poor geometry with a
Position Dilution of Precision (PDOP) value of 137.8 (a good
geometry is indicated by a PDOP value of less than 6). Unfor-
tunately, NewtonRaphson did not work with these initial
values: the line search decreased the specified step size and
was unable to find a sufficient decrease in the merit function,
thereby failing to converge.
Fig. 12 Homotopy solution paths of the GPS positioning problem
In order to ensure convergency for this initial values, we
can employ fixed point homotopy, see Sect. 3.2.1. Now the

123
Linear homotopy solution of nonlinear systems of equations in geodesy 93

Table 13 Data for the GPS


N-point problem Satellite ID ai bi ci di

23 14177553.47 18814768.09 12243866.38 21119278.32


9 15097199.81 4636088.67 21326706.55 22527064.18
5 23460342.33 9433518.58 8174941.25 23674159.88
1 8206488.95 18217989.14 17605231.99 20951647.38
21 1399988.07 17563734.90 19705591.18 20155401.42
17 6995655.48 23537808.26 9927906.48 24222110.91

Table 14 Solution of GPS 4 x1 = 596951.528 Table 15 Solution of the GPS N- x1 = 596929.653


point problem computed by sym- point problem
bolic-numeric method x2 = 4852779.568 x2 = 4847851.552
x3 = 4088758.642 x3 = 4088226.795
x4 = 3510.400 x4 = 15.518

start system is The trajectories belonging to this solution can be seen in


Fig. 12.
x1 x1
x2 x2
G=
x3 x3 (83)
x4 x4 5 Conclusion
Then to avoid singularity of the homotopy function (see
Palncz 2008), let As demonstrated in these examples, the linear homotopy
method proves to be a powerful solution tool in solving non-
= i{1, 1, 1, 1}; (84) linear geodetic problems, especially if it is difficult to find
proper initial values to ensure convergency of local solution
The homotopy function is the linear combination of the
methods. Linear homotopy is robust and enlarges the con-
target system, Eqs. (79)(82) and the start system, Eq. (83),
vergency region of the local methods. This global numerical

G1 F1 method can be successful when symbolic computation based
G2 F2 on Groebner basis or Dixon resultant fail because of the size
H (x1 , x2 , x3 , x4 , ) = (1 )
G 3 + F3 (85) and complexity of the problem. However, to reduce the num-
G4 F4 ber of paths to be traced indicated by the Bezouts theorem
as upper bound of the number of solutions, it is important
and the corresponding system of the differential equations
to find a proper starting system ensuring considerably less
x1 () initial value problems to solve.
d
x2 () = Hx 1 H This study has provided the geodesy community with an
(86)

d x3 () additional powerful mathematical tool that is useful, not only
x4 () in root finding, but also in solving complex problems that
can be transformed into systems of polynomial equations.
where the Jacobian
    We have also shown that it offers faster computations and in
G i Fi some cases solves complex problems where existing meth-
(Hx )i, j = (1 ) + (87)
x j i, j x j i, j ods such as Groebner basis or even local numerical methods,
as Newton-type methods, fail.
and
(H )i = Fi (x1 , x2 , x3 , x4 ) G i (x1 , x2 , x3 , x4 ) (88) Acknowledgments The authors thanks Prof. Bernhard Heck, the three
reviewers as well as the Editor, for their valuable comments and sug-
Now employing path tracing by integration with comput- gestions, which enhanced the quality of this manuscript. J. L. Awange
acknowledges the financial support of Alexander von Humboldt
ing inverse, we get three solutions, but only one of them is the
(Ludwig Leichtharts Memorial Fellowship) and Curtin Research
physically acceptable solution (see Awange and Grafarend Fellowship. He is further grateful to his host Prof. Bernhard Heck and
(2005), Palncz (2006) and Palncz et al. (2007)). Table 15 his team at the Geodetic Institute, Technical University of Karlsruhe,
shows the values of this solution. for the conducive working atmosphere provided.

123
94 B. Palncz et al.

Appendix the solution of the target system:

In Mathematica one can solve the system (31) and (32) in Sol = hpath[[1]]
the following way: = {{0, 1}, {0, 1}, {1, 0}, {1, 0}, {1 0.707107i, 1
(1) Preprocessing: 0.707107i}, {1 + 0.707107i, 1 + 0.707107i}}
the equations:
the interpolation functions of the paths, the trajectories of the
f 1 [x_, y_] = x 2 + y 2 1 solutions:
f 2 [x_, y_] = x 3 + y 3 1
Traject = hpath[[2]]
the system = {x[] InterpolatingFunction[][], y[]

F = { f 1 [x, y], f 2 [x, y]} InterpolatingFunction[][]}

the variables: X = {x, y}; (3) Postprocessing:


computing start system and its solutions: These paths can be visualized by function: Path[X , Traject,
X 0], see Fig. 8.
start = StartingSystem[F, X ]; More details of the computation and functions applied here
can be found in Palncz (2008).
the start system:
G = start[[1]]
 References
= (0.673116+0.739537i)((0.933825+0.35773i)+x 2 ) ,

(0.8217460.569853i)((0.9575320.288325i)+ y 3 ) Allgower EL, Georg K (1990) Numerical continuation methods. An
introduction. SCM, vol 13. Springer, Heidelberg
the solutions of the start system: Awange JL, Grafarend EW (2003) Closed form solution of the
overdetermined nonlinear 7 parameter datum transformation. Allg
X 0 = start[[2]] Vermessungs-Nachr (AVN) 110:130148
= {{0.983317 0.1819i, 0.413328 0.910582i}, Awange JL, Grafarend EW (2005) Solving algebraic computational
problems in geodesy and geoinformatics. Springer, Berlin
Bates D, Hauenstein J, Sommese A, Wampler C (2008) Software for
{0.983317 0.1819i, 0.995251 + 0.0973382i}, numerical algebraic geometry: a paradigm and progress towards
its implementation. Software for algebraic geometry. IMA Vol.
{0.983317 0.1819i, 0.581923 + 0.813244i}}, Math. Appl. vol 148. Springer, New York, pp 114
Bernstein DN (1975) The number of roots of a system of equations.
{0.983317 + 0.1819i, 0.413328 0.910582i}, Funct Anal Appl 9:183185
Bernstein DN, Kushnirenko AG, Khovanskii AG (1976) Newton poly-
{0.983317 + 0.1819i, 0.995251 + 0.0973382i}, hedra. Uspehi Mat Nauk 31:201202
Binous H (2007a) Homotopy continuation method to solve a system of
{0.983317 + 0.1819i, 0.581923 + 0.813244i}} nonlinear algebraic equations. Wolfram Library Archive, Math-
Source, http://library.wolfram.com/infocenter/MathSource/6710/
(2) Processing: [Accessed 1 Dec 2008]
Computing homotopy path by solving the corresponding dif- Binous H (2007b) Homotopy continuation method to find all roots
of a polynomial equation III. Wolfram Library Archive, Math-
ferential equation system Eq.(50) with initial values X 0 Source, http://library.wolfram.com/infocenter/MathSource/6717/
[Accessed 1 Dec 2008]
= {1, 1}; Blum L, Cucker F, Shub M, Smale S (1998) Complexity and real com-
putation. Springer, Heidelberg
in case the start system is not complex, it contains n random Choi SH, Book NL (1991) Unreachable roots for global homotopy con-
complex numbers tinuation methods. AIChE J 37 7:10931095
Chapra SC, Canale RP (1998) Numerical methods for engineers, with
P = 0; programming and software applications, 3rd edn. McGraw-Hill,
Boston
in case of computation with very high precision (20 digits or Decarolis F, Mayer R, Santamaria M (2002) Homotopy continuation
methods. http://home.uchicago.edu/~fdc/H-topy.pdf [Accessed 1
more) Dec 2008]
Drexler FJ (1977) Eine methode zur berechnung smtlicher lsungen
P=1 von polynomgleichungssystemen. Numer Math 29:4558
Garcia CB, Zangwill WI (1979) Determining all solutions to certain
computing homotopy paths: systems of nonlinear equations. Math Oper Res 4:114
Garcia CB, Zangwill WI (1981) Pathways to solutions, fixed points and
hpath = LinearHomotopyNDS01[X, F, G, X 0, , P] equilibria. Prentice Hall, Englewood Cliffs

123
Linear homotopy solution of nonlinear systems of equations in geodesy 95

Gritton KS, Seader JD, Lin WJ (2001) Global homotopy continuation Palncz B (2008) Introduction to linear homotopy. Wolfram Library
procedures for seeking all roots of a nonlinear equation. Comput Archive, MathSource, http://library.wolfram.com/infocenter/
Chem Eng 25:10031019 MathSource/7119/ [Accessed 27 Aug 2008]
Grunert JA (1871) Das pothenotsche problem in erweiterter gestalt; Palncz B, Zaletnyik P, Awange JL (2008a) Extension of Procrus-
nebst bemerkungen ber seine anwendungen in der geodsie. tes algorithm for 3D affine coordinate transformation. Wol-
Grunert Archiv fr Mathematik Physik 1:238241 fram Library Archive, MathSource, http://library.wolfram.com/
Gunji T, Kim S, Kojima M, Takeda A, Fujisawa K, Mizutani infocenter/MathSource/7171/ [Accessed 27 Aug 2008]
T (2004) PHoM a polyhedral homotopy continuation method Palncz B, Lewis RH, Zaletnyik P, Awange JL (2008b) Computational
for polynomial systems. Computing 73(1):5777 study of the 3D affine transformation, part I. 3-point problem, Wol-
Hazaveh K, Jeffrey DJ, Reid GJ, Watt SM, Wittkopf AD (2003) fram Library Archive, MathSource, http://library.wolfram.com/
An exploration of homotopy solving in Maple. http://www. infocenter/MathSource/7090/ [Accessed 27 Aug 2008]
apmaths.uwo.ca/~djeffrey/Offprints/ascm2003.pdf [Accessed 27 Palncz B, Zaletnyik P, Lewis RH, Awange JL (2008c) Computational
Aug 2008] study of the 3D affine transformation, part II. N-point problem,
Haneberg WC (2004) Computational geosciences with Mathematica. Wolfram Library Archive, MathSource, http://library.wolfram.
Springer, Berlin com/infocenter/MathSource/7121/ [Accessed 27 Aug 2008]
Kapur D, Saxena T, Yang L (1994) Algebraic and geometric reasoning Papp E, Szucs L (2005) Transformation methods of the traditional
using Dixon resultants. In: ACM ISSAC 94, international sympo- and satellite based networks (in Hungarian with English abstract).
sium on symbolic and algebraic computation, Oxford, England, Geomatikai Kozlemenyek VIII, pp 8592
pp 99107 Sommese AJ, Verschelde J, Wampler CW (2003) Introduction to numer-
Kotsireas IS (2001) Homotopies and polynomial systems solving I: ical algebraic geometry. In: Dickenstein A, Ioannis Z (eds) Em-
basic principles. ACM SIGSAM Bull 35(1):1932 iris solving polynomial equations. Foundations, algorithms and
Lee TL, Li TY, Tsai CH (2008) HOM4PS-2.0: a software package for applications. Algorithms and computation in aathematics, vol 14.
solving polynomial systems by the polyhedral homotopy continu- Springer, Heidelberg, pp 301337
ation method. Computing 83(23):109133 Sommese AJ, Wampler CW (2005) The Numerical solution of systems
Lewis RH (2002) Using the Dixon resultant on big problems. In: CBMS of polynomials arising in engineering and science. World Scien-
Conference, Texas A&M University, http://www.math.tamu.edu/ tific, New Jersey
conferences/cbms/abs.html [Accessed 27 Aug 2008] Verschelde J (1999) Algorithm 795: PHCpack: a general-purpose
Lewis RH (2008) Heuristics to accelerate the Dixon resultant. Math solver for polynomial systems by homotopy continuation. ACM
Comput Simul 77(4):400407 Trans Math Softw 25(2):251276
Leykin A, Verschelde J (2004) PHCmaple: a maple interface to the Verschelde J (2007) Homotopy methods for solving polynomial sys-
numerical homotopy algorithms in PHCpack, http://www.ima. tems tutorial at ISSAC 05, Beijing, China. http://www.math.uic.
umn.edu/~leykin/papers/PHCmaple.pdf [Accessed 1 Dec 2008] edu/~jan/tutorial.pdf [Accessed 1 Dec 2008]
Nakos G, Williams R (2002) A fast algorithm implemented in Mathem- Watson LT, Sosonkina M, Melville RC, Morgan AP, Walker
atica provides one-step elimination of a block of unknowns from a HF (1997) Algorithm 777: HOMPACK90: a suite of Fortran 90
system of polynomial equations, Wolfram Library Archive, Math- codes for globally convergent homotopy algorithms. ACM Trans
Source, http://library.wolfram.com/infocenter/MathSource/2597/ Math Softw 23(4):514549
[Accessed 27 Aug 2008] Zaletnyik P (2008) Application of computer algebra and neural net-
Palncz B (2006) GPS N-points problem. Math Educ Res 11(2): works to solve coordinate transformation problems. PhD. Thesis
153177 at Department of Geodesy and Surveying [in Hungarian], Buda-
Palncz B, Awange JL, Grafarend EW (2007) Computer alge- pest University of Technology and Economics, Hungary
bra solution of the GPS N-points problem, GPS solutions,
11., 4:1080, Springer, Heidelberg, http://www.springerlink.com/
content/75rk6171520gxq72/ [Accessed 1 Dec 2008]

123

You might also like