computation of simplest normal forms of

International Journal of Bifurcation and Chaos, Vol. 11, No. 5 (2001) 1307–1330
c World Scientific Publishing Company
COMPUTATION OF SIMPLEST NORMAL FORMS
OF DIFFERENTIAL EQUATIONS ASSOCIATED
WITH A DOUBLE-ZERO EIGENVALUE
Y. YUAN and P. YU∗
Department of Applied Mathematics, University of Western Ontario,
London, Ontario, Canada N6A 5B7
Received June 8, 2000; Revised August 16, 2000
In this paper a method is presented for computing the simplest normal form of differential
equations associated with the singularity of a double zero eigenvalue. Based on a conventional
normal form of the system, explicit formulae for both generic and nongeneric cases are derived,
which can be used to compute the coefficients of the simplest normal form and the associated nonlinear transformation. The recursive algebraic formulae have been implemented on
computer systems using Maple. The user-friendly programs can be executed without any interaction. Examples are given to demonstrate the computational efficiency of the method and
computer programs.
1. Introduction
Normal form theory is one of the useful tools in
analyzing complex dynamical behavior of a nonlinear system such as bifurcation and instability. The
method, based on successive coordinate transformations, can be used to systematically construct
a simple form of the original differential equation, and thus greatly simplify the analysis for the
original system [Guckenheimer & Holmes, 1983;
Elphick et al., 1987; Nayfeh, 1993; Chow et al.,
1994]. The basic idea of the conventional (classical)
normal form theory is using the linear singularity of a system at an equilibrim to form a Lie
bracket operator and then repeated employing the
operator to remove higher order nonlinear terms,
as many as possible. However, it was later found
that conventional normal forms are not simplest
forms and actually could be further simplified
(e.g. see [Cushman & Sanders, 1986, 1988; Chua &
Kokubu, 1988a, 1988b]. Roughly speaking, in
conventional normal form theory kth-order nonlinear transformation terms are used to eliminate
kth-order nonlinear terms of the system, while in
simplest normal form theory kth-order nonlinear
transformation terms are not only used to simplify
kth-order nonlinear terms but are also used to elminate higher order terms. Since computation of simplest normal forms is much more complicated than
that of conventional normal forms, computer algebra systems such as Maple, Mathematics, Reduce,
etc. have been used (e.g. see [Algaba, 1998; Yu,
1999]). The “automatic” Maple program developed
by Yu [1999] can be executed to find the simplest
normal forms for Hopf and generalized Hopf bifurcations on various computer systems with very little
preparation for an input file.
The conventional normal form for a double zero
singularity has been considered by many researchers
∗
Author for correspondence.
E-mail: [email protected]
1307
1308 Y. Yuan & P. Yu
and obtained using different approaches (e.g. see
[Guckenheimer & Holmes, 1983; Yu & Huseyin,
1986; Chow et al., 1994; Broer et al., 1995; Bi &
Yu, 1998]). Recently, simplest normal forms for
the double zero singularity have been considered
using different methodology [Kokubu et al., 1988;
Baider & Sanders, 1992; Wang et al., 2000], and
symbolic computations have been discussed (e.g. see
[Yu & Yuan, 1999; Algaba et al., 2001]). In this paper, we present a method which is based on matrix
theory and linear algebra to compute the simplest
normal form for the double zero singularity. This
approach provides a direct guideline for developing computer software. Indeed, “automatic” Maple
programs have been implemented on computer systems which can be executed without any interaction
up to, in principle, any order.
To understand the idea which will be used in
the further reduction of normal forms, let us consider a simple example associated with single zero
singularity. Suppose a general system is given by
ẋ = Jx + f (x) ,
x ∈ RN ,
(1)
where function f and its first derivative vanishes at
the origin 0 — an equilibrium of system (1); and
the Jacobian J evaluated at the origin is given by
"
0
J=
0
#
0
,
A
u̇ = am um + b2m−1 u2m−1
A∈R
,
(2)
n
X
(m ≥ 3) ,
(5)
where the coefficient b2m−1 is expressed explicitly in terms of aj ’s.
The above results can be proved by using the
method of mathematical induction.
In the next section, the SNF for the generic
case of a double zero singularity is discussed in detail, while Sec. 3 discusses the SNF of a nongeneric
case. Symbolic computation is outlined in Sec. 4.
Examples are given in Sec. 5 to show the applicability of the method, and conclusions are drawn in
Sec. 6. Maple source codes and sample input data
are listed in appendices for reference.
2. SNF
Generic Case
Finding the SNF for a double zero singularity is
much more complicated than the single zero case.
Consider the system given by
x ∈ RN ,
ẋ = Jx + f (x) ,
(6)
where function f and its first derivative vanishes at
the origin 0, and J is given by

(N −1)×(N −1)
in which A is hyperbolic (i.e. all eigenvalues of A
have nonzero real parts). The conventional normal
form of system (1) can be obtained by first applying the center manifold theory and then the conventional normal form theory. However, it may be derived by using a combined approach [Bi & Yu, 1998]
without the aid of center manifold theory. The conventional normal form (CNF) is given by
ẏ =
(ii) If a2 = · · · = am−1 = 0 but am 6= 0 (m ≥ 3),
then the SNF is

0

J = 0
0
1 0

0 0 ,
0 A
A ∈ R(N −2)×(N −2) ,
(7)
in which A is hyperbolic. With the CNF theory,
one may use the nonlinear transformation (NT)
x1 = y1 +
j
n X
X
h1k(j−k) y1k y2j−k ,
j=2 k=0
x2 = y2 +
j
n X
X
h2k(j−k) y1k y2j−k ,
(8)
j=2 k=0
aj y j
(3)
xi =
j=2
where constant coefficients aj are expressed explicitly in terms of the coefficients of function f . Note
that the expression of right-hand side is actually a
polynomial of y. This CNF can be further simplified by a nonlinear transformation to the following
simplest normal form (SNF):
j
n X
X
hik(j−k) y1k y2j−k
to transform Eq. (6) into a CNF, up to nth-order,
written in either of the two ways [Guckenheimer &
Holmes, 1983]:
ẏ1 = y2 +
n
X
aj1 y1j ,
j=2
(i) If a2 6= 0, then the SNF is
u̇ = a2 u2 + a3 u3 .
(4)
(i = 3, 4, . . . , N )
j=2 k=0
ẏ2 =
n
X
j=2
aj2 y1j ;
(9)
Computation of Simplest Normal Forms 1309
or
ẏ1 = y2 ,
ẏ2 =
n
X
(aj1 y1j + aj2 y1j−1y2 )
(10)
yi = ui +ci20 u21 +ci11 u1 u2 +ci02 u22
j=2
where aj1 ’s and aj2 ’s are constant coefficients which
can be determined from the coefficients of function
f (x). It is noted from Eqs. (9) and (10) that the
second form (10) may be considered simpler than
the first form (9). However, in this paper, we do
not compare such kind of different normal forms,
but consider how to further simplify conventional
normal forms, and therefore we will use Eq. (10)
as the CNF throughout the paper. The results are
summarized in the following theorem.
Theorem. Assume that by the normal form
theory, the CNF of system (6) is given by Eq. (10),
then the SNF of system (6) up to an arbitrary order
can be found as
u̇1 = u2 ,
u̇2 = a21 u21 + a22 u1 u2 + a31 u31
+
n X
(11)
b(3j+1)1 + b(3j+2)2 u1 u3j+1
1
j=1
Proof. The first step in the proof is straightforward: By using any methods of conventional normal
forms (e.g. using the Maple programs developed by
Bi and Yu [1998]), one can obtain the CNF (10) for
system (6). The major step (second step) of the
proof is to show that the CNF (10) can be further
simplified to form (11) by using a near-identity NT.
The idea is to eliminate the terms in Eq. (10), as
many as possible, order by order, and thus Eq. (11)
indeed gives the simplest normal form of system
(6). We shall employ the method of mathematical
induction to prove the theorem.
To start the proof, one may assume a general
nonlinear transformation described by
yi = ui +
cik(j−k) uk1 uj−k
2
(i = 1, 2) . (12)
j=2 k=0
Then the second step can be proved by the method
of mathematical induction. It is easy to verify that
the theorem is true when n = 2, 3, 4.
(i = 1, 2) . (13)
It should be noted that under any transformations, a new normal form should be at least as simple as the CNF (10). Thus, we may assume that
upon applying the NT (13), the normal form up to
second-order is in the form of
u̇1 = u2 ,
(14)
u̇2 = b21 u21 + b22 u1 u2
which is actually Eq. (10) truncated at the thirdorder terms. The basic idea is to find whether we
can set b21 , and/or b22 zero by choosing suitable coefficients cijk ’s in Eq. (13). To find the equations for
determining the cijk ’s, substituting Eqs. (13) and
(14) into Eq. (10), and then balancing the secondorder terms on both sides of the resulting equations
yields the following six linear algebraic equations
for the six unknown cijk ’s, which can be grouped
as two sets of decoupled equations, written in the
matrix from:

if a21 a22 6= 0, where the coefficients b(3j+1)1 and
b(3j+2)2 are expressed explicitly in terms of aij ’s.
j
n X
X
First consider n = 2: We want to see if any
of the second-order terms in Eq. (10) can be eliminated by using the following general second-order
NT:
0 0
2 0


0 1
– – –

0 0

0 0
0 0


0 | −1
0
0
c120


0 | 0 −1
0
  c111 

0| 0
0 −1   c102 



– – – – – – – – – –
– – –
0| 0
0
0   c220 


0| 2
0
0   c211 
c202
0| 0
1
0


0


0






0
.
=
–
–
–
–
–


 a21 − b21 


 a22 − b22 
0
(15)
It is obvious to see from Eq. (15) that
c111 = c202 ,
c220 = c120 = c211 = 0 ,
b21 = a21 ,
b22 = a22 .
(16)
Therefore, the NT (13) can be written as
y1 = u1 + c102 u22 + c202 u1 u2 ,
y2 = u2 + c202 u22 ,
(17)
1310 Y. Yuan & P. Yu
and the SNF up to second-order then becomes
following third-order NT:
y1 = u1 + c102 u22 + c202 u1 u2 + c103 u32
u̇1 = u2 ,
(18)
u̇2 = a21 u22 + a22 u1 u2 .
y2 = u2 + c202 u22 + c203 u32 + c212 u1 u22
Equation (18) suggests that no matter what NT
one may choose, and the second-order terms in the
CNF (10) cannot be eliminated, and therefore, the
normal form up to second-order cannot be further
simplified. It is noted from Eq. (15) that the coefficients c202 and c102 (in fact, c102 does not appear
in these equations) can be chosen arbitrarily. Of
course, the simplest choice for the two coefficients
is c202 = c102 = 0, which leads to the transformation yi = ui (i = 1, 2) implying that nothing has
been performed. However, as it will be seen, the
two coefficients can be used to simplify higher order
normal forms. This is the key idea used in further
simplifying a normal form obtained through the
CNF theory.
When n = 3, similarly we want to eliminate
the third-order terms in the CNF (10) by using the

0

3

0


0

– –
0


0

0

0
0
0
2
0
––
0
0
0
0
0
0
0
1
–
0
0
0
0
+ c112 u1 u22 + c121 u21 u2 + c130 u31 ,


(19)
+ c221 u21 u2 + c230 u31 .
Assume that the third-order terms in the normal
form are the same as that given, in general, by the
corresponding part of the CNF, and then add these
terms to the previously obtained (second-order)
SNF to construct a form up to third-order terms as
follows:
u̇1 = u2 ,
u̇2 = a21 u21 + a22 u1 u2 + b31 u31 + b32 u21 u2 .
(20)
Following the procedure used to obtain the secondorder SNF, one can find eight linear algebraic equations for solving the eight unknown third-order
coefficients. Again, the eight equations can be divided into two decoupled groups as listed below:


0 | −1
0
0
0
c130
−a21 c202




0 | 0 −1
0
0   c121   −a22 c202 − 2a21 c102 


 






0| 0
0 −1
0   c112  
−2a22 c102





0| 0
0
0 −1 

c103  
0




– – – – – – – – – – – – –  – – –  =  – – – – – – – – – – – 


a31 − b31

0| 0
0
0
0   c230  
 






c221  
a32 − b32
0| 3
0
0
0







2a21 c102
0| 0
2
0
0
  c212  
c203
a22 c102
0| 0
0
1
0






0
−a21
0






0

  −a22 
 −2a21 

 




  0 
 −2a22 
0

 




 




  0 

0 
0
 +  – – –  c202 +  – – – –  c102
–
–
–
–
–
=

 


0 
 a31 − b31   0 



 



 a32 − b32   0 


0

 




 




  0 
 2a21 
0
a22
0
0
(21)
from which we can easily see that b31 = a31 . In order to find a normal form at this order as simple as
possible, we may set b32 = 0, and thus c202 can be uniquely determined. Consequently, we obtain
b31 = a31 ,
b32 = 0 ,
c202 =
a32
3a21
(22)
Computation of Simplest Normal Forms 1311
and
c230 =

3

0
–

0
0

a32
,
3

c112 = c203 ,


u̇1 = u2 ,
u̇2 = a31 u31 + a21 u21 + a22 u1 u2 .
(24)
When n = 4, we can also find a group of equations, which may be called key equations and can
be rearranged in two parts: the first part is given
by
!

"
2a21
0 | −a21
0
+
−2a21
a22 −2a21 | 0
#
c102 =
(25)
b41 =
It is noted from Eq. (23) that the vector, consisting of the four coefficients c130 , c121 , c221 and c212 ,
4 0
0 3


0 0

– – –
0 0


0 0
0 0
 
(23)
b42 = 0 ,



c130
1


a
−
a
22
32
 c121   3

 

×
 – – –  =  a31 a32  .
 c221 
a21
c212


can be uniquely solved from this equation in terms
of c102 and known coefficients aij ’s since the matrix is nonsingular. Then substitute this vector into
Eq. (25) to obtain two linear equations involving
three unknowns b41 , b42 and c102 . Now we want to
find the possibility of eliminating b41 and b42 . It is
easy to see that at most only one of them can be
removed by choosing c102 . If let b42 = 0, then c102
can be solved from a decoupled equation and thus
b41 can be determined from another equation. So,
the results are
and the SNF up to third-order terms is thus given
by
a41 − b41
a42 − b42

0 | −1
0
c130
−a21
−2a21

 



2 | 0 −1   c121   −a22  a32
 −2a22 






– – – – – – –  – – –  =  – – – 
+ – – – –
 c102 ,
0| 2
0   c221   0  3a21  2a21 
c212
a22
0
0| 0
1

1
12a221 a22
(9a42 a21 − a222 a32 − 9a31 a32 ) ,
1
(4a41 a22 + a222 a32 − 5a42 a21 + 5a31 a32 ).
4a22
(26)
The second part consists of the equations of




c140
−2a21
0
0 | −1
0
0

 




 −2a22 
 −3a21 
c131 
0 | 0 −1
0 
 



 
 c
 
 −3a 
0 
2| 0
0 −1 



122 
22 
 
 



– – – – – – – – – – 
 – – –  =  – – – –  c203 +  – – – –  c103 + D1 .






0| 3
0
0
c
0
−a
21 
  231  


 





0| 0
2
0   c222   −a22 
 2a21 
0| 0
0
1
c213
0
a22
(27)
and
c113 = c204 .
(28)
In Eq. (27) D1 represents the known expressions which have been obtained from the previous steps. The Di , i = 2, 3, 4, 5 used in the latter equations have the same meaning. Next, suppose that the theorem is true up to (n − 1)th-order
(n ≥ 3), we then show that it is also true up to
nth-order and therefore, the theorem is true up to
any order. To achieve this, substituting Eq. (12)
into Eq. (10), with the aid of Eq. (11), and then
balancing the nth-order coefficients in the resulting equation yields the following linear algebraic
equations, written in the matrix form:
1312 Y. Yuan & P. Yu

0

n










0












0 −1
0
0
..
.
0
0 0
0 n
0
0
..
.
0
n−1
..
0
.
1
0
0

−1
−1
..
0
0


n−2
..
.
1
0
−(n − 2)a21
∗
∗
z }| {
c1(n−i)0



..




.


c

 12(n−i−2) 
Ci = 

 c2(n−i−1)1 




..


.


c20n
0
(i) When n = 3k + 1 (k ≥ 1), there are two groups
of key equations: the first group is given by
an1 − bn1
an2 − bn2
!
+ F1 C1 + F2 C2 + · · · + Fk Ck = D2 ,
(30)
where
n−4
z }| {
0 · · · 0 | −a21
0···0 | 0
0
−2a21
n−i−3
0 · · · 0 | −b(i+1)1
0···0 |
∗
(29)
role in determining the SNF of this order. There
are three cases:
n−i−3
Fi =  ∗
∗

0
n−4
F1 =  2a21
a22

0
.
n−1
where the 2(n+1)-dimensional vector v contains the
expressions which are functions of the coefficients,
some of which have been obtained in the previous
steps, while one or two are determined in the current order, and others will be found in higher order
equations. It is noted that there exist two particular
equations in Eq. (29) which contain the coefficients
bn1 and bn2 . These two coefficients play a major



c1n0


  c1(n−1)1 




  c1(n−2)2 




.

..




−1  
  c10n 

0
=v


  c2n0 


  c2(n−1)1 




  c2(n−2)2 




.

..




0
−2b(i+1)1
z }| {
z }| {


0··· 0
,
0···0
0··· 0

0···0
(i = 2, 3, . . . , k) ,
(31)
(i = 1, 2, . . . , k)
c21(n−i−1)
in which Fi ’s are 2 × 2(n − i − 1) matrices and Ci ’s are 2(n − i − 1) vectors. The second group of equations
are written as
C1 = A−1
n−1 {B1(n−1) C2 + B2(n−1) C3 + · · · + B(k−1)(n−1) Ck + α11 c102k + β11 c202k+1 + · · ·
C2 =
+ α1(k−1) c103k−2 + β1(k−1) c203k−1 + α1k c103k−1 } ,
−1
An−2 {B1(n−2) C3 + · · · + B(k−1)(n−2) Ck + α21 c102k + β21 c202k+1
+ α2(k−1) c103k−2 + β2(k−1) c203k−1 + α2k c103k−1 } ,
+···
..
.
Ck = A−1
n−k {αk1 c102k + βk1 c202k+1 + · · · + αk(k−1) c103k−2 + βk(k−1) c203k−1 + αkk c103k−1 } .
(32)
Computation of Simplest Normal Forms 1313
Here, it should be noted that only vector C1 is directly generated at this order, while the remaining vectors
C2 , C3 , . . . , Ck are actually obtained from the previous order equations through a recursive procedure. αij
and βij (i = 1, 2, . . . , k; j = 1, 2, . . . , k − 1) are 2(n − i − 1) vectors, which are expressed explicitly in
terms of the known coefficients aij ’s and bij ’s, including many zero components. For example,
2k+j−3
2k+j−3
z }| {
z }| {
2k+j−3
z }| {
α1j = (0, . . . , 0, −(2k + j − 1)b(k+2−j)1 , 0, . . . , 0| 0, . . . , 0, ∗, . . . , ∗)T
(j = 1, . . . , k − 1) ,
2k+j−3
z }| {
β1j = (0, . . . , 0, −(2k + j − 1)b(k+1−j)1 , 0, . . . , 0| 0, . . . , 0, ∗, . . . , ∗)T
3k−4
(j = 1, . . . , k − 1) ,
3k−4
(33)
z }| {
z }| {
β1(k−1) = (0, . . . , 0, −(3k − 2)a21 , −(3k − 2)a22 , 0| 0, . . . , 0, −3(k − 1)a21 , −3(k − 1)a22 , 0)T ,
3(k−1)
3(k−1)
z }| {
z }| {
α1k = (0, . . . , 0, −(3k − 1)a21 , −(3k − 1)a22 | 0, . . . , 0, 2a21 , a22 )T .
An−1 is a 2(n − 2) × 2(n − 2) matrix, given by

An−1
n−1

| −1
|


n−2
−1


..

.
|



2|

= – – – – – – – – – – – – – – – – – – – – –

|n−2



|
n−3



|

|




..

.


−1 

– – – – – ,






..

.

(34)
1
and A−1
n−1 represents the inverse matrix of An−1 . Bi(n−1) ’s are given as follows:
"
B1(n−1)
in which

0

0


0
M1 = 

0

0

0
−a22
0
0
0
0
0
−2a21
−2a22
0
0
0
0
0
−3a21
..
.
0
0
..
0
0
0
0
0
0
0
0
.
0 −a22

0
0
0






0
,

−(n − 4)a22 


0

0
0
0
0
−3a21
−2a22
0
0
0
0
(35)

0

0


0
M2 = 

0

0

0



0
M3 = 

0

0

#
M1 | O
= ––––– ,
M2 | M3
0
0
−4a21
..
.
0
0
..
0
0
0
0
0
0
a22
0
2a21
a22
0
0
0
0
0
0
0
0
0
0
.






0
,

−(n − 4)a22 


0

0
0
2a21
..
.
0
0
..
0
0
0
0
0
0

0

0 
.


0 
,

a22 

0 

0
(36)
1314 Y. Yuan & P. Yu
where O and Mi (i = 1, 2, 3) are (n − 2) × (n − 3) matrices, whereas Bi(n−1) (i = 2, 3, . . . , k − 1) are
2(n − 2) × 2(n − 2 − i) matrices and have the form:

Bi(n−1)
0
0
0
∗
0



















=– – – – –
∗ ∗ ∗



∗ ∗















|
|
∗
..
.
0
0
––––
∗
..
.
∗
∗
∗





|



∗ |


0 |



0 |


0 |



0 |

– – – – – – – – – – – – – – .

|∗ ∗ ∗



|
∗ ∗ ∗


..

.
|


∗ |
∗ ∗ ∗

∗ |
∗ ∗


∗ |
∗


0 |
0
0 |
(37)
0
Next, substituting Eqs. (31)–(37) into Eq. (30) results in
an1 − bn1
an2 − bn2
!
+ ··· +
∗
∗
+
2
X
!
k−1
X
c102k +
!
Yi vi c202k+1 +
i=1
k−1
X
!
Yi Vi11
c102k+1 +
i=1
k−2
X
!
Yi Vi12
c202k+2
i=1
!
(k−2)1
Yi Vi
(k−2)2
c103k−2 + (Y1 V1
(k−1)1
)c203k−1 + (Y1 V1
)c103k−1 = D3 ,
(38)
i=1
where
(k−2)2
V1
≡ β1(k−1) ,
(k−1)1
V1
≡ α1k ,
and
Y1 = F1 A−1
n−1 ,
Z1 = F2 ,
Yi+1 = (Yi B1(n−i) + Zi )A−1
n−i−1
Zi+1 =
i
X
Yj B(i−j+2)(n−j) + Fi+2 ,
(i = 1, 2, . . . , k − 2) ,
j=1
(39)
2(k−1)
2(k−1)
z }| {
z }| {
vi = (0, . . . , 0, −2kb(k−i+1)1 , 0, . . . , 0| 0, . . . , 0, ∗, . . . , ∗)T ,
2(k−1)
z }| {
2(k−1)
z }| {
vk−1 = (0, . . . , 0, −2ka21 , −2ka22 , 0| 0, . . . , 0, −(2k − 1)a21 , −(2k − 1)a22 , 0)T ,
Computation of Simplest Normal Forms 1315
where vi , Vij1 and Vij2 (i, j = 1, 2, . . . , k − 1) are 2(n − i − 1) vectors. Vij1 and Vij2 have the same form of
2(k−1)+j
2(k−1)+j
z }| {
z }| {
(0, . . . , 0, ∗, . . . , ∗| 0, . . . 0 , ∗, . . . , ∗)T
but they are different vectors.
Now we want toPprove that in Eq. (38) except for the first three terms, all other terms are indeed zero.
First we show that k−1
i=1 Yi vi = 0. To achieve this, note that
Y1 = F1 A−1
n−1



=  2a21
a22

0 · · · 0 | −a21
0
−(n − 2)a21
0···0 |
n−4

= ∗
0
∗
∗
n−4
z }| {
0···0 | ∗
0
0···0 | ∗
∗
z }| {
0

|
∗
(40)
0···0
n−4

= ∗
0
∗
∗

−2a21
0··· 0
,

Y1 B1(n−1)
0
0

|∗


..
..


.
.
|



n−4


z }| { 
∗ |
∗


0··· 0
 – – – – – – – – – – – – 
0

|∗

0···0 




..
.


0
|
n−4
z }| {
∗
0···0 | ∗
0
0···0 | ∗
∗

"
#
M
|
O
1

0···0 – – – – –
n−4
z }| {
z }| {
M2 | M3
0···0
n−7

0
=

∗
∗ 0
0
∗
∗ ∗


Z1 = F2 =  ∗
∗
n−7
z }| {
0···0 | 0 ∗
∗
0
0···0 | 0 ∗
∗
∗
n−5
n−5
z }| {
∗ 0···0 | ∗ 0
∗ 0···0 | ∗ ∗
z }| {
z }| {

0··· 0
,

(41)
0···0

0··· 0
,
(42)
0···0
then
Y2 = (Y1 B1(n−1) + Z1 )A−1
n−2


n−9
= ∗
∗
..
.

∗
∗
0
∗
∗
∗
0···0 | ∗
∗ ∗
0
0···0 | ∗
∗ ∗
∗
2i−1
z }| {
Yi =  ∗ · · · ∗ 0 0
∗···∗ ∗ 0
n−9
z }| {
z }| {
0··· 0
,
0···0

2i−1
···
···
z }| {

0 | ∗···∗ 0 0
0 | ∗···∗ ∗ 0
···
···
0,
0
(43)
1316 Y. Yuan & P. Yu
and therefore,


2i−1
z }| {
Yi vi =  ∗ · · · ∗
∗···∗
2i−1
0
∗
0
0
···
···
z }| {
0 | ∗···∗
0 | ∗···∗
Consequently, when i ≤ k − 1 or 2i ≤ 2(k − 1),
Eq. (44) becomes
Yi vi =
0
0
!
,
i = 1, 2, . . . , k − 1 .
(45)
P
0
∗
0
0
an1 − bn1
an2 − bn2
+
∗
∗
(44)
bn2 = 0 by explicitly choosing a unique c102k in
terms of the known coefficients, and then bn1 is also
uniquely determined.
(ii) When n = 3k + 2 (k ≥ 1), we can find a similar
equation like Eq. (38) as follows:
Having proved k−1
i=1 Yi vi = 0, it is easy to see
Pk−j
P
j1
that i=1 Yi Vi = 0 and k−j−1
Yi Vij2 = 0 for
i=1
1 ≤ j ≤ k − 1 because these two vectors have more
zero components than vi does. Finally, Eq. (38)
becomes
!
···
···


0
 ..

 . 2(k−1) 
 

 0



 ∗

 .

 ..



 ∗



.
0
–
–
–
–
–
–
–
 


0
0 

 .

 .. 2(k−1) 
 

 0



 ∗



 ..

 .

∗
an1 − bn1
an2 − bn2
+
!
!
k
X
+
∗
∗
!
c20(2k+1)
!
Yi ui c10(2k+1) = D4 ,
(47)
i=1
c102k = D3 .
(46)
Equation (46) clearly indicates that we can set
where the terms related to c20(2k+j) and c10(2k+j)
(j = 2, 3, . . . , k) have been neglected since they are
all zero, which becomes more clear below. Here,
2k−1
2k−1
2k−1
2k−1
z }| {
z }| {
ui = (0, . . . , 0, −(2k + 1)b(k−i+2)1 , 0, . . . , 0| 0, . . . , 0, ∗, . . . , ∗)T ,
z }| {
z }| {
uk = (0, . . . , 0, −(2k + 1)a21 , −(2k + 1)a22 | 0, . . . , 0, 2a21 , a22 )T ,
(48)
in which ui (i = 1, 2, . . . , k) are 2(n − i − 1) vectors. Then, a simple manipulation shows that


2i−1
z }| {
Yi ui =  ∗ · · · ∗
∗···∗
2i−1
0
∗
0
0
···
···
z }| {
0 | ∗···∗
0 | ∗···∗
0
∗
0
0
···
···


0
 ..

 . 2k−1 
 

 0



 ∗

 .

 ..



 ∗





0 – – 
– – – –
,

0
0 
 .

 .. 2k−1 
 

 0



 ∗



 ..

 .

∗
(49)
Computation of Simplest Normal Forms 1317
and thus, when 1 ≤ i ≤ k − 1 (i.e. 1 ≤ 2i − 1 ≤ 2k − 3 and 2 ≤ 2i ≤ 2k − 2), Eq. (49) yields
Yi ui =
0
0
!
for i = 1, 2, . . . , k − 1 ,
(50)
which implies that the summation in Eq. (47) actually has only one term Yk uk .
Next consider i = k. For this case, we have


2k−1
z }| {
Yk uk =  ∗ · · · ∗
∗···∗
=

0
.

.. 2k−1




0


  −(2k + 1)a21
 −(2k + 1)a
22


0 
– – – –– – – –
0
0 

..

.  2k−1


0


 2a21
a22
2k−1
z }| {
0 | ∗···∗
0 | ∗···∗
0
sk
0
−(2k + 1)a21 sk + 2a21 tk
0
tk










–









,
(51)
where
sk = (Yk )2,2k
= ((Yk−1 B1(n−k+1) + Zk−1 )A−1
n−k )2,2k
= (Yk−1 B1 (n−k+1) A−1
n−k )2,2k


0
..
.  2k−3
0











 −2k + 1



a
 n − 3k + 1 21 




 −2k + 1


a22 
 n − 3k + 1





2k−3
2k−3
0


z }| {
z }| {

= (∗, . . . , ∗, sk−1 , 0, 0| ∗, . . . , ∗, tk−1 , 0, 0) – – – –– – – – – 



0


..


.  2k−3




0






2


 n − 3k + 1 a21 




1



a22 
 n − 3k + 1

0
=
2
1 − 2k
sk−1 +
tk−1 a21 ,
n − 3k + 1
n − 3k + 1
(52)
1318 Y. Yuan & P. Yu
tk = (Yk )2,4k+1
= ((Yk−1 B1(n−k+1) + Zk−1 )A−1
n−k )2,4k+1
= (Yk−1 B1(n−k+1) A−1
n−k )2,4k+1



0
.. 
.  2k−3

0














−2k
+
1


 (n − 3k + 1)(n − 3k) a21 






−2k + 1


 (n − 3k + 1)(n − 3k) a22 






2k−3
2k−3
0


z }| {
z }| {

= (∗, . . . , ∗, sk−1, 0, 0| ∗, . . . , ∗, tk−1 , 0, 0) 
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–





0





..


.  2k−3





0






1
2a
21 

−k


n − 3k 
 n − 3k + 1




1


a22


n − 3k + 1


0
2
1 − 2k
sk−1 +
=
(n − 3k + 1)(n − 3k)
n − 3k
1
− k tk−1 a21 .
n − 3k + 1
Here, the subscripts of Yk denote the row and column at which the component is located. In general, we
can find
2
1 − 2i
si−1 +
ti−1 a21 ,
si =
n − 3i + 1
n − 3i + 1
2
1 − 2i
1
si−1 +
− i ti−1 a21 ,
ti =
(n − 3i + 1)(n − 3i)
n − 3i n − 3i + 1
(i = 2, 3, . . . , k) .
(53)
A simple calculation for Y1 yields

Y1 =
F1 A−1
n−1
 2a21
n−1
=

 a22
n−1
n−4
0
−a21
z }| {
1
2
−
(n − 1)(n − 2) n − 2
a22
0···0 |
(n − 1)(n − 2)
0···0 |
n−4
0
3a21
−
n−3
z }| {

0··· 0

0···0
,


(54)
and then comparing the components leads to s1 = −a21 and t1 = −3/(n − 3)a21 = −3/(3k − 1)a21 . It
follows from Eq. (53) that
3
2
−3
3
3
−
×
a221 =
a2 ,
a221 =
s2 = −1 ×
n−5 n−3 n−5
n−3
3k − 1 21
3
2
−3
1
−
×
×
− 2 a221
t2 = −1 ×
(n − 5)(n − 6) n − 3 n − 6
n−5
15
3×5
a221 =
a2 ,
=
(n − 5)(n − 6)
(3k − 1)(3k − 4) 21
(55)
Computation of Simplest Normal Forms 1319
and then we can use the method of mathematical induction to show, in general, that
si =
(−1)i 3 × 5 × · · · × (2i − 1) i
a21 ,
5 × 8 × · · · × (3i − 1)
(i = 1, 2, . . . , k) .
(−1)i 3 × 5 × · · · × (2i + 1) i
a21 ,
ti =
2 × 5 × · · · × (3i − 1)
Similarly, we may set bn2 = 0 by explicitly solving
for a unique c20(2k+1) from the above equation in
terms of known coefficients. Then bn1 is uniquely
determined.
It is clear from Eq. (56) that
tk
2k + 1
=
sk
2
− (2k + 1)sk + 2tk = 0 . (57)
or
(iii) When n = 3k + 3 (k ≥ 1), similar to case (ii),
we may obtain
Therefore, we have [see Eq. (51)]
0
0
Yi ui =
!
for i = 1, 2, . . . , k ,
an1 − bn1
an2 − bn2
(58)
and finally, Eq. (47) becomes
an1 − bn1
an2 − bn2
!
+
∗
∗
(56)
!
+
c202k+1 = D4 .
!
k
X
+
∗
∗
!
c102k+1
!
Yi wi c202k+2 = D5
(60)
i=1
(59)
where
2k−1
2k−1
z }| {
z }| {
wi = (0, . . . , 0, −(2k + 1)b(k−i+2)1 , 0, . . . , 0| 0, . . . , 0, ∗, . . . , ∗)T
2k−1
for i = 1, 2, . . . , k − 1 ,
2k−1
z }| {
z }| {
(61)
wk = (0, . . . , 0, −(2k + 1)a21 , −(2k + 1)a22 , 0| 0, . . . , 0, −2ka21 , −2ka22 , 0)T
in which wi (i = 1, 2, . . . , k) are 2(n − i − 1) vectors. Similarly, we can prove that
0
0
Yi wi =

!
for i = 1, 2, . . . , k − 1 ,
2k−1
 z }| {
Yk wk =  ∗ · · · ∗
0
∗ · · · ∗ sk
=

2k−1
0
0
z }| {
0 | ∗···∗ 0
0 | ∗ · · · ∗ tk
0
−(2k + 1)a21 sk − 2ka21 tk
!
.
0
0

0
.. 


.  2k−1



0


 −(2k + 1)a21


  −(2k + 1)a22


0

0
– – – –– – – –

0
0 

.. 

.  2k−1



0


 −2ka
21


 −2ka22
0














–












(62)
1320 Y. Yuan & P. Yu
It has been seen from case (ii) that [−(2k + 1)sk +
2tk ]a21 = 0, so if a21 6= 0, then −(2k + 1)a21 sk −
2ka21 tk 6= 0. Hence,
k
X
Yi wi =
i=1
0
∗
!
(63)
In this section, we shall discuss the computation method for the subcase (III). For this subcase,
Wang et al. [2000] obtained the following “form”.
Suppose the original system is described by the following two-dimensional differential equations:
ẏ1 = y2 + h.o.t. ,
ẏ2 = αy1ν y2 + βx2ν+1
+ h.o.t. ,
1
and Eq. (60) then becomes
an1 − bn1
an2 − bn2
!
+
∗
∗
!
c102k+1 +
0
∗
!
c202k+2 = D5 .
where h.o.t. represents higher order terms of homogeneous polynomials of y1 and y2 . Then the SNF
is
(64)
Unlike the cases (i) and (ii), for case (iii) we may
set bn1 = bn2 = 0 by uniquely determining c202(k+1)
and c10(2k+1) in terms of the known coefficients
explicitly.
The proof of the Theorem is completed. From the above proof, we have seen that the
pattern of the coefficients of the SNF is given as follows: When n = 3k + 1 or 3k + 2, bn2 = 0, bn1 6= 0,
while when n = 3k + 3, bn1 = bn2 = 0.
The recursive formulae derived in this section
can be straightforwardly used to code symbolic
computer software. Maple programs have been developed which can be executed on different computer systems. The Maple source code is given in
Appendix A.
3. SNF
Nongeneric Case
The SNF for the generic case given in the previous
section is found under the condition a21 a22 6= 0.
In this section, we shall briefly discuss the nongeneric case when a21 a22 = 0. More specifically,
if a21 = a31 = · · · = aµ1 = 0 and a22 = a32 = · · · =
aν2 = 0, then what is the SNF? Baider and Sanders
[1992] have given a detailed study on the SNF which
can be divided, in general, into three subcases:
(I) µ < 2ν, (II) µ > 2ν and (III) µ = 2ν. They
developed a tool called grading functions to find
the “form” of the simplest normal forms. The first
two subcases were proved by Baider and Sanders
[1992]. Later, Kokubu et al. [1996] and Wang
et al. [2000] proved the subcase (III) and provided
a “form” of the SNF. However, it is noted that the
“form” and method presented in these papers are
not easy to be applied for computing an explicit
SNF for a given system. The approach given in the
previous section can be straightforwardly used to
code symbolic computer programs.
(65)
u̇1 = u2 ,
+ b2ν u2ν
u̇2 = αuν1 u2 + βu2ν+1
1 u2
1
+
∞
X
am um
1
(66)
m=2ν+2
+
∞
X
bn un1 u2 ,
n=ν+1
n(mod(ν+1))6=ν−1,ν
where the coefficients am and bn are uniquely determined from the coefficients of the original system
(65).
Note that the original system (65) is a twodimensional general center manifold, which is not
the general n-dimensional system (6), nor the CNF
described by the two-dimensional center manifold
described by Eq. (9) or Eq. (10). Determining the
coefficients am and bn is probably the most cumbersome part of the computation in applications. For
this reason, we have paid attention to computing
the SNF efficiently. Similar to the generic case, we
can, based on the CNF (10), obtain the following
result.
Assume that by the CNF theory, the normal form of system (6) is given by Eq. (10), and
in addition,
a21 = a31 = · · · = a2(q−1)1 = 0, a(2q−1)1 6= 0,
a22 = a32 = · · · = a(q−1)2 = 0,
aq2 6= 0,
(q ≥ 2) ,
(67)
then the SNF of system (6) up to an arbitrary order
is
u̇1 = u2 ,
2q−1
u̇2 = aq2 uq−1
+ a(2q−1)2 u2q−2
u2
1 u2 + a(2q−1)1 u1
1
+
∞
X
m=2q
bm1 um
1 +
∞
X
bn2 un−1
u2 ,
1
n=q+1
n(mod(q))6=q−1,q
(68)
Computation of Simplest Normal Forms 1321
where the coefficients bm1 and bn2 are uniquely determined from the coefficients of the original system
(10).
The proof is similar to that for the generic case
and thus the details are omitted. In the following,
we will discuss how to develop symbolic computation. From the computation view point, based on
the CNF (10) and the SNF (68), we want to use
the coefficients of the NT cik(j−k) [see Eq. (12)], to
eliminate certain CNF coefficients aij such that the
CNF (10) is reduced to the SNF (68). The main
procedure is substituting the NT (12) and the SNF
(68) back into the CNF (10), and then balancing
the coefficients for each order. This results in a set
of linear algebraic equations for determining cik(j−k)
and bij .
First, it is easy to show that no cik(j−k) can be
used to eliminate the first three terms in Eq. (68)
which have the same coefficients as that in the CNF.
u2 in the last sumNext note that the terms un−1
1
mation expression of Eq. (68) have been eliminated
from the CNF (10) when n(mod(q)) equals q−1 and
q. Therefore, the key step in the computation is to
find the particular cik(j−k)’s which can be used to
eliminate those terms. The linear algebraic equau2
tions corresponding to the missing terms un−1
1
n−1
comes from the coefficient of the term u1 u2 of
the second balancing equation. We call this coefficient as COEF(n − 1, 1) for convenience. In addition, notice that the first coefficient cik(j−k) to be
used is c202 , which is similar to the generic case [see
Eq. (22)]. Then, by defining k = [n/q] (the notation
[x] denotes the largest integer which is less than x),
we obtain the following results:
(1) When k = 1, c202 can be uniquely determined
from COEF(2q −1, 1) since it involves c202 only.
(2) When k > 1 and n(mod(q)) = q − 1, c10k can
be uniquely determined from COEF((k + 1)q −
2, 1).
(3) When k > 1 and n(mod(q)) = q, c20k can
be uniquely determined from COEF((k + 1)q −
1, 1).
We have used the above formulae to develop general recursive Maple algorithms for computing the
explicit expressions of the coefficients of the SNF
and the corresponding NT. The Maple programs
are outlined in next section.
4. Outline of Symbolic Computation
The detailed procedure and formulae given in the
previous sections can be directly applied to develop
symbolic computation programs. We have used
Maple computer algebra system to develop a software package which can be conveniently used to
compute the SNF and associated NT for a double zero singularity. The program only requires a
simple preparation for an input file from a user.
The Maple programs are outlined below, and the
source codes can be found in Appendix A. Since
the programs for the generic and nongeneric cases
are similar, we will not distinguish the two cases
here.
(a) Read a prepared input file. The input file indicates the upper boundary order of the computation of the SNF, Ord, and the conditions for the
nongeneric case, i.e. the integer q. For a particular given system, the input file also gives the
coefficients of the original differential equations
(i.e. the CNF of the system), ajkl .
(b) Initial step: For the generic case (i = 2), set
b21 = a21 and b22 = a22 . For the nongeneric
case (i = q), set bq2 = aq2 , b(2q−1)1 = a(2q−1)1
and b(2q−1)2 = a(2q−1)2 .
(c) For a suborder i(p ≤ i ≤ Ord, p = 3 for the
generic case, p = q + 1 for the nongeneric case),
recursively compute the coefficients of the SNF
and the corresponding NT.
(i) Set the general SNF dyj , j = 1, 2 using
the undetermined coefficients bjk .
(ii) Create the variable Hjk which is used to
eliminate the terms higher than the given
Ord in the nonlinear functions fj so that
computation time can be reduced.
(iii) Set the general nonlinear functions fj , j =
1, 2, using Hjk .
(iv) Substitute the NT Hjk and the SNF dyj
into the differential equations, and pick up
the expression of the particular suborder
i, Resj .
(v) From Resj obtained above, find the expressions of the coefficients for each binomial y1l y2m .
(vi) By balancing the coefficient of each binomial, solve the coefficients of the ith-order
NT, cjkl .
(vii) Solve the coefficients of the ith-order
SNF, bjk .
(d) Write the SNF and NT into the output file
“Nform”.
1322 Y. Yuan & P. Yu
5. Examples
In this section, we shall apply the results presented
in previous sections and the Maple programs we
developed to compute the SNF for three examples:
one is a generic case and two are nongeneric cases.
where the linearized system evaluated at the equilibrium xi = 0 has a double zero eigenvalue λ1 =
λ2 = 0, two real eigenvalues λ3 = −1 and λ = −2,
and a complex conjugate eigenvalue λ5,6 = −3 ± i.
The Jacobian of system (69) is in the real Jordan
canonical form

5.1. Generic case
0

0

0

J =
0


0
0
Consider the following six-dimensional system:
ẋ1 = x2 + (x1 − x2 )2 + x31 ,
ẋ2 = x21 + x1 x2 − x3 x6 ,
ẋ3 = −x3 + x1 x2 ,
1
0
0
0
0
0
0
0
0
0
−1
0
0 −2
0
0
0
0
(69)
ẋ4 = −2x4 + x22 + x2 x5 ,
ẋ5 = −3x5 + x6 + x21 + x25 ,
ẋ6 = −x5 − 3x6 + x22 − x5 x6 ,

0
0

0
0

0
0

.
0
0

−3
1

−1 −3
(70)
First, to find the CNF of system (69), we may
apply the symbolic computer program written in
Maple, developed by Bi and Yu [1998]. Executing
the program on a PC gives the following CNF, up to
twelveth order:
ẏ1 = y2 ,
ẏ2 = y12 + 3y1 y2 − 3y13 + y12 y2 +
7 4 17 3
701 5 9137 4
42107 6 7423 5
y1 −
y1 y2 +
y1 +
y1 y2 −
y −
y y2
6
5
300
3000
9000 1 3750 1
+
979459 7 22430389 6
534442189 8 11061787831 7
8075670571 9
y1 −
y1 y2 −
y1 +
y1 y2 +
y
112500
1125000
315000000
656250000
1312500000 1
−
1370455707811 8
853359615743 10 229911294292559 9
y1 y2 +
y −
y1 y2
15750000000
5062500000 1
47250000000
+
5532015915671401 11 12845282546240776451 10
1118788072298164650737 12
y1 +
y1 y2 +
y1
88593750000000
354375000000000
146179687500000000
−
6849699966260673924007 11
y1 y2 .
12181640625000000
(71)
The coefficients given in the above equation can be written in the form of aj1 and aj2 according to formula
(10). By noting that a21 = 1 and a22 = 3, we know that this is a generic case. Then we use these coefficients
to execute the Maple program for the generic case (see Appendix A for the Maple source code) to find the
SNF for this example
u̇1 = u2 ,
u̇2 = u21 + 3u1 u2 − 3u31 +
+
25 4 16111 5 819560389 7 1032126539418787 8
u −
u +
u −
u1
12 1 10500 1
11025000 1
1197315000000
(72)
10854565361989217228167 10 11284804169243094656527661617 11
u1 −
u1 .
68446507500000000
2875780012612500000000
It should be noted that although the original differential equation (69) has integer coefficients only, the
Maple program can deal with other real numbers or symbolic notations. The examples given in the next
subsection have noninteger coefficients and purely symbolic notations.
Computation of Simplest Normal Forms 1323
5.2. Nongeneric case
The first nongeneric example is described by the following five-dimensional system:
6
1
x1 x4 + x53 ,
5
2
2
5
= x1 x3 + 5x2 x5 + x22 ,
3
7
1
23
x2 x5 ,
= − x3 − 11x1 x3 +
3
37
1
= −2x4 + x5 + x21 + x2 x3 ,
3
3
1
12
= −x4 − 2x5 + x23 +
x2 x5 +
x1 x2 x4 ,
8
11
17
ẋ1 = x2 −
ẋ2
ẋ3
ẋ4
ẋ5
(73)
where the linearized system evaluated at the equilibrium xi = 0 has a double zero eigenvalue λ1 = λ2 = 0,
one real eigenvalue λ3 = −(1/3) and a complex conjugate eigenvalues λ4,5 = −2 ± i. The Jacobian of
system (73) is in the real Jordan canonical form

0

0



J2 =  0



0
0
1
0
0
0
1
0 −
3
0
0
0
0
0
0
0

0

0



0.



1
(74)
−2
−1 −2
Again we may execute the earlier developed Maple program [Bi & Yu, 1998] to find the CNF up to, say,
twelveth-order:
ẏ1 = y2 ,
ẏ2 = −
61 2
1691 3
12 5 27720771 4
15186 6 342651715121 5
y y2 −
y y2 −
y +
y y2 −
y −
y y2
25 1
1295 1
25 1
4532500 1
32375 1
1308759375 1
+
3522468 7 10192787233229674461 6
271434102818 8
y1 +
y1 y2 −
y
1133125
1200514068359375
2181265625 1
−
2790383188390661537021 7
3886921597677976259 9
y1 y2 +
y1
10084318174218750
960411254687500
+
146793964213707912816711053401 8
1203123670798415584439 10
y1 y2 −
y1
16306342487711718750000
9084971328125000
−
68610251543104077757128557738773 9
11772311915761189572200045633 11
y1 y2 +
y1
234630150239851953125000
2717723747951953125000
+
2792735076096348700710140797028656732397 10
y1 y2
294479169031501689605712890625
−
4985977862970959886580039393748893 12
y1
35194522535977792968750000
−
989299113525983837803187703050694576378260833 11
y1 y2 .
3221649225871673524556835937500000
(75)
1324 Y. Yuan & P. Yu
Note from Eq. (75) that a21 = a31 = a41 = 0, a51 = −(12/25) and a22 = 0, a32 = −(61/25), so this is a
nongeneric case for q = 3 [see Eq. (67)]. Therefore, we may use the coefficients given in Eq. (75) to execute
the Maple program for computing the SNF of nongeneric case to obtain
u̇1 = u2 ,
u̇2 = −
61 2
12 5 27720771 4
15186 6 3522468 7
u u2 −
u +
u u2 −
u +
u
25 1
25 1
4532500 1
32375 1 1133125 1
+
21783827541839419117487 6
68116672753368 8
u1 u2 −
u
2451449727589843750
2227072203125 1
+
4148414910456651217839 9 593635133990260643300861823 10
u1 −
u1
980579891035937500
10059858245764140625000
−
2597554553481404492960312962660722374988230962613 9
u1 u2
8603988865553381693555335500827500000000
+
879469374299902950064829855697349728027 11
u1
137445527563285435649136953125000
−
5769393864264746786225066455568513258640389371551 12
u1 .
41365331084391258142092959138593750000000
The SNF given by Eqs. (72) and (76) indeed shows
that a CNF can be further simplified.
To conclude this section, we present another
example which has been considered by Algaba
et al. [2001]. Assume we start from the CNF (10):
ẏ2 =
where
20a31 a22 a32 a42 +5a61 a322 +45a31 a61 a22
−5a41 a222 a42 +63a31 a41 a42
b52 = a52 −
,
a31 (9a31 +a222 )
..
.
ẏ1 = y2 ,
n
X
(76)
(79)
However, executing our Maple program for the same
system results in the following SNF:
(aj1 y1j + aj2 y1j−1y2 )
j=2
u̇1 = u2 ,
with the assumption
u̇2 = a22 u1 u2 + a31 u31 + a32 u21 u2 + a41 u41
a21 = 0 ,
a22 6= 0 ,
a31 6= 0 ,
(77)
+ a51 u51 + b61 u61 + b71 u71 + b81 u81
which indicates that this is a nongeneric case with
q = 2. The SNF form given by Algaba et al. [2001],
called hypernormal form, is
a31 u31
+
a32 u21 u2
+ ···
7a31 a222 a52 +5a41 a42 a222 −20a31 a32 a42 a22
+63a52 a231 −63a31a41 a42
b61 = a61 −
,
5a22 (9a31 +a222 )
+ a41 u41
+ a51 u51 + b52 u41 u2 + b62 u51 u2
+ b72 u61 u2 + b82 u71 u2 + b92 u81 u2
11
+ b102 u91 u2 + b112 u10
1 u2 + b122 u1 u2
+ ···
11
12
+ b91 u91 + b101 u10
1 + b111 u1 + b121 u1
where
u̇1 = u2 ,
u̇2 = a22 u1 u2 +
(80)
(78)
..
.
(81)
It is noted that the SNF (80) obtained by our Maple
program is different from that given by Eq. (78).
Computation of Simplest Normal Forms 1325
Starting from the sixth-order term (the second line
of the equation u̇2 ), Algaba et al. used the form
k
uk−1
1 u2 while we use the form u1 , but the numbers of the terms higher than the fifth-order are the
same. However, it is noted by comparing the first
line of the equation u̇2 that Eq. (78) has an extra
term b52 . This seems to show that our SNF (80) is
simpler than the hypernormal form (78).
6. Conclusions
A method is presented to compute the simplest normal forms for a double zero singularity. Explicit,
recursive formulae have been derived which can be
directly implemented on a computer algebra system. User-friendly symbolic computation programs
written in Maple have been developed. Examples
are given to show the applicability of the methodology and the efficiency and convenience of the Maple
programs.
Acknowledgment
This work was supported by the Natural Sciences
and Engineering Research Council of Canada.
References
Algaba, A., Freire, E. & Gamero, E. [1998] “Hypernormal form for the Hopf-zero bifurcation,” Int. J. Bifurcation and Chaos 8, 1857–1887.
Algaba, A., Freire, E. & Gamero, E. [2001] “Characterizing and computing normal forms using Lie transforms:
A survey,” Dynamics of Continous, Discrete and
Impulsive Systems (DCDIS), to appear.
Baider, A. & Sanders, J. A. [1992] “Further reduction
of the Takens–Bogdanov normal forms,” J. Diff. Eqn.
99, 205–244.
Bi, Q. & Yu, P. [1998] “Computation of normal forms of
differential equations associated with non-semisimple
Appendix A
Maple Source Codes
A.1. Maple code for generic case
read input:
solution := proc(n)
local i:
global c, cof:
for i from n by -1 to 1 do
zero eigenvalues,” Int. J. Bifurcation and Chaos 8,
2279–2319.
Broer, H. W., Chow, S.-N., Kim, Y. I. & Vegter, G. [1995]
“The hamiltonian double-zero eigenvalues,” Fields
Inst. Commun. 4, 1–29.
Chow, S.-N., Li, C.-Z. & Wang, D. [1994] Normal Forms
and Bifurcation of Planar Vector Fields (Cambridge
University Press, Cambridge).
Chua, L. O. & Kokubu, H. [1988a] “Normal forms for
nonlinear vector fields — Part I: Theory and algorithm,” IEEE Trans. Circuits Syst. 35, 863–880.
Chua, L. O. & Kokubu, H. [1988b] “Normal forms for
nonlinear vector fields — Part II: Applications,” IEEE
Trans. Circuits Syst. 36, 51–70.
Cushman, R. & Sanders, J. A. [1986] “Nilpotent normal
forms and representation theory of sl(2,R),” Contemporary Mathematics 56, 31–51.
Cushman, R. & Sanders, J. A. [1988] “Normal form
for (2;n-nilpotent vector field, using invariant theory,”
Physica D30, 399–412.
Elphick, C., Tirapegui, E., Brachet, M. E., Coullet, P. &
Iooss, G. [1987] “A simple global characterization for
normal forms of singular vector fields,” Physica A29,
95–127.
Guckenheimer, J. & Holmes, P. [1983] Nonlinear Oscillations, Dynamical Systems, and Bifurcations of Vector
Fields (Springer-Verlag, NY).
Kokubu, H, Oka, H. & Wang, D. [1996] “Linear grading
function and further reduction of normal forms,” J.
Diff. Eqn. 132, 293–318.
Nayfeh, A. H. [1993] Methods of Normal Forms (John
Wiley, NY).
Wang, D., Li, J., Huang, M. & Jiang, Y. [2000] “Unique
normal forms of Bogdanov–Takens singularity,” J.
Diff. Eqn. 163, 223–238.
Yu, P. & Huseyin, K. [1986] “Static and dynamic bifurcations associated with a double zero eigenvalue,” Dyn.
Stab. Syst. 1, 73–86.
Yu, P. [1999] “Simplest normal forms of Hopf and generalized Hopf bifurcations,” Int. J. Bifurcation and
Chaos 9, 1917–1939.
Yu, P. & Yuan, Y. [1999] “Simplest normal form of
a codimension-two system,” Proc. 17th CANCAM,
Hamilton, Canada, May 30–June 3, 1999, pp. 367–378.
1326 Y. Yuan & P. Yu
c[2,i,n-i] := solve(cof[2,i-1,n-i+1], c[2,i,n-i]):
c[1,i,n-i] := solve(cof[1,i-1,n-i+1], c[1,i,n-i]):
od:
end:
b[2,1] := a[2,1]:
b[2,2] := a[2,2]:
dy1
:= y2:
dy2
:= b[2,1]*y1^2 + b[2,2]*y1*y2:
du1
:= u2:
du2
:= b[2,1]*u1^2 + b[2,2]*u1*u2:
H[1,1] := y1:
H[2,1] := y2:
H[1,2] := H[1,1] + c[1,0,2]*y2^2 + c[2,0,2]*y1*y2:
H[2,2] := H[2,1] + c[2,0,2]*y2^2:
for m from 3 to Ord do
H[1,m] := H[1,m-1]:
H[2,m] := H[2,m-1]:
for j from 0 to m do
H[1,m] := H[1,m] + c[1,j,m-j]*y1^j*y2^(m-j):
H[2,m] := H[2,m] + c[2,j,m-j]*y1^j*y2^(m-j):
od:
dy2 := dy2 + b[m,1]*y1^m + b[m,2]*y1^(m-1)*y2:
od:
for m from 3 to Ord do
f[1] := H[2,m]:
f[2] := 0:
for j from 2 to m do
f[2] := f[2]+a[j,1]*H[1,m-j+1]^j+a[j,2]*H[1,m-j+1]^(j-1)*H[2,m-j+1]:
od:
for i from 1 to 2 do
res[i] := diff(H[i,m],y1)*dy1 + diff(H[i,m-1],y2)*dy2 - f[i]:
res[i] := subs(y1=eps*y1, y2=eps*y2, res[i]):
res[i] := subs(eps=0,diff(res[i],eps$m)/m!):
od:
for i from 1 to 2 do
for j from 0 to m do
cof[i,j,m-j] := diff(res[i],y1$j,y2$(m-j))/j!/(m-j)!:
cof[i,j,m-j] := simplify(subs(y1=0,y2=0, cof[i,j,m-j])):
od:
od:
if
m=3 then
b[m,2]
:= 0:
c[2,0,2] := solve(cof[2,m-1,1]+m*cof[1,m,0], c[2,0,2]):
b[m,1]
:= solve(cof[2,m,0], b[m,1]):
solution(m):
else
if
modp(m,3)=1 then
k
:= (m-1)/3:
b[m,2]
:= 0:
c[1,0,2*k] := solve(cof[2,m-1,1]+m*cof[1,m,0], c[1,0,2*k]):
b[m,1]
:= solve(cof[2,m,0], b[m,1]):
solution(m):
Computation of Simplest Normal Forms 1327
elif modp(m,3)=2 then
k
:= (m-2)/3:
b[m,2]
:= 0:
c[2,0,2*k+1]:= solve(cof[2,m-1,1]+m*cof[1,m,0], c[2,0,2*k+1]):
b[m,1]
:= solve(cof[2,m,0], b[m,1]):
solution(m):
elif modp(m,3)=0 then
k
:= (m-3)/3:
b[m,2]
:= 0:
b[m,1]
:= 0:
c[1,0,2*k+1]:= solve(cof[2,m,0], c[1,0,2*k+1]):
c[2,0,2*k+2]:= solve(cof[2,m-1,1]+m*cof[1,m,0], c[2,0,2*k+2]):
solution(m):
fi:
fi:
du2 := du2 + b[m,1]*u1^m:
od:
save du1, du2, ‘Nform‘;
A.2. Maple code for nongeneric case
read input:
nu := q-1:
for i from 2 to 2*nu do
a[i,1] := 0:
b[i,1] := 0:
od:
if nu > 1 then
for i from 2 to nu do
a[i,2] := 0:
b[i,2] := 0:
od:
fi:
solution := proc(n)
local i:
global c, cof:
c[2,n,0]
:= solve(cof[1,n,0],c[2,n,0]):
c[1,1,n-1] := solve(cof[1,0,n],c[1,1,n-1]):
for i from n-1 by -1 to 1 do
c[2,i,n-i] := solve(cof[2,i-1,n-i+1],c[2,i,n-i]):
od:
for i from n by -1 to 2 do
c[1,i,n-i] := solve(cof[1,i-1,n-i+1],c[1,i,n-i]):
od:
end:
b[2*nu+1,1] := a[2*nu+1,1]:
b[nu+1,2]
:= a[nu+1,2]:
b[2*nu+1,2] := a[2*nu+1,2]:
dy1
:= y2:
dy2
:= b[2,1]*y1^2 + b[2,2]*y1*y2:
du1
:= u2:
1328 Y. Yuan & P. Yu
du2
:= b[2,1]*u1^2 + b[2,2]*u1*u2:
H[1,1] := y1:
H[2,1] := y2:
H[1,2] := H[1,1] + c[1,0,2]*y2^2 + c[2,0,2]*y1*y2:
H[2,2] := H[2,1] + c[2,0,2]*y2^2:
for m from 3 to Ord do
H[1,m] := H[1,m-1]:
H[2,m] := H[2,m-1]:
for j from 0 to m do
H[1,m] := H[1,m] + c[1,j,m-j]*y1^j*y2^(m-j):
H[2,m] := H[2,m] + c[2,j,m-j]*y1^j*y2^(m-j):
od:
dy2 := dy2 + b[m,1]*y1^m + b[m,2]*y1^(m-1)*y2:
od:
for m from 3 to Ord do
f[1] := H[2,m]:
f[2] := 0:
for j from 2 to m do
f[2] := f[2]+a[j,1]*H[1,m-j+1]^j+a[j,2]*H[1,m-j+1]^(j-1)*H[2,m-j+1]:
od:
for i from 1 to 2 do
res[i]
:= diff(H[i,m],y1)*dy1 + diff(H[i,m-1],y2)*dy2 - f[i]:
res[i]
:= subs(y1=eps*y1, y2=eps*y2, res[i]):
res[i]
:= subs(eps=0,diff(res[i],eps$m)/m!):
cof[i,1,0] := diff(res[i], y1):
cof[i,0,1] := diff(res[i], y2):
for j from 2 to m do
for k from j by -1 to 1 do
cof[i,k,j-k] := diff(cof[i,k-1,j-k],y1):
od:
cof[i,0,j] := diff(cof[i,0,j-1],y2):
od:
for j from 0 to m do
cof[i,j,m-j] := simplify(subs(y1=0,y2=0,cof[i,j,m-j])/j!/(m-j)!):
od:
od:
if
m<2*nu+2 then
solution(m):
for k from nu+2 to 2*nu do
b[k,2] := a[k,2]:
od:
elif nu=1 then
for i from 2*nu+2 to Ord do
b[i,2] := 0:
od:
solution(m):
if modp(m,2)=0 then
j := m/2:
c[2,0,j] := solve(cof[2,m-1,1],c[2,0,j]):
else
j := (m-1)/2:
c[1,0,j] := simplify(solve(cof[2,m-1,1],c[1,0,j])):
Computation of Simplest Normal Forms 1329
fi:
b[m,1] := solve(cof[2,m,0],b[m,1]):
else
solution(m):
if modp(m-1,nu+1)=nu-1 or modp(m-1,nu+1)=nu then
b[m,2] := 0:
k := trunc((m-1)/(nu+1)):
if
k=1 then
c[2,0,2]
:= solve(cof[2,2*nu+1,1],c[2,0,2]):
elif modp(m-1,nu+1)=nu-1 then
c[1,0,k]
:= solve(cof[2,k*(nu+1)+nu-1,1],c[1,0,k]):
else
c[2,0,k+1] := solve(cof[2,k*(nu+1)+nu,1],c[2,0,k+1]):
fi:
else
b[m,2] := solve(cof[2,m-1,1],b[m,2]):
fi:
b[m,1] := solve(cof[2,m,0],b[m,1]):
fi:
du2 := du2 + b[m,1]*u1^m + b[m,2]*u1^(m-1)*u2:
od:
save Ord, du1, du2, ‘Nform‘;
Appendix B
Maple Input Files
For convenience, the input data for the SNF of the two numerical examples are listed in this appendix. A
user may use the Maple source codes listed in Appendix A and the input data given below to execute the
programs on one’s PC to find the results presented in this paper.
B.1. The input file for the generic case
Ord
:=
a[2,1] :=
a[2,2] :=
a[3,1] :=
a[3,2] :=
a[4,1] :=
a[4,2] :=
a[5,1] :=
a[5,2] :=
a[6,1] :=
a[6,2] :=
a[7,1] :=
a[7,2] :=
a[8,1] :=
a[8,2] :=
a[9,1] :=
a[9,2] :=
a[10,1]:=
a[10,2]:=
-
-
-
-
12:
1:
3:
3:
1:
7/6:
17/5:
701/300:
9137/3000:
42107/9000:
7423/3750:
979459/112500:
22430389/1125000:
534442189/315000000:
11061787831/656250000:
8075670571/1312500000:
1370455707811/15750000000:
853359615743/5062500000:
229911294292559/47250000000:
1330 Y. Yuan & P. Yu
a[11,1]:=
a[11,2]:=
a[12,1]:=
a[12,2]:= -
5532015915671401/88593750000000:
12845282546240776451/354375000000000:
1118788072298164650737/146179687500000000:
6849699966260673924007/12181640625000000:
B.2. The input file for the nongeneric case
Ord
:=
q
:=
a[2,1] :=
a[2,2] :=
a[3,1] :=
a[3,2] :=
a[4,1] :=
a[4,2] :=
a[5,1] :=
a[5,2] :=
a[6,1] :=
a[6,2] :=
a[7,1] :=
a[7,2] :=
a[8,1] :=
a[8,2] :=
a[9,1] :=
a[9,2] :=
a[10,1]:=
a[10,2]:=
a[11,1]:=
a[11,2]:=
a[12,1]:=
a[12,2]:=
-
-
-
-
12:
3:
0:
0:
0:
61/25:
0:
1691/1295:
12/25:
27720771/4532500:
15186/32375:
342651715121/1308759375:
3522468/1133125:
10192787233229674461/1200514068359375:
271434102818/2181265625:
2790383188390661537021/10084318174218750:
3886921597677976259/960411254687500:
146793964213707912816711053401/16306342487711718750000:
1203123670798415584439/9084971328125000:
68610251543104077757128557738773/234630150239851953125000:
11772311915761189572200045633/2717723747951953125000:
2792735076096348700710140797028656732397/294479169031501689605712890625:
4985977862970959886580039393748893/35194522535977792968750000:
989299113525983837803187703050694576378260833/3221649225871673524556835937500000: