Deflation and Certified Isolation of Singular Zeros of
Polynomial Systems
Angelos Mantzaflaris and Bernard Mourrain
GALAAD, INRIA Méditerranée
BP 93, 06902 Sophia Antipolis, France
arXiv:1101.3140v1 [cs.SC] 17 Jan 2011
[FirstName.LastName]@inria.fr
ABSTRACT
We develop a new symbolic-numeric algorithm for the certification of singular isolated points, using their associated local ring structure and certified numerical computations. An
improvement of an existing method to compute inverse systems is presented, which avoids redundant computation and
reduces the size of the intermediate linear systems to solve.
We derive a one-step deflation technique, from the description of the multiplicity structure in terms of differentials.
The deflated system can be used in Newton-based iterative
schemes with quadratic convergence. Starting from a polynomial system and a small-enough neighborhood, we obtain
a criterion for the existence and uniqueness of a singular root
of a given multiplicity structure, applying a well-chosen symbolic perturbation. Standard verification methods, based
eg. on interval arithmetic and a fixed point theorem, are
employed to certify that there exists a unique perturbed
system with a singular root in the domain. Applications to
topological degree computation and to the analysis of real
branches of an implicit curve illustrate the method.
Categories and Subject Descriptors
G.1.5 [Mathematics of Computing]: Roots of Nonlinear
Equations; I.1.2 [Computing Methodologies]: Symbolic
and Algebraic Manipulation—Algebraic algorithms
General Terms
Algorithms, Theory
Keywords
root deflation, multiplicity structure, dual space, inverse system, isolated point
1.
INTRODUCTION
A main challenge in algebraic and geometric computing
is singular point identification and treatment. Such problems naturally occur when computing the topology of implicit curves or surfaces [1], the intersection of parametric
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$5.00.
surfaces in geometric modeling. When algebraic representations are used, this reduces to solving polynomial systems.
Several approaches are available: algebraic techniques such
as Gröbner bases or border bases, resultants, subdivision algorithms[10], [13], homotopies, and so on. At the end of
the day, a numerical approximation or a box of isolation is
usually computed to characterize the (real) roots of the polynomial system. But we often need to improve the numerical
approximation of the roots. Numerical methods such that
Newton’s iteration can be used to improve the quality of
the approximation, provided that we have a simple root. In
the presence of a multiple root, the difficulties are significantly increasing. The numerical approximation can be of
very bad quality, and the methods used to compute this approximation are converging slowly (or not converging). The
situation in practical problems, as encountered in CAGD
for instance, is even worse, since the coefficients of the input equations are known, with some incertitude. Computing
multiple roots of approximate polynomial systems seems to
be an ill-posed problem, since changing slightly the coefficients may transform a multiple root into a cluster of simple
roots (or even make it disappear).
To tackle this difficult problem, we adopt the following
strategy. We try to find a (small) perturbation of the input
system such that the root we compute is an exact multiple root of this perturbed system. In this way, we identify
the multiplicity structure and we are able to setup deflation
techniques which restore the quadratic convergence of the
Newton system. The certification of the multiple root is also
possible on the symbolically perturbed system by applying
a fixed point theorem, based eg. on interval arithmetic [16]
or α-theorems [17].
Related work. In order to be develop Newton-type methods that converge to multiple roots, deflation techniques
which consist in adding new equations in order to reduce
the multiplicity have already been considered. In [14], by
applying a triangulation preprocessing step on the Jacobian
matrix at the approximate root, minors of the Jacobian matrix are added to the system to reduce the multiplicity.
In [6], a presentation of the ideal in a triangular form in
a good position and derivations with respect to the leading
variables are used to iteratively reduce the multiplicity. This
process is applied for p-adic lifting with exact computation.
In [7, 8], instead of triangulating the Jacobian matrix,
the number of variables is doubled and new equations are
introduced, which are linear in the new variables. They describe the kernel of the Jacobian matrix at the multiple root.
In [3], this construction in related to the construction of
the inverse system. The dialytic method of F.S. Macaulay
[9] is revisited for this purpose. These deflation methods are
applied iteratively until the root becomes regular, doubling
each time the number of variables.
More recent algorithms for the construction of inverse systems are described eg. in [11], reducing the size of the intermediate linear systems (and exploited in [18]), or in [12]
using an integration method.
In [15], a minimization approach is used to reduce the
value of the equations and their derivatives at the approximate root, assuming a basis of the inverse system is known.
In [20], the inverse system is constructed via Macaulay’s
method; tables of multiplications are deduced and their eigenvalues are used to improve the approximated root. It is
proved that the convergence is quadratic when the Jacobian
has corank 1 at the multiple root.
Verification of multiple roots of (approximate) polynomial
equations is a difficult task. The approach proposed in [16]
consists in introducing perturbation parameters and to certifying the multiple root of nearby system by using a fixed
point theorem, based on interval arithmetic. It applies only
to cases where the Jacobian has corank equal to 1.
The univariate case. In preparation for the multivariate
case, we review some techniques used to treat singular zeros
of univariate polynomials, and we present our method on a
univariate instance.
Let g(x) ∈ K[x] be a polynomial which attains at x = 0
a root of multiplicity µ > 1. The latter is defined as the
smallest positive integer µ such that dµ g(0) 6= 0 whereas
g(0) = dg(0) = · · · = dµ−1 g(0) = 0. Here we denote
dk
dk g(x) = dx
k g(x)/k! the normalized k−th order derivative.
We see that D0 = h1, d1 , . . . , dµ−1 i is the maximal space
of differentials which is stable under derivation, that vanish
when applied to members of Q0 , the hxi−primary component of hgi at x = 0. Consider now the symbolically perturbed equation
f1 (x, ε) = g(x) + ε1 + ε2 x + · · · + εµ−2 xµ−2
(1)
and apply every
basis element of D0 to arrive to the new system f (x, ε) = f1 , d1 f1 , . . . , dµ−1 f1 in µ − 1 variables. The
P
k−i+1
i−th equation shall be fi = di−1 f1 = di−1 g+ µ−2
εk ,
k=i x
µ−1
i.e linear in ε, the last one being fµ = d
g(x). This system deflates the root, as we see that the determinant of it’s
Jacobian matrix at (0, 0) is
d
f
dx 1
det Jf (0, 0) =
..
.
d
f
dx µ−1
d
f
dx µ
1
0
..
0
.
1
0
= −µdfµ (0, 0)
= −µdµ g(0) 6= 0.
Now suppose that ζ ∗ is an approximate zero, close to x = ζ.
We can still compute Dζ by evaluating g(x) and the derivatives up to a threshold relative to the error in ζ ∗ . Then
we can form (1) and use verification techniques to certify
the root. Checking that the Newton operator is contracting shows the existence and unicity of a multiple root in a
neighborhood of the input data. We are going to extend
this approach, described in [16], to multi-dimensional isolated multiple roots.
Our approach. It consists of the following steps:
(a) Compute a basis for the dual space and of the local
quotient ring at a given (approximate) singular point.
(b) Deflate the system by augmenting it with new equations derived from the dual basis, introducing adequate perturbation terms.
(c) Certify the singular point and its multiplicity structure
for the perturbed system checking the contraction property
of Newton iteration (eg. via interval arithmetic).
In step (a), a dual basis at the singular point is computed
by means of linear algebra, based on the integration approach of [12]. We describe an improvement of this method,
which yields directly a triangular dual basis with no redundant computation. This method has the advantage to reduce significantly the size of the linear systems to solve at
each step, compared to Macaulay’s type methods [9, 7, 8,
3]. In the case of an approximate singular point, errors are
introduced in the coefficients of the basis elements. Yet a
successful computation is feasible. In particular, the support of the basis elements is revealed by this approximate
process.
In the deflation step (b), new equations and new variables
are introduced in order to arrive to a new polynomial system
where the singularity is obviated. The new variables correspond to perturbations of the initial equations along specific
polynomials, which form a dual counterpart to the basis of
the dual space. One of the deflated systems that we compute
from the dual system is a square n × n system with a simple root. This improves the deflation techniques described
in [7, 8, 3], which require additional variables and possibly several deflation steps. New variables are introduced
only in the case where we want to certify the multiplicity
structure. The perturbation techniques that we use extend
the approach of [16] to general cases where the co-rank of
the Jacobian matrix could be bigger than one. The verification step (c) is mostly a contraction condition, using eg.
techniques as in [16]. This step acts on the (approximate)
deflated system, since verifying a simple solution of the deflated system induces a certificate of an exact singular point
of (a nearby to) the initial system.
We are going to detail the different steps in the following
sections, starting with notations in Sect. 2, dual basis in
Sect. 3, deflation in Sect. 4, and certification in Sect. 5. In
the last section, we will show examples and applications to
the topology analysis of curves.
2. PRELIMINARIES AND MAIN RESULTS
We denote by R = K[x] a polynomial ring over the field
K of characteristic zero. Also, the dual ring R∗ is the space
of linear functionals Λ : R → K. It is commonly identified
as the space of formal series K[[∂]] where ∂ = (∂1 , . . . , ∂n )
are formal variables. Thus we view dual elements as formal
series in differential operators at a point ζ ∈ Kn . To specify
that we use the point ζ, we also denote these differentials ∂ ζ .
When applying Λ(∂ ζ ) ∈ K[[∂ ζ ]] to a polynomial g(x) ∈ R
we will denote by Λζ [g] = Λζ g = Λ(∂ ζ )[g(x)] the operation
Λζ [g] =
X
α∈Nn
λα
d|α| g
(ζ),
· α1
n
α1 ! · · · αn ! d1 · · · dα
n
(2)
P
1 ∂ α ∈ K[[∂ ]]. Extending this definition
for Λ(∂ ζ ) =
λα α!
ζ
ζ
to an ordered set D = (Λ1 , . . . , Λµ ) ∈ K[[∂]]µ , we shall denote Dζ [g] = (Λζ1 g, . . . , Λζµ g). In some cases, it is convenient
to use normalized differentials instead of ∂: for any α ∈ Nn ,
α
α β
1
we denote dα
ζ = α! ∂ ζ . When ζ = 0, we have d0 x = 1
if α = β and 0 otherwise. More generally, (dα
ζ )α∈Nn is the
dual basis of ((x − ζ)α )α∈Nn .
For Λ ∈ R∗ and p ∈ R, let p · Λ : q 7→ Λ(p q). We check
that
d
(xi − ζi ) · ∂ α
(∂ α
(3)
ζ =
ζ ).
d∂i,ζ
This property shall be useful in the sequel.
2.1 Isolated points and differentials
Let hf i = hf1 , . . . , fs i be an ideal of R, ζ ∈ K a root of
f and mζ = hx1 − ζ1 , . . . , xn − ζn i the maximal ideal at ζ.
Suppose that ζ is an isolated root
\ of f , then a minimal priQ contains a primary
mary decomposition of I =
p Q prim.⊃I
√
component Qζ such that Qζ = mζ and Q′ 6⊂ mζ for the
other p
primary components Q′ associated to I [2].
As Qζ = mζ , R/Qζ is a finite dimensional vector space.
The multiplicity µζ of ζ is defined as the dimension of R/Qζ .
A point of multiplicity one is called regular point, or simple
root, otherwise we say that ζ is a singular isolated point, or
multiple root of f . In the latter case we have Jf (ζ) = 0.
We can now define the dual space of an isolated point.
Definition 2.1. The dual space of I is the subspace of
elements of K[[∂ ζ ]] that vanish on all the elements of I. It
is also called the orthogonal of I and denoted by I ⊥ .
Consider now the orthogonal of Qζ , i.e. the subspace Dζ
of elements of R∗ that vanish on members of Qζ , namely
Q⊥
ζ
∗
ζ
= Dζ = {Λ ∈ R : Λ [p] = 0, ∀p ∈ Qζ }.
The following lemma is an essential property that allows extraction of the local structure Dζ directly from the “global”
ideal I = hf i, notably by matrix methods outlined in Sect. 3.
Proposition 2.2 ([12, Th. 8]). For any isolated point
ζ ∈ K of f , we have hf i⊥ ∩ K[∂ ζ ] = Dζ .
In other words, we can identify Dζ = Q⊥
ζ with the space of
polynomial differential operators that vanish at ζ on every
element of I.
The space Dζ is a vector space of polynomials in ∂ ζ dimension µζ , the multiplicity of ζ. As the variables (xi − ζi )
act on R∗ as derivations (see (3)), Dζ is a space of differential polynomials in ∂ ζ , which is stable by derivation. This
property will be used explicitly in constructing Dζ (Sec. 3).
Definition 2.3. The nilindex of Qζ is the maximal integer N ∈ N s.t. mN
ζ 6⊂ Qζ .
It is directly seen that the maximal degree of an element of
Dζ has to be equal to N , also known as the depth of Dζ .
2.2 Quotient ring and dual structure
In this section we explore the relation between the dual
ring and the quotient R/Qζ where Qζ is the primary component of the isolated point ζ. We show how to extract a
basis of this quotient ring from the support of the elements
of Dζ and how Dζ can be used to reduce any polynomial
modulo Qζ .
It is convenient in terms of notation to make the assumption ζ = 0. This saves some indices, while it poses no constraint (since it implies a linear change of coordinates), and
shall be adopted hereafter and in the next section.
Let suppD0 be the set of exponents of monomials appearing in D0 , with a non-zero coefficient. These are of degree
at most N , the nilindex of Q0 . Since ∀Λ ∈ D0 , Λ0 [p] = 0 iff
p ∈ Q0 , we derive that supp D0 = {α : xα ∈
/ Q0 }. In particular, we can find a basis of R/Q0 between the monomials
{xα : α ∈ supp D}. This is a finite set of monomials, since
their degree is bounded by the nilindex of Q0 .
Given a standard basis B = (xβi )i=1,...,µ of R/Q0 and, for
all monomials xγ j ∈
/ Q0 , j = 1, . . . , s − µ, s = #supp D0 ,
with xγ j ∈
/ B, the expression (normal form) of
xγ j =
µ
X
λij xβ i
mod Q0
i=1
(4)
in the basis B then the dual elements [12, Prop. 13]
s−µ
Λi = dβi +
X
λij dγ j ,
(5)
j=1
for i = 1, . . . , µ form a basis of D0 . We give a proof of this
fact in the following lemma.
Lemma 2.4. The set of elements D = (Λi )i=1,...,µ is a basis of D0 and the normal form of any g(x) ∈ R with respect
to the standard basis B = (xβi )i=1,...,µ is
NF(g) =
µ
X
Λ0i [g] xβi .
(6)
i=1
Proof. First note that the elements
P of D are linearly independent. Now, by construction, µi=1 Λ0i [xα ] = NF(xα )
for all xα ∈
/ Q0 , eg. NF(xβi ) = xβi . Also, for xα ∈ Q0 ,
0
α
∀i, Λi (x ) = 0, since α ∈
/ supp D. Thus the elements of D
compute NF(·) on all monomials of R, and (6) follows by linearity. We deduce that D is a basis of D0 , as in Def. 2.1.
Computing the normal form of the border monomials of B
via (6) also yields the border basis relations and the operators of multiplication in the quotient R/Q0 (see eg. [5] for
more properties).
If a graded monomial ordering is fixed and B = (xβi )i=1,..,µ
is the corresponding standard basis of R/Q0 , then dβi is the
leading term of (5) wrt the opposite ordering [8, Th. 3.1].
Conversely, if we are given a basis D of D0 whose coefficient matrix in the dual monomials basis (dα )α∈Q
/ 0 is
D ∈ Kµ×s , we can compute a basis of R/Q0 by choosing µ
independent columns of D, say those indexed by dβi , i =
1, . . . , µ . If G ∈ Kµ×µ is the (invertible) matrix formed by
these columns, then D′ := G−1 D, is
β1
Λ′1
′
D = ..
.
Λ′µ
···
1
..
0
βµ
γ1
···
0
λ1,1
..
.
λµ,1
···
.
1
···
γ s−µ
λ1,s−µ
..
,
.
λµ,s−µ
(7)
i.e. a basis of the form (5). Note that an arbitrary basis of D
does not have the above diagonal form, nor does it directly
provide a basis for R/Q0 .
For t ∈ N, Dt denotes the vector space of polynomials of
D of degree ≤ t. The Hilbert function h : N → N is defined
by h(t) = dim(Dt ), t ≥ 0, hence h(0) = 1 and h(t) = dim D
for t ≥ N . The integer h(1) − 1 = corank Jf is known as the
breadth of D.
3.COMPUTING LOCAL RING STRUCTURE
The computation of a local basis, given a system and a
point, is done essentially by matrix-kernel computations,
and consequently it can be carried out numerically, even
when the point or even the system is inexact. Throughout
the section we suppose f ∈ Rm and ζ ∈ Kn with f (ζ) = 0.
Several matrix constructions have been proposed, that use
different conditions to identify the dual space as a null-space.
They are based on the stability property of the dual basis:
∀ Λ ∈ Dt ,
d
Λ ∈ Dt−1 ,
d∂i
i = 1, . . . , n.
(8)
We list existing algorithms that compute dual-space bases:
• As pointed out in (3), an equivalent form of (8) is: ∀Λ ∈
Dt , Λ[xi fj ] = 0, ∀i, j = 1, . . . , n. Macaulay’s method [9] uses
it to derive the algorithm that is outlined in Sect. 3.1.
• In [11] they exploit (8) by forming the matrix Di of the
d
map
: K[∂]t → K[∂]t−1 for all i = 1, . . . , n and some
d∂i
triangular decomposition of the differential polynomials in
terms the differential variables. This approach was used in
[18] to reduce the row dimension of Macaulay’s matrix, but
not the column dimension. The closedness condition is also
used in [21] to identify a superset of supp Dt+1 .
• The integration method in [12] “integrates” elements of
a basis of Dt , and obtains a priori knowledge of the form of
elements in degree t + 1 (Sect. 3.2).
All methods are incremental, in the sense that they start
by setting D0 = (1) and continue by computing Di , i =
1, . . . , N, N + 1. When #DN = #DN+1 then DN is a basis
of D, and N is the nilindex of Q.
We shall review two of these approaches to compute a
basis for D, and then describe an improvement, that allows simultaneous computation of a quotient ring basis while
avoiding redundant computations.
3.1 Macaulay’s dialytic matrices
This matrix construction is presented in [9, Ch. 4], a modern introduction is contained in [3], together with an implementation of the method in ApaTools1 .
The idea behind the algorithm is the
An eleXfollowing:
λα dα under the
ment of D is of the form Λ(∂) =
|α|≤N
condition:
Λ0 evaluates to 0 at any g ∈ hf i, i.e. Λ0 (g) =
0 P
Λ ( gi fi ) = 0 ⇐⇒ Λ0 (xβ fi ) = 0 for all monomials xβ .
If we apply this condition recursively for |α| ≤ N we get
a vector of coefficients (λα )|α|≤N in the (right) kernel of
the matrix with rows indexed by constraints Λ0 [xβ f i ] = 0,
|β| ≤ N − 1.
Note that the only requirement is to be able to perform
derivation of the input equations and evaluation at ζ = 0.
Example 3.1. Let f1 = x1 −x2 +x21 , f2 = x1 −x2 +x22 . We
also refer the reader to [3, Ex. 2] for a detailed demonstration
of Macaulay’s method on the same instance. The matrices
in order 1 and 2 are:
f1
f2
1
1
0
0
d1
1
1
f1
d2
f2
−1
, x 1 f1
−1
x 1 f2
x 2 f1
x 2 f2
1
0
0
0
0
0
0
d1
1
1
0
0
0
0
d2
−1
−1
0
0
0
0
d21
1
0
1
1
0
0
http://www.neiu.edu/ zzeng/apatools.htm
d1 d2
0
0
−1
−1
1
1
d22
0
1
0 .
0
−1
−1
The kernel of the left matrix gives D1 = (1, d1 + d2 ). Expanding up to order two, we get the matrix on the right,
and D2 = (1, d1 + d2 , −d1 + d21 + d1 d2 + d22 ). If we expand
up to depth 3 we get the same null-space, thus D = D2 . 2
3.2 Integration method
This method is presented in [12]. It is an evolution of
Macaulay’s method, in the sense that the matrices are not
indexed by all differentials, but just by elements based on
knowledge of the previous step. This performs a computation adapted to the given input and results in smaller matrices.
R
For Λ ∈ K[∂], we denote by k Λ the element Φ ∈ K[∂]
with the property d∂d Φ(∂) = Λ(∂) and with no constant
k
term wrt ∂k .
Theorem 3.2 ( [12, Th. 15] ). Let hΛ1 , Λ2 , . . . , Λs i be
a basis of Dt−1 , that is, the subspace of D of elements of order at most t − 1. An element Λ ∈ K[∂] with no constant
term lies in Dt iff it is of the form:
Λ(∂) =
n
s X
X
λik
i=1 k=1
R
k
Λi (∂1 , . . . , ∂k , 0, . . . , 0),
(9)
for λik ∈ K, and the following two conditions hold:
(i)
s
X
s
X
d
d
λil
Λi (∂) −
Λi (∂) = 0,
d∂
d∂
l
k
i=1
i=1
for all 1 ≤ k ≤ l ≤ n .
λik
(ii) Λζ [fk ] = 0, for k = 1, . . . , n .
Condition (i) is equivalent to d∂dk Λ ∈ Dt−1 , for 1 ≤ k ≤ n.
Thus the two conditions express exactly the fact that D
must be stable by derivation and his members must vanish
on hf i.
This gives the following algorithm to compute the dual
basis: Start with D0 = h1i. Given
R a basis of Dt−1 we generate the ns candidate elements k Λi−1 (∂1 , . . . , ∂k , 0, . . . , 0).
Conditions (i) and (ii) give a linear system with unknowns
λik . The columns of the corresponding matrix are indexed
by the candidate elements. Then the kernel of the matrix
gives the possible solutions, which we add to Dt−1 to obtain
Dt . If for some t there are no further new elements, then
D = Dt is a basis of D.
Example 3.3. Consider the instance of Ex. 3.1. We have
f1 (ζ) = f2 (ζ) = 0, thus we set D0 = {1}. Equation (9) gives
Λ = λ1 d1 + λ2 d2 . Condition (i) induces no constraints and
(ii) yields the system
1
1
−1
−1
λ1
λ2
=0
(10)
where the columns are indexed by d1 , d2 . We get λ1 = λ2 =
1 from the kernel of this matrix, thus D1 = {1, d1 + d2 }.
For the second step, we compute the elements of D2 , that
must be of the form Λ = λ1 d1 + λ2 d2 + λ3 d21 + λ4 (d1 d2 + d22 ).
Condition (i) yields λ3 − λ4 = 0, and together with (ii) we
form the system
0
1
1
0
−1
−1
1
1
0
λ1
−1
0 .. = 0,
.
1
λ4
(11)
with columns indexed by d1 , d21 , d2 , d1 d2 + d22 . We get two
vectors in the kernel, the first yielding again d1 + d2 and a
second one for λ1 = −1, λ2 = 0, λ3 = λ4 = 1, so we deduce
that −d1 + d21 + d1 d2 + d22 is a new element of D2 .
In the third step we have
Λ =λ1 d1 + λ2 d2 + λ3 d21 + λ4 (d1 d2 + d22 )+
λ5 (d31 − d21 ) + λ6 (d32 + d1 d22 + d21 d2 − d1 d2 ),
condition (i) leads to λ3 − λ4 + (λ5 − λ6 )d1 + (λ5 − λ6 )d2 = 0,
and together with condition (ii) we arrive to
0
0
1
1
0
0
−1
−1
0
1
1
0
0
−1
0
1
1
0
−1
0
−1
λ1
0 .
= 0.
.
0 .
λ6
0
(12)
Since the kernel of this matrix gives elements that are already in D2 , we derive that D = D2 = D3 and the algorithm
terminates.
Note that for this example Macaulay’s method ends with
a matrix of size 12 × 10, instead of 4 × 6 in this approach. 2
3.3 Computing a primal-dual pair
In this section we provide a process that allows simultaneous computation of a basis pair (D, B) of D and R/Q.
Computing a basis of D degree by degree involves duplicated computations. The successive spaces computed are
D1 ⊂ · · · ⊂ DN = DN+1 . It is more efficient to compute only
new elements Λ ∈ Dt which are independent in Dt /Dt−1 at
step t.
Also, once dual basis is computed, one has to transform it
into the form (5), in order to identify a basis of R/Q as well.
This transformation can be done a posteriori, by finding a
sub-matrix of full rank and then performing Gauss-Jordan
elimination over this sub-matrix, to reach matrix form (7).
We introduce a condition (iii) extending Th. 3.2, that addresses these two issues: It allows the computation of a total
of µ independent elements throughout execution, and returns a “triangular basis”, e.g. a basis of R/Q is identified.
Lemma 3.4. Let Dt−1 = (Λ1 , . . . , Λk ) be a basis of Dt−1 ,
whose coefficient matrix is
Λ1
.
..
Λk
β1
···
βk
γ1
···
γs−k
1
∗
∗
∗
.
..
∗
···
∗
.
..
∗
0
0
..
0
.
∗
1
···
,
(13)
yielding the standard basis B = (xβi )i=1,...,k . An element
Λ ∈ K[∂] is not zero in Dt /Dt−1 iff in addition to (i), (ii)
of Th. 3.2 we impose:
(iii) Λ[xβ i ] = 0, 1 ≤ i ≤ k .
Proof. Let Λ ∈ K[∂] be a non-zero functional satisfying
(i), (ii) and (iii). Then Λ ∈ Dt and Λ[xβi ] = 0 for i =
Pk
1, . . . , k. If Λ ∈ Dt−1 , then Λ =
i=1 λi Λi . Take for
i0 the minimal i such that λi 6= 0. Then Λ[xβ i0 ] = λi0 ,
which is in contradiction with condition (iii). Thus, the nonzero solutions of (i), (ii) and (iii) correspond to the elements
which are not zero in Dt /Dt−1 .
The above constraint is easy to realize; it is equivalent
β
to ∀i, dζ i ∈
/ supp Λζ , which implies adding a row (linear
constraint) for every i. In many cases this constraint is just
λik = 0 for some i, k, thus we rather remove the column
corresponding to λik instead of adding a row. Either way,
this lemma allows to shrink the kernel of the matrix and
compute only new dual elements.
Let us explore our running example, to demonstrate the
essence of this improvement.
Example 3.5. We re-run Ex. 3.3 using Lem. 3.4.
In the initialization step D0 = (1) is already in triangular
form with respect to B0 = {1}. For the first step, we demand
Λ[1] = 0, thus the matrix is the same as (10), yielding
D1 = (1, d1 + d2 ). We extend B1 = {1, x2 }, so that D1 is
triangular with respect to B1 .
In the second step we remove from (11) the second column, hence
0
1
1
1
1
0
−1
λ1
0 λ3 = 0,
1
λ4
yielding a single solution −d1 + d21 + d1 d2 + d22 . We extend
B1 by adding monomial x1 : B1 = {1, x2 , x1 }.
For the final step, we search an element with Λ[x1 ] =
Λ[x2 ] = 0 thus (12) loses two columns:
0
1
1
0
0
−1
0
1
1
0
−1
0
−1
λ3
0 .
= 0.
.
0 .
λ6
0
We find an empty kernel, thus we recover the triangular
basis D = D2 , which is then diagonalized to reach the form:
1
Λ1
1
Λ2 0
Λ3
0
d2
0
1
0
d1
0
0
1
d21
0
1
−1
d1 d2
0
1
−1
d22
0
1 .
−1
This diagonal basis is dual to the basis B = (1, x2 , x1 ) of
the quotient ring and also provides a normal form algorithm
(Lem. 2.4) wrt B. In the final step we generated a 4 × 4
matrix, size smaller compared to all previous methods. 2
This technique for computing B can be applied similarly to
other the matrix methods, e.g. Macaulay’s dialytic method.
If h(t) − h(t − 1) > 1, ie. there are more than one elements in step t, then the choice of monomials to add to B is
obtained by extracting a non-zero maximal minor from the
coefficient matrix in (dα ). In practice, we will look first at
the monomials of smallest degree.
3.4 Approximate dual basis
In our deflation method, we assume that the multiple
point is known approximately and we use implicitly Taylor’s
expansion of the polynomials at this approximate point to
deduce the dual basis, applying the algorithm of the previous section. To handle safely the numerical problems which
may occur, we utilize the following techniques:
• At each step, the solutions of linear system (9, i-iii)
are computed via Singular Value Decomposition. Using a
given threshold, we determine the numerical rank and an
orthogonal basis of the solutions from the last singular values
and the last columns of the right factor of the SVD.
• For the computation of the monomials which define the
equations (3.4, iii) at the next step, we apply QR decomposition on the transpose of the basis to extract a non-zero
maximal minor. The monomials indexing this minor are
used to determine constraints (9, i-iii). A similar numerical
technique is employed in [21], for Macaulay’s method.
4.
DEFLATION OF A SINGULAR POINT
We consider a system of equations f = (f1 , . . . , fs ), which
has a multiple point at x = ζ. Also, let B = (b1 , . . . , bµ ) be
a basis of R/Qζ and D = (Λ1 , . . . , Λµ ) its dual counterpart,
with Λ1 = 1.
We introduce a new set of equations starting from f , as
follows:
add for every fi the polynomial gk = fk + pk , pk =
Pµ
i=1 εi,k bi where εk = (ε1,k , . . . , εµ,k ) is a new vector of µ
variables.
Consider the system
Dg(x, ε) = Λ1 (∂ x )[g], . . . , Λµ (∂ x )[g] .
where Λx [gk ] = Λi (∂ x )[gk ] is defined as in (2) with ζ replaced by x, ie. we differentiate gk but we do not evaluate
at ζ. This is a system of µs equations, which we shall index
Dg(x, ε) = (g1,1 , . . . , gµ,s ). We have
x
x
x
gik (x, ε) = Λx
i [fk +pk ] = Λi [fk ]+Λi [pk ] = Λi [fk ]+pik (x, ε).
Notice that pi,k (ζ, ε) = Λζi [pk ] = εi,k because D = (Λ1 , .., Λµ )
is dual to B.
As the first basis element of D is 1 (the evaluation at the
root), the first s equations are g(x, ε) = 0.
Note that this system is under-determined, since the number of variables is µ s + n and the number of equations is
µs. We shall provide a systematic way to choose n variables
and purge them (or better, set them equal to zero).
This way we arrive to a square system Dg(x, ε̃) (we use ε̃
for the remaining µs − n variables) of size µs × µs. We
shall prove that this system vanishes on (ζ, 0) and that
JDg (ζ, 0) 6= 0.
By linearity of the Jacobian matrix we have
JDg (x, ε) = JDf (x, ε) + JDp (x, ε)
ε
x
(x, ε) ],
(x, ε) | JDp
= [ JDf (x) | 0 ] + [ JDp
x
ε
where JDp
(x, ε) (resp. JDp
(x, ε)) is the Jacobian matrix of
Dp with respect to x (resp. ε).
ε
Lemma 4.1. The Jacobian JDp
(x, ε) of the linear system
Dp = (p1,1 , . . . , pµ,s ) with pi,k (εk ) = Λx
i [pk ](x, εk ) evaluated
at (x, ε) = (ζ, 0) is the identity matrix in dimension µs.
Proof of Lemma 4.1. First note that the system is block
separated, i.e. every pik depends only on variables εi and not
on all variables ε = (ε1 , . . . , εn ). This shows that Jpε (x, ε)
is block diagonal,
ε
JDp
(x, ε)
=
J1
0
..
.
0
Jµ
.
Now we claim that all these blocks are all equal to the
identity matrix. To see this, consider their entry ∂εkj [pik ]
for i, j = 1, . . . , µ, which is
d
d
1 ,i = j
x
,
Λx
pk ] = Λi [bj ] =
i−1 [pk ] = Λi [
0 , otherwise
dεkj
dεjk
since
d
dεj,k
pk =
d
(bj εj,k )
dεj,k
= bj .
Lemma 4.2. The µs × n Jacobian matrix JDf (x) of the
system Df (x) = (f1 , . . . , fµn ) is of full rank n at x = ζ.
Proof of Lemma 4.2. Suppose that the matrix is rankdeficient. Then there is a non-trivial vector in its kernel,
JDf (ζ) · v = 0.
The entries of v are indexed by ∂i . This implies that a nonzero differential ∆ = v1 ∂1 + · · · + vn ∂n of order one satisfies
the following relations: (∆Λi )ζ [fj ] = 0, i = 1, . . . , µ, j =
1, . . . , s. By the standard derivation rules, we have
d
d
(∆Λi ) = vk Λi + ∆
Λi ,
d∂k
d∂k
for i = 1, . . . , µ, , k = 1, . . . , n. Since D is stable by derivation, d∂d Λi ∈ D. We deduce that the vector space spanned
k
by hD, ∆Di is stable by derivation and vanishes on f at ζ.
By Proposition 2.2, we deduce that ∆D ⊂ D. This is a
contradiction, since ∆ is of degree 1 and the the elements in
D are of degree ≤ N .
The columns of JDg (x, ε) are indexed by the variables (x, ε),
while the rows are indexed by the polynomials gik . We construct the following systems:
(a) Let Df I be a subsystem of Df such that the corresponding n rows of JDf (ζ) are linearly independent
(Lem. 4.2). We denote by I = {(i1 , k1 ), . . . , (in , kn )}
their indices.
(b) Let Dg̃(x, ε̃) be the square system formed by removing
the variables εi1 ,k1 , . . . , εin ,kn from Dg(x, ε). Therefore the Jacobian JDg̃ (x, ε̃) derives from JDg (x, ε), after purging the columns indexed by εi1 ,k1 , . . . , εin ,kn ,
T
and it’s (ij , kj ) row becomes [∇(Λx
ij g̃ij ,kj ) | 0 ].
Theorem 4.3 (Deflation Theorem 1). Let f (x) be
a n−variate polynomial system with an µ−fold isolated zero
at x = ζ. Then the n × n system Df I (x) = 0, defined in
(a), has a simple root at x = ζ.
Proof. By construction, ζ is a solution of Df I (x) = 0.
Moreover, the indices I are chosen such that det JDf I (ζ) 6=
0. This shows that ζ is a simple (thus isolated) root of the
system Df I (x) = 0.
Example 4.4. In our running example, we expand the
rectangular Jacobian matrix of 6 polynomials in (x1 , x2 ).
Choosing the rows corresponding to f1 and (d1 − d22 − d1 d2 −
d21 )[f1 ], we find a non-singular minor, hence the resulting
system (f1 , 2x1 ) has a regular root at ζ = (0, 0).
2
The deflated system Df I (x) = 0 is a square system in n
variables. Contrarily to the deflation approach in [7, 3], we
do not need to introduce new variables here and one step
of deflation is sufficient. In the following theorem, we do
introduce new variables to express the condition that the
perturbed system has a given multiplicity structure.
Theorem 4.5 (Deflation Theorem 2). Let f (x) be
a n−variate polynomial system with an µ−fold isolated zero
at x = ζ. The square system Dg̃(x, ε̃) = 0, as defined in
(b), has a regular isolated root at (x, ε̃) = (ζ, 0).
Proof. By definition of D, we have
Dg̃(ζ, 0) = (Λζ1 [f ], . . . , Λζµ [f ]) = 0.
Moreover, by construction of Dg̃ we get, up to a row permutation, the determinant:
±det JDg̃ (ζ, 0) = det
J1
J2
0
I
= det J1 6= 0,
where J1 = JDf I (ζ). This shows that (ζ, 0) is regular
and thus isolated point of the algebraic variety defined by
Dg̃(x, ε̃) = 0.
Nevertheless, this deflation does differ from the deflation
strategy in [7, 3]. There, new variables are added that correspond to coefficients of differential elements, thus introducing a perturbation in the approximate dual basis, in case
of approximate input. Hence the output concerns a deflated
root of the given approximate system. In our method, we
perturb the equations, keeping an approximate structure of
a multiple point. Consequently, the certification of a root
concerns a nearby system, within controlled error bounds,
as it shall be described in Sect. 5.
We mention that it would also be possible to use the equations (9, i-iii) to construct a deflated system on the differentials and to perturb the approximate dual structure.
5. VERIFYING APPROXIMATE SINGULAR
POINTS
In real-life applications it is common to work with approximate inputs. Also, there is the need to (numerically)
decide if an (approximate) system possesses a single (real)
root in a given domain, notably for use in subdivision-based
algorithms, eg. [13, 10].
In the regular case, Smale’s α−theory, extending Newton’s method, can be used to answer this problem. Another
option is Rump’s Theorem, also based on Newton theory.
In our implementation we choose this latter approach, since
it is suitable for inexact data and suits best with the perturbation which is applied. Our perturbation coincides to the
numerical scheme of [16] in the univariate case.
The certification test is based on the verification method
of Rump [16, Th. 2.1], which we rewrite in our setting:
Theorem 5.1 ([16] Rump’s Theorem). Let f ∈ Rn
be a polynomial system and ζ ∗ ∈ Rn a real point. Given
an interval domain Z ∈ IRn containing ζ ∗ ∈ Rn , and an
interval matrix M ∈ IRn×n whose i−th column Mi satisfies
∇fi (Z) ⊆ Mi for i = 1 . . . , n, then the following holds:
If the inclusion
◦
V (f , Z, ζ ∗ ) = −Jf (ζ ∗ )−1 f (ζ ∗ ) + (I − Jf (ζ ∗ )−1 M )Z ⊆Z
(14)
is true, then there is a unique ζ ∈ Z with f (ζ) = 0 and the
Jacobian matrix Jf (ζ) ∈ M is non-singular.
This theorem is applied on the perturbed system. If the
test succeeds, we also get a domain for ε−variables that reflects the distance of the approximate system from a precise
system with the computed local structure.
Example 5.2. We start with an approximate system: f1 =
1.071x1 −1.069x2 +1.018x21 , f2 = 1.024x1 −1.016x2 +1.058x22
and the domain: Z = [−.01, .03] × [−.03, .01]. The Jacobian
at x = (0, 0) evaluates to .00652, hence it is close to singular.
We set the tolerance equal to .04, i.e. the size of the
domain, and we consider the center of the box as our approximate point, ζ ∗ = (.01, −.01).
First we compute approximate multiplicity structure at
ζ ∗ , D = (1, d2 + 1.00016d22 + .99542d1 d2 + 1.03023d21 , d1 −
1.00492d22 − 1.00016d1 d2 − 1.03514d21 ) as well as (1, x2 , x1 ),
a standard basis for the quotient. The latter indicates to
perturb up to linear terms.
Now apply the second deflation theorem 4.5 to get the
6×6 system g = (1.018 x21 +1.071 x1 +(ε12 − 1.069) x2 , ε12 −
.02023, .01723 + 2.036 x1 , 1.058 x22 + (1.024 + ε23 )x1 + (ε22 −
1.016)x2 + ε21 , .04217 + 2.116 x2 + ε22 , ε23 − .03921), which
has a regular root for ζ ∈ Z and parameters (ε12 , ε21 , ε22 , ε23 ).
Indeed, applying Theorem 5.1 with Z ′ = Z ×[−.04, .04]4 and
◦
(ζ ∗ , 0, .., 0) we get an inclusion V (g, Z ′ , ζ ∗ ) ⊆Z ′ .
2
6. GEOMETRY AROUND A SINGULARITY
As a final step in analyzing isolated singularities, we show
how the local basis can be used to compute the topological
degree around the singular point. If the latter is a selfintersection point of a real algebraic curve, one can deduce
the number of curve branches that pass through it.
Topological degree computation. Let f (x) be a square
n−variate system with an µ−fold isolated zero at x = ζ. To
a linear form Λ ∈ R[∂ ζ ], we associate the quadratic form
QΛ : R/Q × R/Q → R
,
(bi , bj ) 7→ Λ(bi bj )
(15)
for R/Q = hb1 , . . . , bµ i. The signature of this (symmetric
and bi-linear) form is the sum of signs of the diagonal entries
of any diagonal matrix representation of it.
Proposition 6.1 ([4, Th. 1.2]). If QΦ , Φ ∈ D is any
bi-linear symmetric form such that Φζ [det Jf (x)] > 0, then
tdegζ (f ) = sgn(QΦ ).
(16)
This signature is independent of the bi-linear form used.
We can use this result to compute the topological degree
at x = ζ using the dual structure at ζ. Since a basis D is
available we set Φ = ±Λi , for some basis element that is not
zero on det Jf (x). Indeed, such an element can be retrieved
among the basis elements, since det Jf ∈
/ hf i, see [5, Ch. 0].
In practice it suffices to generate a random element of
D, compute it’s matrix representation [Φ(bi bj )]ij , and then
extract the signature of QΦ .
Branches around a singularity. In the context of computing with real algebraic curves, the identification of selfintersection points is only the first step of determining the
local topology. As a second step, one needs to calculate the
number of branches attached to the singular point ζ, hereafter denoted Br(f , ζ). This information is encoded in the
topological degree.
An implicit curve in n−space is given by all points satisfying f (x) = 0, f = (f1 , . . . , fn−1 ). Consider p(x) = (x1 −
ζ1 )2 + · · · + (xn − ζn )2 , and g(x) = det J(f ,p) (x). Then ([19]
and references therein):
Br(f , ζ) = 2 tdegζ (f , g).
(17)
This implies an algorithm for Br(f , ζ). First compute the
primal-dual structure of (f , g) at ζ and then use Prop. 6.1
to get tdegζ (f , g).
Example 6.2. Consider the implicit curve f (x, y) = 0, in
xy−plane, with f (x, y) = x4 + 2x2 y 2 + y 4 + 3x2 y − y 3 , that
looks like this
. We search for the number of branches
touching ζ = (0, 0).
We compute g(x, y) = J(f,x2 +y 2 ) = 18xy 2 − 6x3 , and then
the multiplicity structure of (f, g) at ζ, and we arrive to the
standard basis B = (1, y, x, y 2 , xy, x2 , y 3 , xy 2 , x2 y). Among
the 9 elements of the dual basis, we find Φ = d3y + 38 d4y +
1 2 2
d d + 38 d4x , having value Φ0 [det J(f,g) (x)] = 54 > 0 on the
8 x y
Jacobian determinant.
Using B and (6), we get the 9 × 9 matrix representation of
QΦ (15) with ij−th entry Φ[NF(xβi xβ j )], and we compute
tdegζ (f, g) = sgn QΦ = 3, thus Br(f, (0, 0)) = 6.
2
7.
EXPERIMENTATION
Our method is developed in Maple. It uses Mourrain’s
Integration technique to compute (approximate) dual basis
and derive the augmented system of Th. 4.5. Then Rump’s
method is used to verify the root. Macaulay’s method is also
implemented for testing purposes.
Example 7.1. Consider the system [8] of 3 equations in 2
variables f1 = x31 + x1 x22 , f2 = x1 x22 + x32 , f3 = x21 x2 + x1 x22 ,
and the singular point (0, 0).
Suppose that the point is given. Using 3.2 and 3.4 we
derive the primal-dual pair D = (1, d1 , d2 , d21 , d1 d2 , d22 , d32 +
d31 + d21 d2 − d1 d22 ), where d32 is underlined to show that it corresponds to x32 in the primal standard basis B. The biggest
matrix used, in depth 4, was of size 9 × 8, while Macaulay’s
method terminates with a matrix of size 30 × 15.
To deflate the root, we construct the augmented system
x
Df of 21 equations. The 21 × 2 Jacobian matrix JDf
is of
rank 2 and a full-rank minor consists of the rows 4 and 5.
Consequently find the system (d21 [f1 ], d1 d2 [f1 ]) = (3x1 , 2x2 )
which deflates (0, 0). Note that even though both equations
of the deflated system derive from f1 , the functionals used
on f1 are computed using all initial equations.
2
Example 7.2. Let, as in [6, 8], f1 = 2x1 + 2x21 + 2x2 +
+ x23 − 1, f2 = (x1 + x2 − x3 − 1)3 − x31 , and f3 =
+ 2x22 + 10x3 + 5x23 + 5)3 − 1000x51 .
Point (0, 0, −1) occurs with multiplicity equal to 18, in
depth 7. The final matrix size with our method is 206 × 45,
while Macaulay’s method ends with a 360 × 165 matrix.
If the objective is to deflate as efficiently as possible, then
one can go step by step: First compute a basis for D1 and
stop the process. We get the evaluation 1 and 2 first order
functionals, which we apply to f1 . We arrive to (1[f1 ], (d2 −
d1 )[f1 ], (d1 + d3 )[f1 ]) = (f1 , −4x1 + 4x2 , 2 + 4x1 + 2x3 ) and
we check that the Jacobian determinant is 64, thus we have
a deflated system only with a partial local structure.
2
2x22
2x31
Table 7 shows computations on the benchmark set of [3].
Multiplicity, matrix sizes at termination step are reported.
Sys.
cmbs1
cmbs2
mth191
decker2
Ojika2
Ojika3
KSS
Caprasse
Cyclic 9
DZ1
DZ2
DZ3
µ
11
8
4
4
2
4
16
4
4
131
7
5
Integration
33 × 23
21 × 17
10 × 9
5×5
6×5
24 × 9
569 × 69
34 × 13
369 × 33
1450 × 524
73 × 33
14 × 8
Macaulay
105 × 56
60 × 35
30 × 20
20 × 15
12 × 10
60 × 35
630 × 252
60 × 35
495 × 33
4004 × 1365
360 × 165
30 × 21
Table 1: Benchmark systems from [3].
Acknowledgments. This research has received funding
from the EU’s 7th Framework Programme [FP7/2007-2013],
Marie Curie ITN SAGA, grant no [PITN-GA-2008-214584].
8. REFERENCES
[1] L. Alberti, B. Mourrain, & J. Wintz. Topology and
arrangement computation of semi-algebraic planar
curves. CAGD, 25:631–651, November 2008.
[2] M.F. Atiyah & I.G. MacDonald. Introduction to
Commutative Algebra. Addison-Wesley, 1969.
[3] B. H. Dayton & Z. Zeng. Computing the multiplicity
structure in solving polynomial systems. In
ISSAC ’05,, pp. 116–123, 2005. ACM.
[4] D. Eisenbud & H.I. Levine. An algebraic formula for
the degree of a c∞ map germ. The Annals of
Mathematics, 106(1):pp. 19–44, 1977.
[5] M. Elkadi & B. Mourrain. Introduction à la résolution
des systèmes d’équations algébriques, vol. 59 of
Mathématiques et Applications. Springer, 2007.
[6] G. Lecerf. Quadratic newton iteration for systems
with multiplicity. Fo. Comp. Math., 2:247–293, 2002.
[7] A. Leykin, J. Verschelde, & Zhao A. Newton’s method
with deflation for isolated singularities of polynomial
systems. TCS, 359(1-3):111 – 122, 2006.
[8] A. Leykin, J. Verschelde, & A. Zhao. Higher-order
deflation for polynomial systems with isolated singular
solutions. vol. 146 of The IMA Volumes in Math. and
its Appl., pp. 79–97, 2008.
[9] F.S. Macaulay. The algebraic theory of modular
systems. Cambridge Univ. Press, 1916.
[10] A. Mantzaflaris, B. Mourrain, & E. Tsigaridas.
Continued fraction expansion of real roots of polynomial systems. In Proc. of SNC ’09, pp. 85–94, 2009.
[11] M. G. Marinari, T. Mora, & H.M. Möller. Gröbner
duality and multiplicities in polynomial system
solving. In Proc. of ISSAC ’95, pp. 167–179, 1995.
[12] B. Mourrain. Isolated points, duality and residues. J.
of Pure & App. Alg., 117-118:469 – 493, 1997.
[13] B. Mourrain & J. P. Pavone. Subdivision methods for
solving polynomial equations. J. Symb. Comp.,
44:292–306, March 2009.
[14] T. Ojika, S. Watanabe, & T. Mitsui. Deflation algorithm for multiple roots of a system of nonlinear equations. J. of Math. An. & Appls., 96(2):463–479, 1983.
[15] S.R. Pope & A. Szanto. Nearest multivariate system
with given root multiplicities. JSC,44(6):606-625,2009.
[16] S. Rump & S. Graillat. Verified error bounds for
multiple roots of systems of nonlinear equations. Num.
Algs., 54:359–377, 2010.
[17] Michael Shub & Steve Smale. Complexity of Bezout’s
theorem I: Geometric aspects. J. of the AMS,
6(2):459–501, 1993.
[18] H. J. Stetter. Analysis of zero clusters in multivariate
polynomial systems. In Proc. of ISSAC ’96, pp.
127–136, New York, NY, USA, 1996. ACM.
[19] Zbigniew Szafraniec. Topological degree and quadratic
forms. J. of Pure & App. Alg., 141(3):299 – 314, 1999.
[20] X. Wu & L. Zhi. Computing the multiplicity structure from geometric involutive form. In Proc. of ISSAC
’08, pp. 325–332, 2008. ACM.
[21] Z. Zeng. The closedness subspace method for
computing the multiplicity structure of a polynomial
system. vol. 496 of Contemporaty Mathematics, pp.
347–362. AMS. Providence, RI, 2009.
APPENDIX
We attach additional examples that did not fit page limits.
Verification Example.
Let f1 = (x21 x2 − x1 x22 , f2 = x1 − x22 ). The verification
method of [16] applies a linear perturbation on this system,
but fails to certify the root x = (0, 0).
We consider an approximate point ζ ∗ = (.01, .002) and
we compute the approximate multiplicity structure:
D = (Λ1 , . . . , Λ4 ) =
(1.0, 1.0d2 , 1.0d1 +1.0d22 , 1.0d1 d2 +1.0d32 )
The augmented system g(x) = (Λj (fi )) = (f1 , 2.0x1 x2 −
1.0x22 −1.0x1 , 2.0x1 −2.0x2 , 1.0x1 −1.0x22 , f2 , −2.0x2 , 0., 0.)
has a Jacobian matrix:
.00 .016 −.99 2.0
1.0
0
0 0
Jg (ζ ∗ )T =
.00 −.02 .016 −2.0 −.004 −2.0 0 0
Example 6.2 (Cont’d).
Consider the implicit curve f (x, y) = 0, in xy−plane, with
f (x, y) = x4 + 2x2 y 2 + y 4 + 3x2 y − y 3 ,
. We search for the number of branches
that looks like this
touching ζ = (0, 0).
This point is of multiplicity 4, as the dual basis we get for
f (x, y) =
d
d
f (x, y) =
f (x, y) = 0
dx
dy
is (1, dx , dy , d2x + d2y ), which provides no information for the
number of branches.
We compute
g(x, y) = J(f,x2 +y 2 ) = 18xy 2 − 6x3 ,
f5 = x1 − x22 + ε21 + ε22 x2 + ε23 x1 + ε24 x1 x2
and then the multiplicity structure of (f, g) at ζ, and we
arrive to
3
1
3
D =(1, dy , dx , d2y , dx dy , d2x , d3y + d4y + d2x d2y + d4x ,
8
8
8
9 4 3 2 2 9 4
2
3
2
dx dy + 3 dx , dx dy − dy − dx dy − dx ),
8
8
8
and the standard basis
Thus g(x1 , x2 , ε11 , ε12 , ε21 , ε22 , ε23 , ε24 ), computed as before,
is a square system with additional equations
B = (1, y, x, y 2 , xy, x2 , y 3 , xy 2 , x2 y).
with a non-zero minor at the third and forth row. Using
this information, we apply the following perturbation to the
original system:
f1 = x21 x2 − x1 x22 + ε11 + ε12 x2
Among the 9 elements of the dual basis, we find
f2 = 1.0x21 − 2.0x1 x2 + 1.0ε12
f3
f4
f6
f7
f8
Φ = d3y +
= 2.0x1 x2 − 1.0x22 − 1.0x1
= 2.0x1 − 2.0x2
= −2.0x2 + 1.0ε22 + 1.0x1 ε24
= 1.0ε23 + 1.0x2 ε24
= 1.0ε24
Now take the box Z1 = [−.03, .05]×[−.04, .04]×[−.01, .01]6 .
We apply Th. 5.1 on g, ie. we compute V (g, Z1 , ζ ∗ ). For the
variable ε21 the interval is [−.015, .15] 6⊆ (−.01, .01), therefore we don’t get an answer.
We shrink a little Z1 down to Z2 = [−.03, .05]×[−.02, .02]×
[−.01, .01]6 and we apply again Th. 5.1, which results in
[−.004, .004]
[−.004, .004]
[−.001, .001]
◦
[−.007, .007]
∗
V (g, Z2 , ζ ) =
⊆Z 2 ,
[−.006, .006]
[−.009,
.009]
[−.00045, .00035]
[.0, .0]
thus we certify the multiple root of the original system inside
Z2 .
1
y
x
y2
xy
x2
y3
xy 2
x2 y
y
y2
xy
y3
xy 2
x2 y
3/8y 3 − 89 x2 y
0
1/8y 3 − 38 x2 y
x
xy
x2
xy 2
x2 y
3xy 2
0
1 3
3 2
y
−
x y
8
8
0
y2
y3
xy 2
3 3
y − 89 x2 y
8
0
1 3
y
−
3/8x2 y
8
0
0
0
xy
xy 2
x2 y
0
1 3
y − 83 x2 y
8
0
0
0
0
Multiplication table for R/hf, gi (Example 6.2).
3 4 1 2 2 3 4
d + d d + d ,
8 y 8 x y 8 x
having value Φ0 [det J(f,g) (x)] = 54 > 0 on the Jacobian
determinant.
Using B and (6), we compute the matrix NF(xβi xβj ) of
multiplication in R/hf, gi, given at the end of the page. Now
a representation of QΦ (15) can be computed, by applying
Φ0 on the multiplication table to get:
QΦ =
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
3/8
0
1/8
0
0
0
0
0
0
0
1/8
0
0
1
0
3/8
0
1/8
0
0
0
0
0
0
0
1/8
0
0
0
0
0
0
0
1/8
0
3/8
0
0
0
1
3/8
0
0
0
0
0
0
0
0
0
1/8
0
0
0
0
0
0
0
1/8
0
0
0
0
0
0
0
.
With a QR iteration, we find 6 positive and 3 negative
eigenvalues of this representation, hence we compute
tdegζ (f, g) = sgn QΦ = 6 − 3 = 3,
i.e. there are 6 branches of the curve around (0, 0).
x2
x2 y
3xy 2
1 3
y
− 83 x2 y
8
0
3/8y 3 − 89 x2 y
0
0
0
3 3
y
8
y3
− 89 x2 y
0
0
0
0
0
0
0
xy 2
0
1/8y 3 − 3/8x2 y
0
0
0
0
0
0
1 3
y
8
x2 y
− 83 x2 y
0
0
0
0
0
0
0