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:
© Copyright 2026 Paperzz