Symbolic computation of normal forms for semi-simple cases
Qinsheng Bi1, Pei Yu∗
Department of Applied Mathematics, University of Western Ontario, London, Ont., Canada N6A 5B7 Received 8 December 1997; received in revised form 23 July 1997
Abstract
This paper presents a method and computer programs for computing the normal forms of ordinary dierential equations whose Jacobian matrix evaluated at an equilibrium involves semi-simple eigenvalues. The method can be used to deal with systems which are not necessarily described on a center manifold. An iterative procedure is developed for nding the closed-form expressions of the normal forms and associated nonlinear transformations. Computer programs using a symbolic computer language Maple are developed to facilitate the application of the method. The programs can be conveniently executed on a main frame, a workstation or a PC machine without any interaction. A number of examples are presented to demonstrate the applicability of the method and the computation eciency of the Maple programs.
c
1999 Elsevier Science B.V. All rights reserved. AMS classication:34C20; 58F36; 34A34
Keywords:Normal forms; Semi-simple; Center manifold; Symbolic computation; Maple
1. Introduction
The theory of normal forms has played an important role in the study of dynamic behavior of nonlinear systems near equilibria because it greatly simplies the analysis and formulations. The method of normal forms has been extensively discussed and references can be found, for example, in [1, 5–7]. The normal form theory is usually applied together with center manifold theory. With the conventional approach, rst a series of successive nonlinear transformations are used to nd a locally invariant small-dimensional manifold called center manifold which can exhibit bifurcation and other dynamic behavior of the original system near an equilibrium. Then additional nonlinear transformations are employed to transform the center manifold to a new system in a simpler form called a normal form. In general, to obtain a “form” of a normal form, a homogeneous polynomial
∗Corresponding author. Tel.: (519) 679-2111 ext 8783; fax: (519) 661-3523; e-mail: [email protected].
1Permanent address: Department of Mechanics, Tianjin University, P. R. China, 300072.
vector eld of degree k is found rst and then the original vector eld is decomposed into two parts, of which the so-called non-resonant terms are eliminated and the remaining resonant terms form a normal form. This simple form can be used conveniently for analyzing the dynamic behavior of the original system in the vicinity of an equilibrium.
However, it is not a simple task to nd a normal form for a given system of dierential equations. In particular, it is dicult to derive the explicit formulas of a normal form in terms of the coecients of the original nonlinear system. Therefore, the crucial part in computing normal forms is the computation eciency in nding the coecients of the normal forms and associated nonlinear transformations. Furthermore, algebraic manipulations become very involved as the order of normal forms increases. Thus, symbolic computations using symbolic computer languages such as Maple, Mathematica and Macsyma have been introduced to computing normal forms. For example, Chen and Zhang [3] have coded a symbolic computer program for computing the explicit coecients of the normal form of Hopf bifurcation. Rand and Keith [8] developed a simple and elegant program to compute the coecients of a normal form. However, they do not compute the “form” of the form, but assume that the “form” of the normal form is already known. Later, Chow et al. [4] developed computer programs to improve the method of Rand and Keith. They compute not only the coecients of a normal form, but also the “form” of the normal form. They rst calculate the “form” of a xed matrix A and then compute the normal form of the original dierential equations. Their method is, as usual, applicable only to systems described on a center manifold and it rst needs to nd the normal form of the linear operator A. Moreover, their method requires for computing inverse matrices, which might be very time consuming especially when the dimension of the system or the order of the normal form is high.
In this paper, ecient symbolic computation programs are developed for computing explicit nor-mal forms and associated nonlinear transformations based on the coecients of the original dier-ential equations. The approach used in this paper combines the center manifold theory and normal form theory into one step to simultaneously obtain the closed-form expressions. It does not require for calculating large dimension inverse matrices and therefore, greatly reduces computation time. In fact, although the method deals with a full-dimensional system (including both center manifold and noncenter manifold), the dimension of the matrix system generated from the iterative procedure is the same as that of the center manifold for any high-order normal forms. It has been shown that the approach is very computational ecient and fast, and therefore, is particularly useful for the computation of high-dimensional systems and high-order normal forms [2].
The methodology is described in the next section. Section 3 outlines the symbolic computer programs, and a number of examples are presented in Section 4. Conclusions are drawn in the last section.
2. Methodology
Consider a set of nonlinear ordinary dierential equations, described by
˙
x=Ax+F(x); x∈Rn; F(x) :Rn→Rn; (1)
where Fi and xj are components of F and x, respectively. Eq. (1) can be transformed into
˙
y=Jy+f(y) (2)
under the linear transformation
x=Ty; (3)
such that J is now in Jordan canonical form. The main attention of this paper focuses on the study of semi-simple cases. By letting the eigenvalues of A with zero real parts be 1; 2; : : : ; n0, and those with nonzero real parts be n0+1; n0+1; : : : ; n, one can write J=T
−1AT= diag(J
0; J1), where J0= diag(1; 2; : : : ; n0) corresponding to the eigenvalues of J with zero real parts, J1= diag(n0+1;
n0+2; : : : ; n) corresponding to the eigenvalues of J with nonzero real parts. Further, let y= (w;C)
T,
where w and C are variables associated with the eigenvalues of J with zero real parts and nonzero real parts, respectively. Then, Eq. (2) can be rewritten as
˙
w=J0w+f1(w;C)
˙
C=J1C+f2(w;C): (4)
With the aid of the center manifold theory, one may dene C in the form
C=V(w); V(0) =0; @Vj(0) @wi
= 0 (i= 1;2; : : : ; n0; j=n0+ 1; : : : ; n); (5)
satisfying
DwV(w)[J0w+f1(w;V(w))] =J1V(w) +f2(w;V(w)): (6)
Once V(w) is found from the above equation, the center manifold may be described as
˙
w=J0w+f1(w;V(w)): (7)
Furthermore, Eq. (7) can be transformed into a set of simpler dierential equations — the normal form
˙
u=J0u+C(u) (8)
by using a series of successive nonlinear transformations
w=u+X
k¿2
Wk(u) =u+W(u); (9)
where Wk(u) represents a kth-order homogeneous polynomial of u. Now substituting (9) into (7) results in
(I +DuW) ˙u=J0(u+W) +f1(u+W(u);V(u+W(u))): (10)
A conventional approach for solving Eq. (10) is to use the Taylor expansion
and substitute it into (10) to obtain
˙
u= [I +DuW]−1[J
0(u+W) +f1(u+W(u);V(u+W(u)))]
= [I −DuW + (DuW)2−(DuW)3+· · ·][J0u+J0W +f1(u+W(u);V(u+W(u)))]: (12)
The diculties involved in the above procedure are not only that one has to handle a large amount of algebraic manipulations, but also that one does not know how to choose the number of terms given in (11) for a given order of normal forms. In order to overcome the diculties due to the computation of the inverse of (I+DuW) an alternative approach may be used. This can be achieved
as follows: rst substituting (8) into (10) yields
(I +DuW(u)) [J0u+C(u)] =J0(u+W(u)) +f1(u+W(u);V(u+W(u))) (13)
which can be rearranged as
DuW(u)J0u−J0W(u) =f1(u+W(u);V(u+W(u)))−DuW(u)C(u)−C(u): (14)
Next, to nd the expression of the center manifold, one may substitute (9) into (6) to obtain
DwV(w){J0(u+W(u)) +f1(u+W(u);V(u+W(u)))}
=J1V(u+W(u)) +f2(u+W(u);V(u+W(u))): (15)
Now, rewrite (14) as
J0W(u) +f1(u+W(u)) =DuW(u)J0u+DuW(u)C(u) +C(u); (16)
and then substitute the above equation into (15) to give
DwV(w)(I+DuW(u))(J0u+C(u))
=J1V(u+W(u)) +f2[u+W(u);V(u+W(u))] (17)
which can be rewritten as
DuV(u+W(u))J0u−J1V(u+W(u))
=f2[u+W(u);V(u+W(u))]−DuV(u+W(u))C(u): (18)
Finally, combining (18) with (14) yields
Du
W(u) ˜
V(u)
!
J0u− J
0 0
0 J1
W(u)
˜
V(u)
!
= f1(u+W(u);V˜(u))
f2(u+W(u);V˜(u))
!
−Du
W(u) ˜
V(u)
!
C(u)−
C(u)
0
; (19)
where ˜V(u) =V(u+W(u)), Let
H(u) = W˜ (u)
V(u)
!
; f(u) = f1(u+W(u);V˜(u))
f2(u+W(u);V˜(u))
!
; C =
C(u)
0
then (19) can be written in a compact form
DuH(u)J0u−JH(u) =f(u)−DuH(u)C(u)−C(u): (21)
Eq. (21) is all what we need for computing the normal forms and nonlinear transformations of system (1). If one can nd the expressions of H(u) and C(u) from Eq. (21), one then have obtained the normal forms and associated nonlinear transformations. In general, however, the closed-form solutions of Eq. (21) cannot be found. Thus, approximate solutions may be assumed in the form of
main results obtained using the procedure discussed above are summarized below.
If the eigenvalues of A with zero real parts are all semi-simple; then Eq. (21) can be written in the form
with zero real parts.
This can be shown as follows. First note that when the eigenvalues of A with zero real parts are all semi-simple, then J0 can be put in the form
= X
m1+···+mn0=m
" n0 X
i= 1 @ @ui
(Hm1m2::: mn0u
m1
1 u
m2
2 : : : u
mn0
n0 )iui
#
= X
m1+···+mn0=m
(m11+m22+· · ·+mn0n0)Hm1m2::: mn0u
m1
1 u
m2
2 : : : u
mn0
n0
= X
m1+···+mn0=m
0Hm1m2::: mn0u
m1
1 um22· · ·u
mn0
n0 : (27)
Finally, substituting Eq. (27) into (21) and comparing the coecients of the components um1
1 um2
2 : : : u
mn0
n0 in the resulting equation yields Eq. (25), and this completes the proof. It is noted that the solution of Eq. (25) is related to the singularity of the matrix
A0=0I −J: (28)
So, according to the normal form theory,Cm1m2::: mn0 must be in the complementary space of rangeA0. If we can nd all the coecients Hm1m2::: mn0 and Cm1m2::: mn0 which satisfy Eq. (25), then we have
solved the problem. To achieve this, we need to treat the nonresonant and resonant terms separately. (1) Nonresonant terms. In this case, it can be shown that (A0)6= 0 (the notation (A0) denotes
the eigenvalues of A0) implying that A0 is nonsingular. Therefore, Hm1m2::: mn0 can always be determined for a given Cm1m2::: mn0. In order to obtain a normal form for this particular order as
simple as possible, one may choose Cm1m2::: mn0=0, and thus,
Cm1m2···mn0=0;
Hm1m2···mn0=A −1
0 f˜m1m2···mn0: (29)
(2) Resonant terms. For this case, (A0) = 0, which implies that A0 is singular, and thus,Hm1m2···mn0
cannot be uniquely determined from Eq. (25) for a given Cm1m2···mn0. The procedure of nding the coecients of Hm1m2···mn0 and Cm1m2···mn0 for this case is as follows. Suppose that the number of zero eigenvalues of A0 is s, then the eigenvalues of A0 can be expressed as {0;0; : : : ;0; s+1; s+2; : : : ; n}, and thus the matrix A0 can be written as
A0= diag (0;0; : : : ;0; s+1; s+2; : : : ; n): (30)
Further, dene the complementary linear operator of A0 as A∗, given by
A∗= diag(1;1; : : : ;1;0;0; : : : ;0); (31)
where the number of 1’s is s and the number of 0’s is n−s. Consequently, A=A0 +A∗ is
nonsingular, and Eq. (25) becomes
( A−A∗)Hm1m2···mn0= ˜fm1m2···mn0 −
Cm1m2···mn0; (32)
where A−A∗=A0 is singular. In order to uniquely determine Hm1m2···mn0 and Cm1m2···mn0 from
Eq. (32), the following procedure is developed. First, introduce a variable Hm1m2···mn0 in the auxiliary equation
from which Hm1m2···mn0 can be uniquely determined as
Hm1m2···mn0= A −1f˜
m1m2···mn0 (34)
because A is nonsingular. Next, choose
Cm1m2···mn0=A∗Hm1m2···mn0 (35)
which indicates that the n0-dimensional vectorCm1m2···mn0, having at most s nonzero components,
yields a simple form in this order. Finally, Hm1m2···mn0 can be determined from the equation
Hm1m2···mn0= A
−1( ˜f
m1m2···mn0 −
Cm1m2···mn0): (36)
It is easy to show that the uniquely determined coecients Cm1m2···mn0, given by Eq. (35), and
Hm1m2···mn0, described by Eq. (36), satisfy Eq. (32).
We summarize the above results below:
For a xed m; the coecients; Cm1m2···mn0; of the normal form and the corresponding coecients;
Hm1m2···mn0; of the nonlinear transformation are determined from the following formulas. (i) If A0 is nonsingular; then
Cm1m2···mn0=0;
Hm1m2···mn0=A
−1
0 f˜m1m2···mn0:
(ii) If A0 is singular; then
Cm1m2···mn0=A∗A −1f˜
m1m2···mn0;
Hm1m2···mn0= A
−1( ˜f
m1m2···mn0 −
Cm1m2::: mn0);
where A=A0+A∗.
(iii) In order to nd the explicit expression of the center manifold; let Hm1m2···mn0= (H (1)
m1m2···mn0;
H(2)
m1m2···mn0)
T; where the superscripts (1) and (2) denote the parts of H
m1m2···mn0 corresponding
to J0 and J1 of J; respectively. Then combining Eqs. (5), (19) and (21) yields the center manifold; described by
H(u) = X
m¿2 
X
m1+m2+···+mn0=m
Hm(2)1m2···mn
0u
m1
1 u
m2
2 : : : u
mn0
n0
:
3. Outline of symbolic computer programs
formulas. The symbolic computer programs including the source code and the input le are listed in Appendices A and B. In this section, we shall outline the computer programs.
3.1. Create the input le
(a) Set the variables:
m1 — the number of the zero eigenvalues of the Jacobian.
m2 — the number of pairs of pure imaginary eigenvalues of the Jacobian. m3 — the number of the nonzero real eigenvalues of the Jacobian.
m4 — the number of pairs of complex conjugate eigenvalues of the Jacobian.
norder — the order of normal forms to be computed.
cc — the dimension of center manifold.
(b) Create the vector eld, i.e., the functions fi; i= 1;2; : : : ; n; n=m1+ 2m2+m3 + 2m4 is the
dimension of the system.
3.2. Compute the normal form and nonlinear transformation
(a) Read a prepared input le.
(b) Transform the original system given in real coordinates (x1; x2; : : : ; xn)T to a new system
de-scribed in complex coordinates (v1; v2; : : : ; vn)T.
(c) Compute the jth-order vector eld, Gi.
(d) Compute the jth-order normal form, Fj, and the jth-order nonlinear transformation, Tj.
(i) Compute the coecients of the jth-order normal form, Ci1; j1; j2;:::; jcc, and the jth-order
non-linear transformation, Hi2; j1; j2;:::; jcc, where i1= 1;2; : : : ; cc; i2= 1;2; : : : ; n.
(ii) Use the coecients Ci1; j1; j2;:::; jcc and Hi2; j1; j2;:::; jcc to form the jth-order normal form, Fj, and
the jth-order nonlinear transformation, Tj.
(e) When j¡norder, repeat step (d).
(f) Transform the normal form and nonlinear transformation obtained in complex form back to real form.
(g) Write the normal form and nonlinear transformation into the output les NF and NT, respec-tively.
4. Examples
Example 1. The system is described by the following dierential equations:
˙
x1=−x2−(x3−x1)2;
˙
x2=x1; (37)
˙
x3=−(x3−x1)2:
This is a three-dimensional system having an equilibrium x1=x2=x3= 0, and its Jacobian matrix
evaluated at the equilibrium has a simple zero and a pair of pure imaginary eigenvalues, ±i. Chow et al. have studied this system and given the normal form of this system in cylindrical coordinates up to 4th-order [4]. By executing our Maple program, we obtained the following normal form up to 5th-order in cylindrical coordinates:
˙
r=rz+41
36r 3z
−17 4rz
3;
˙
= 1− 1
24r 2+3
2z 2
−2237 6912r
4+ 191 24r
2z2
−75 8z
4; (38)
˙
z=−1
2r 2
−z2
−271 288r
4+9 8r
2z2+ 4z4;
and the nonlinear transformation (up to 5th-order) is in the form
xi=yi+fi(y1; y2; y3); i= 1;2;3 (39)
which is not listed here for brevity, but its postscript le is available from the web site: http:==pyu1. apmaths.uwo.ca=p˜yu=pub=preprints(the le’s name is Nontr2.ps=Nontr2.dvi). The relation between the Cartesian coordinates (y1; y2; y3) and the cylindrical coordinates (r; ; z) is given by
y1=rcos; y2=rsin; y3=z: (40)
It is noted that the normal form (38) is identical to that given by Chow et al. [4] if the last three terms involved in the second equation of (38) are dropped, which are contributed from the 5th-order terms of the normal form.
Example 2. This example is a ve-dimensional system:
˙
x1=x2+x21−x1x3;
˙
x2=−x1+x22+x1x4+x32;
˙
x3=−x3+x21; (41)
˙
x4=−x4+x5+x21;
˙
x5=−x4−x5+x22:
The Jacobian matrix of this system evaluated at the equilibriumxk= 0; k= 1;2; : : : ;5 has the
eigen-values ±i;−1 and −1±i, two of them have zero real parts, implying that the center manifold is two dimension. The computer output from the SGI Octane R10000 workstation gives the following normal form in polar coordinates up to 5th-order:
˙
r=403r3−14 86768 000r5;
(42) ˙
= 1− 7
12r
2+ 5 691 403 14 688 000r
The nonlinear transformations are given in the form of
x1=y1+f1(y1; y2);
x2=y2+f2(y1; y2); (43)
xi=fi(y1; y2); i= 3;4;5;
of which the rst two equations give the nonlinear transformation between the coordinates (x1; x2)
and (y1; y2), while the remaining three equations actually represent the projection of the original
system to the two-dimensional center manifold. The detailed nonlinear transformation again can be found from http:==pyu1.apmaths.uwo.ca/˜pyu=pub=preprints (le name Nontr2.ps=Nontr2.dvi). The transformation between the Cartesian coordinates (y1; y2) and the polar coordinates (r; ) is given by
y1=rcos; y2=rsin: (44)
Example 3. Consider the following system:
˙
whose Jacobian matrix evaluated at the origin involves a simple zero and a pair of pure imaginary eigenvalues,±i. So, this example has the same center manifold as that of Example 1, but it includes noncritical eigenvalues. However, the formulas and programs given in this paper can still be used to obtain the normal form of the system in one step without using center manifold theory. Executing our Maple programs gives the following normal form up to 5th-order:
˙
and the nonlinear transformation can be found in the postscript le Nontr2.ps=Nontr2.dvi.
Example 4. The equations are described by
˙
x6=−x6+x7+ (x1−x4)2;
˙
x7=−x6−x7+ (x2−x6)2: (47)
The Jacobian matrix evaluated at the origin involves two pairs of pure imaginary eigenvalues: ±i and ±√2i. (Thus, two frequencies are !1= 1 and !2=
√
2.) This is an internal nonresonant case. The normal form up to 5th-order given in polar coordinates is as follows:
˙
The nonlinear transformation between the coordinates xi andyi can also be found from the postscript
le Nontr2.ps=Nontr2.dvi. The relation between (y1; y2; y3; y4) and (r1; 1; r2; 2) is given by
y1=r1sin(1); y2=r1cos(1); y3=r2sin(2); y4=r2cos(2): (49)
It should be noted from the normal form (48) that the equations describing the amplitudes r1 and r2 are decoupled from the phases 1 and 2, as expected from the characteristics of nonresonance.
Example 5. The equations of this example are given by
˙
where the last three equations are identical to that of Example 4. Now, the two frequencies are equal, !1=!2= 1. This is called internal resonance. Computer output gives the following normal form (up to 5th-order):
˙
The corresponding nonlinear transformation is given in the same le Nontr2.ps=Nontr2.dvi. The transformation between the Cartesian system (y1; y2; y3; y4) and the polar system (r1; 1; r2; 2) is
given by still Eq. (49). However, the dierence between the resonant and nonresonant cases can be observed from Eqs. (48) and (51) that the amplitudes r1 and r2 for the resonant case are coupled
with the phases 1 and 2.
Example 6. The nal example illustrates a more complicated system, described by the nine-dimensional system:
It is easy to see that the Jacobian of system (52) includes three pairs of pure imaginary eigenvalues at the origin, and the frequencies are 1;2 and 3, which is a 1 : 2 : 3 internal resonance. The following listed is the normal form up to 5th-order obtained from the computer output.
−(76 067
The nonlinear transformation is again given in the postscript leNontr2.ps=Nontr2.dvi. It can be seen that the above normal form is much more complicated than the preceding ve examples because more variables are involved in the internal resonances and therefore, more interactions between amplitudes and phases exist. The complexity of the normal form indicates that the original system may exhibit more complicated dynamic behavior.
5. Conclusions
that the method is computationally ecient and fast, particularly suitable for the computations of high-dimensional systems and higher-order normal forms.
Acknowledgements
The authors gratefully acknowledge the support of the Natural Sciences and Engineering Research Council of Canada. Q. B. also would like to acknowledge partial support received from China Scholarship Council.
Appendix A: The Maple source code
In this appendix, the source code written in Maple is listed, which can be used for computing the normal form and nonlinear transformation of a given system associated with semi-simple cases: the Jacobian of the system includes the combination of zero and pairs of pure imaginary eigenvalues. Note: the Maple source code (named program4) and the input le (named input4) are available from the web site http:==pyu1.apmaths.uwo.ca= ˜pyu=pub=software.
# This symbolic Maple program was developed to find the
# Normal Forms of ordinary differential equations
# associated with semi-simple cases: the Jacobian of the
# system includes the combination of zero and pairs of pure
# imaginary eigenvalues. The theory and methodology are
# described in paper "Symbolic computation for normal forms
# of differential equations" by Q. Bi and P. Yu, published in
# the Journal of Computational and Applied Mathematics.
### DEFINITION OF VARIABLES ###
# Eign = the eigenvalues of the Jacobian
# x = the variables of the original system in real form
# v = the variables of the system in complex form
# u = the variables of the normal form
# d = the Frechet derivative
# C = the coefficients of normal forms
# F = normal forms
# H = the coefficients of nonlinear transformations
# T = nonlinear transformations
# G = the jth order vector field
# B = the coefficients of G
# NF = output of normal form
# NT = output of nonlinear transformation
with(linalg):
read input: # READ A PREPARED INPUT FILE
### TRANSFORM THE REAL JORDAN FORM TO COMPLEX JORDAN FORM ###
for i from 1 to m1 do
x[i] := v[i]:
f[i] := f[i]:
Eign[i] := 0: od:
fi:
if m2 <> 0 then
mm2 := m1 + 2*m2 - 1:
for i from m1+1 by 2 to mm2 do
x[i] := (v[i] + v[i+1])/2:
x[i+1] := (v[i] - v[i+1])/2/I:
temp := f[i] + f[i+1]*I:
f[i+1] := f[i] - f[i+1]*I:
f[i] := temp:
Eign[i] := diff(f[i], v[i]):
Eign[i+1] := diff(f[i+1], v[i+1]):
od: fi:
if m3 <> 0 then
for i from m1+2*m2+1 to m1+2*m2+m3 do
x[i] := v[i]:
Eign[i] := diff(f[i], v[i]): od:
fi:
if m4 <> 0 then
for i from m1+2*m2+m3+1 by 2 to n-1 do
x[i] := (v[i] + v[i+1])/2:
x[i+1] := (v[i] - v[i+1])/2/I:
temp := f[i] + f[i+1]*I:
f[i+1] := f[i] - f[i+1]*I:
f[i] := temp:
Eign[i] := diff(f[i], v[i]):
Eign[i+1] := diff(f[i+1], v[i+1]):
od: fi:
for i from 1 to n do for k from 1 to n do
Eign[i] := subs(v[k]=0, Eign[i]): od:
od:
#### INITIALIZATION #####
cm := m1+2*m2: for i from 1 to n do
T[i] := 0: F[i] := 0: d[i] := 0: od:
#### RECURSIVE PROCEDURE TO COMPUTE THE jth ORDER VECTOR FIELD ####
for k from 1 to n do G[k] := f[k]:
for m from 1 to n do if m < cm+1 then
G[k] := subs(v[m]=u[m]+T[m], G[k]): else
G[k] := subs(v[m]=T[m], G[k]): fi:
od:
G[k] := G[k] - d[k]: for m from 1 to cm do
G[k] := subs(u[m]=epsilon*u[m],G[k]): od:
G[k] := subs(epsilon=0,diff(G[k],epsilon$j)/j!): G[k] := expand(G[k]):
if cm = 2 then
for l from 0 to j do
B[k,l,j-l] := coeff(G[k],u[1],l):
B[k,l,j-l] := coeff(B[k,l,j-l],u[2],j-l): B[k,l,j-l] := subs(u[1]=0,u[2]=0,B[k,l,j-l]): od:
elif cm = 3 then
for l from 0 to j do for m from 0 to j-l do
J := j-l-m:
B[k,l,m,J] := coeff(G[k],u[1],l): B[k,l,m,J] := coeff(B[k,l,m,J],u[2],m): B[k,l,m,J] := coeff(B[k,l,m,J],u[3],J):
B[k,l,m,J] := subs(u[1]=0,u[2]=0,u[3]=0,B[k,l,m,J]): od:
od:
elif cm = 4 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do J := j-l-m-p:
B[k,l,m,p,J] := coeff(G[k],u[1],l):
B[k,l,m,p,J] := coeff(B[k,l,m,p,J],u[2],m): B[k,l,m,p,J] := coeff(B[k,l,m,p,J],u[3],p): B[k,l,m,p,J] := coeff(B[k,l,m,p,J],u[4],J): B[k,l,m,p,J] := subs(u[1]=0,u[2]=0,u[3]=0,u[4]=0,
B[k,l,m,p,J]): od:
od: od:
elif cm = 5 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do for q from 0 to j-l-m do
B[k,l,m,p,q,J] := coeff(G[k],u[1],l):
B[k,l,m,p,q,J] := coeff(B[k,l,m,p,q,J],u[2],m): B[k,l,m,p,q,J] := coeff(B[k,l,m,p,q,J],u[3],p): B[k,l,m,p,q,J] := coeff(B[k,l,m,p,q,J],u[4],q): B[k,l,m,p,q,J] := coeff(B[k,l,m,p,q,J],u[5],J): B[k,l,m,p,q,J] := subs(u[1]=0,u[2]=0,u[3]=0,u[4]=0,
u[5]=0, B[k,l,m,p,q,J]): od:
od: od: od:
elif cm = 6 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do for q from 0 to j-l-m do
for s from 0 to j-l-m do J := j-l-m-p-q-s:
B[k,l,m,p,q,s,J]:= coeff(G[k],u[1],l):
B[k,l,m,p,q,s,J]:=coeff(B[k,l,m,p,q,s,J],u[2],m): B[k,l,m,p,q,s,J]:=coeff(B[k,l,m,p,q,s,J],u[3],p): B[k,l,m,p,q,s,J]:=coeff(B[k,l,m,p,q,s,J],u[4],q): B[k,l,m,p,q,s,J]:=coeff(B[k,l,m,p,q,s,J],u[5],s): B[k,l,m,p,q,s,J]:=coeff(B[k,l,m,p,q,s,J],u[6],J): B[k,l,m,p,q,s,J]:=subs(u[1]=0,u[2]=0,u[3]=0,
u[4]=0,u[5]=0,u[6]=0,B[k,l,m,p,q,s,J]): od:
od: od: od: od: fi: od:
##### COMPUTE THE jth ORDER NORMAL FORM AND NONLINEAR TRANSFORMATION ####
if cm = 2 then
for l from 0 to j do for k from 1 to cm do
lambda0 := l*Eign[1]+(j-l)*Eign[2]-Eign[k]:
if lambda0 = 0 then
C[k,l,j-l] := B[k,l,j-l]: H[k,l,j-l] := 0:
else
H[k,l,j-l] := B[k,l,j-l]/lambda0: C[k,l,j-l] := 0:
fi: od:
for k from cm+1 to n do
lambda0 := l*Eign[1] + (j-l)*Eign[2] - Eign[k]:
od: od:
elif cm = 3 then
for l from 0 to j do for m from 0 to j-l do
J := j-l-m:
for k from 1 to cm do
lambda0 := l*Eign[1] + m*Eign[2] + J*Eign[3] - Eign[k]:
if lambda0 = 0 then
C[k,l,m,J] := B[k,l,m,J]: H[k,l,m,J] := 0:
else
H[k,l,m,J] := B[k,l,m,J]/lambda0: C[k,l,m,J] := 0:
fi: od:
for k from cm+1 to n do
lambda0 := l*Eign[1]+m*Eign[2]+J*Eign[3]-Eign[k]:
H[k,l,m,J] := B[k,l,m,J]/lambda0: C[k,l,m,J] := 0:
od: od: od:
elif cm = 4 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do J := j-l-m-p:
for k from 1 to cm do
lambda0 := l*Eign[1] + m*Eign[2] + p*Eign[3]
+ J*Eign[4] - Eign[k]:
if lambda0 = 0 then
C[k,l,m,p,J] := B[k,l,m,p,J]: H[k,l,m,p,J] := 0:
else
H[k,l,m,p,J] := B[k,l,m,p,J]/lambda0: C[k,l,m,p,J] := 0:
fi: od:
for k from cm+1 to n do
lambda0 := l*Eign[1] + m*Eign[2] + p*Eign[3]
+ J*Eign[4] - Eign[k]: H[k,l,m,p,J] := B[k,l,m,p,J]/lambda0: C[k,l,m,p,J] := 0:
od: od: od: od:
elif cm = 5 then
for p from 0 to j-l-m do for q from 0 to j-l-m-p do
J := j-l-m-p-q: for k from 1 to cm do
lambda0 := l*Eign[1] + m*Eign[2] + p*Eign[3]
+ q*Eign[4] + J*Eign[5]- Eign[k]:
if lambda0 = 0 then
C[k,l,m,p,q,J] := B[k,l,m,p,q,J]: H[k,l,m,p,q,J] := 0:
else
H[k,l,m,p,q,J] := B[k,l,m,p,q,J]/lambda0: C[k,l,m,p,q,J] := 0:
fi: od:
for k from cm+1 to n do
lambda0 := l*Eign[1] + m*Eign[2] + p*Eign[3]
+ q*Eign[4] + J*Eign[5]- Eign[k]: H[k,l,m,p,q,J] := B[k,l,m,p,q,J]/lambda0: C[k,l,m,p,q,J] := 0:
od: od: od: od: od:
elif cm = 6 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do for q from 0 to j-l-m-p do
for r from 0 to j-l-m-p-q do J := j-l-m-p-q-r:
for k from 1 to cm do
lambda0 := l*Eign[1] + m*Eign[2] + p*Eign[3]
+ q*Eign[4] + r*Eign[5] +J*Eign[6]- Eign[k]:
if lambda0 = 0 then
C[k,l,m,p,q,r,J] := B[k,l,m,p,q,r,J]: H[k,l,m,p,q,r,J] := 0:
else
H[k,l,m,p,q,r,J]:= B[k,l,m,p,q,r,J]/lambda0: C[k,l,m,p,q,r,J]:= 0:
fi: od:
if cm < n then
for k from cm+1 to n do
lambda0 := l*Eign[1] + m*Eign[2] + p*Eign[3]
+ q*Eign[4] + r*Eign[5] +J*Eign[6]- Eign[k]: H[k,l,m,p,q,r,J] := B[k,l,m,p,q,r,J]/lambda0: C[k,l,m,p,q,r,J] := 0:
od: od: od: od: fi:
for k from 1 to n do
if cm = 2 then
for l from 0 to j do
xs := u[1]^l*u[2]^(j-l):
T[k] := T[k] + H[k,l,j-l]*xs: F[k] := F[k] + C[k,l,j-l]*xs: od:
elif cm = 3 then
for l from 0 to j do for m from 0 to j-l do
J := j-l-m:
xs := u[1]^l*u[2]^m*u[3]^J:
T[k] := T[k] + H[k,l,m,J]*xs: F[k] := F[k] + C[k,l,m,J]*xs: od:
od:
elif cm = 4 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do
J := j-l-m-p:
xs := u[1]^l*u[2]^m*u[3]^p*u[4]^J:
T[k] := T[k] + H[k,l,m,p,J]*xs: F[k] := F[k] + C[k,l,m,p,J]*xs: od:
od: od:
elif cm = 5 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do for q from 0 to j-l-m-p do
J := j-l-m-p-q:
xs := u[1]^l*u[2]^m*u[3]^p*u[4]^q*u[5]^J:
T[k] := T[k] + H[k,l,m,p,q,J]*xs: F[k] := F[k] + C[k,l,m,p,q,J]*xs: od:
od: od: od:
elif cm = 6 then
for l from 0 to j do for m from 0 to j-l do
for p from 0 to j-l-m do for q from 0 to j-l-m-p do
J := j-l-m-p-q-r:
xs:= u[1]^l*u[2]^m*u[3]^p*u[4]^q*u[5]^r*u[6]^J: T[k] := T[k] + H[k,l,m,p,q,r,J]*xs:
F[k] := F[k] + C[k,l,m,p,q,r,J]*xs: od:
od: od: od: od: fi: od:
#### TO COMPUTE THE FRECHET DERIVATIVES ####
for i from 1 to n do d[i] := 0:
if i < cm+1 then
TT[i] := u[i] + T[i]: else
TT[i] := T[i]: fi:
for l from 1 to cm do
d[i]:= d[i] + diff(TT[i],u[l])*F[l]: od:
od: od:
##### TRANSFORM BACK TO SYSTEM IN REAL FORM ####
for i from 1 to n do if i < cm+1 then
F[i] := Eign[i]*u[i] + F[i]: T[i] := u[i] + T[i]:
else
T[i] :=T[i]: fi:
TT[i] := T[i]: od:
if m1 <> 0 then
for i from 1 to m1 do u[i] := y[i]: od:
fi:
if m2 <> 0 then
for i from m1+1 by 2 to mm2 do
u[i] := y[i] + I*y[i+1]:
u[i+1] := y[i] - I*y[i+1]: od:
for i from m1+1 by 2 to mm2 do
temp1 := (F[i] + F[i+1])/2:
temp2 := (T[i] + T[i+1])/2:
F[i] := temp1:
T[i] := temp2:
od: fi:
if m1 <> 0 then
for i from 1 to m1 do T[i] := T[i]: F[i] := F[i]: od:
fi:
if m3 <> 0 then
for i from m1+2*m2+1 + 2 to m1+2*m2+m3 do T[i] := T[i]:
od: fi:
if m4 <> 0 then
for i from m1+2*m2+m3+1 by 2 to n-1 do
temp := (T[i] + T[i+1])/2:
T[i+1] := (T[i] - T[i+1])/2/I:
T[i] := temp:
od: fi:
F := simplify(F):
save F,‘NF‘; # OUTPUT OF NORMAL FORM
save T,‘NT‘; # OUTPUT OF NONLINEAR TRANSFORMATION
Appendix B: The input le
A sample input le including all the examples considered in this paper is given below. The readers can prepare their own input le by modifying the values of several parameters and the vector eld. The modication is straightforward.
#
# d x_1 / dt = f_1
# d x_2 / dt = f_2
# ...
# d x_n / dt = f_n
#
# The functions, f_i, must be put in the form such that the
# Jacobian of the system is in block real Jordan canonical form:
#
# [ | | ]
# [ J_0 | | ]
# [ - - | - - | - - ]
# J = [ | J_1 | ]
# [ - - | - - | - - ]
# [ | | J_2 ]
# [ | | ]
#
# J_1 includes the part of real eigenvalues, and J_2 has the
# part of complex conjugate eigenvalues, which must appear in pairs.
# For the following examples,
#
# [ -1 1 ]
# J_1 = [ -1 ] J_2 = [ ]
# [ -1 -1 ]
### DEFINITION OF VARIABLES ###
# m1 = number of zero eigenvalues
# m2 = number of pairs of purely imaginary eigenvalues
# m3 = number of non-zero real eigenvalues
# m4 = number of pairs of complex conjugate eigenvalues
# n = the dimension of the system
# norder = the order of normal forms to be computed
# cc = the dimension of center manifold
# f[i] = the ith component of the vector field of the system
### INPUT DATA FILE STARTS HERE ###
m1 := 0:
m2 := 3:
m3 := 1:
m4 := 1:
n := m1+2*m2+m3+2*m4:
norder := 5:
cc := m1+2*m2:
#### A purely imaginary pair ###
if cc = 2 then
f[1] := x[2] + x[1]^2 - x[1]*x[3]:
f[2] := - x[1] + x[2]^2 + x[1]*x[4] + x[2]^3: f[3] := - x[3] + x[1]^2:
f[4] := - x[4] + x[5] + x[1]^2: f[5] := - x[4] - x[5] + x[2]^2:
#### A simple zero and a purely imaginary pair ###
elif cc = 3 then
f[1] := - (x[1] - x[2] - x[4])^2:
f[2] := x[3] - (x[1] - x[2] + x[5] )^2:
f[3] := - x[2] - (x[2] - x[3] + x[4] )^2: f[4] := - x[4] + (x[1] - x[5])^2:
f[5] := - x[5] + x[6] + (x[1] - x[4] )^2: f[6] := - x[5] - x[6] + (x[2] + x[5] )^2:
#### Two purely imaginary pairs (non-resonance) ###
elif cc = 4 then
f[1] := x[2] + x[1]^3 - x[1]^2*x[5] + x[1]^2*x[7]:
f[2] := - x[1] - 2*x[1]*x[3]^2 :
f[3] := sqrt(2)*x[4] + x[1]^2*x[3] - 4*x[5]^3:
f[4] := - sqrt(2)*x[3]:
f[6] := - x[6] + x[7] + (x[1] - x[4] )^2: f[7] := - x[6] - x[7] + (x[2] - x[6] )^2:
#### Two purely imaginary pairs (resonance) ###
elif cc = 4 then
f[1] := x[2] + x[1]^3 - 2*x[1]*x[3]^2 - x[1]^2*x[5] + 5*x[2]*x[6]^2:
f[2] := - x[1] + x[3]^3 - 2*x[2]^2*x[4] + x[1]*x[5]*x[6]:
f[3] := x[4] + x[1]^2*x[3] + 3*x[1]^2*x[4]:
f[4] := - x[3] + 4*x[3]^3 - x[3]^2*x[4]:
f[5] := - x[5] + (x[1]-x[5])^2:
f[6] := - x[6] + x[7] + (x[1] - x[4] )^2: f[7] := - x[6] - x[7] + (x[2] - x[6] )^2:
#### Three purely imaginary pairs (resonance) ###
elif cc = 6 then
f[1] := x[2]:
f[2] := - x[1] + x[7]^2 + x[1]*x[5]:
f[3] := 2*x[4]:
f[4] := - 2*x[3] + (x[1] - x[5])^2 + x[1]^2*x[7]:
f[5] := 3*x[6]:
f[6] := - 3*x[5] + (x[1] - x[5])^2 - x[3]^2*x[9]: f[7] := - x[7] + (x[1] - x[5])^2:
f[8] := - x[8] + x[9] + x[1]^2: f[9] := - x[8] - x[9] + x[2]^2: fi:
Appendix C: A sample of computer output
The computer output of the normal form (for Example 5 given in Section 4) of the case of two pairs of pure imaginary eigenvalues (resoanance), obtained from a SGI Octane R10000 workstation is listed below. Note that the normal form is given in Cartisian coordinate system yi.
y1dot:= 21/64*y[3]*y[4]^2*y[1]^2-51/32*y[3]^2*y[4]^3-1/2*y[1]*y[2]*y[4] -217/200*y[1]^3*y[2]*y[4]+3/8*y[1]^3-71/320*y[1]^3*y[3]^2
-37/256*y[3]^5-399/800*y[1]^3*y[2]*y[3]-1/4*y[1]*y[4]^2
+3/8*y[3]^3*y[1]^2-3/4*y[1]*y[3]^2-3/4*y[1]^2*y[3]-45/64*y[1]*y[3]^4 -159/640*y[1]^4*y[3]+941/1600*y[1]^2*y[2]^2*y[3]
-29/256*y[3]^2*y[1]^2*y[4]+7/32*y[1]*y[3]^3*y[4]-9/32*y[2]*y[3]^3*y[4] -9/8*y[1]*y[3]^2*y[4]^2+171/160*y[1]^3*y[3]*y[4]
-143/1600*y[1]^2*y[3]^2*y[2]+49/128*y[1]*y[2]*y[3]^3 -399/800*y[1]*y[2]^3*y[3]-217/200*y[1]*y[2]^3*y[4]
+311/200*y[1]^2*y[3]*y[2]*y[4]-33/64*y[3]^2*y[4]*y[1]*y[2] -851/800*y[1]*y[2]^2*y[3]*y[4]+49/128*y[1]*y[2]*y[3]*y[4]^2 +273/400*y[1]^2*y[2]^2*y[4]+1563/1600*y[2]^3*y[3]^2
+2677/3200*y[2]^4*y[3]+461/3200*y[1]^2*y[2]^3
-1163/1600*y[1]*y[2]^2*y[3]^2+3273/1600*y[1]^2*y[4]^2*y[2] +63/64*y[3]*y[4]^2*y[2]^2-39/64*y[4]^3*y[1]*y[2]
+7/32*y[1]*y[3]*y[4]^3+3/16*y[2]*y[3]^2*y[4]^2-9/32*y[2]*y[3]*y[4]^3 -27/64*y[1]*y[4]^4-29/256*y[4]^3*y[1]^2+69/256*y[4]^3*y[2]^2
+461/6400*y[2]^5-1/64*y[2]*y[3]^4+461/6400*y[1]^4*y[2] +13/64*y[2]*y[4]^4+147/1600*y[2]^4*y[4]-37/256*y[3]*y[4]^4 +1567/1600*y[2]^3*y[4]^2-1227/1600*y[1]*y[2]^2*y[4]^2 +109/200*y[2]^3*y[3]*y[4]+69/256*y[3]^2*y[2]^2*y[4]
-407/320*y[1]^3*y[4]^2+189/320*y[1]^4*y[4]+3/8*y[1]*y[2]^2 -1/4*y[2]^2*y[3]+15/16*y[3]^3*y[2]^2-1/2*y[2]*y[3]*y[4]+y[2] -37/128*y[3]^3*y[4]^2;
y2dot:=-69/256*y[3]*y[4]^2*y[1]^2-37/128*y[3]^2*y[4]^3
+399/800*y[1]^3*y[2]*y[4]-1567/1600*y[1]^3*y[3]^2+51/64*y[3]^5 -217/200*y[1]^3*y[2]*y[3]-69/256*y[3]^3*y[1]^2+3/8*y[3]^3
-13/64*y[1]*y[3]^4-147/1600*y[1]^4*y[3]-273/400*y[1]^2*y[2]^2*y[3] +63/64*y[3]^2*y[1]^2*y[4]-9/32*y[1]*y[3]^3*y[4]-7/32*y[2]*y[3]^3*y[4] -3/16*y[1]*y[3]^2*y[4]^2+109/200*y[1]^3*y[3]*y[4]
-1227/1600*y[1]^2*y[3]^2*y[2]-39/64*y[1]*y[2]*y[3]^3 -217/200*y[1]*y[2]^3*y[3]+399/800*y[1]*y[2]^3*y[4]
+851/800*y[1]^2*y[3]*y[2]*y[4]-49/128*y[3]^2*y[4]*y[1]*y[2] +311/200*y[1]*y[2]^2*y[3]*y[4]-33/64*y[1]*y[2]*y[3]*y[4]^2
+941/1600*y[1]^2*y[2]^2*y[4]-407/320*y[2]^3*y[3]^2-189/320*y[2]^4*y[3] -3273/1600*y[1]*y[2]^2*y[3]^2-1163/1600*y[1]^2*y[4]^2*y[2]
+29/256*y[3]*y[4]^2*y[2]^2-49/128*y[4]^3*y[1]*y[2]
-9/32*y[1]*y[3]*y[4]^3-9/8*y[2]*y[3]^2*y[4]^2-7/32*y[2]*y[3]*y[4]^3 +1/64*y[1]*y[4]^4+15/16*y[4]^3*y[1]^2+3/8*y[4]^3*y[2]^2
-37/256*y[4]^5-37/256*y[3]^4*y[4]-27/64*y[2]*y[3]^4 -45/64*y[2]*y[4]^4-159/640*y[2]^4*y[4]+51/64*y[3]*y[4]^4 -71/320*y[2]^3*y[4]^2+143/1600*y[1]*y[2]^2*y[4]^2
-171/160*y[2]^3*y[3]*y[4]+21/64*y[3]^2*y[2]^2*y[4]
-1563/1600*y[1]^3*y[4]^2+2677/3200*y[1]^4*y[4]+29/256*y[3]^3*y[2]^2 -y[1]+3/8*y[2]^3+51/32*y[3]^3*y[4]^2+3/8*y[1]^2*y[2]-1/4*y[1]^2*y[4] -1/4*y[2]*y[3]^2-461/6400*y[1]*y[2]^4+3/8*y[3]*y[4]^2-3/4*y[2]^2*y[4] -3/4*y[2]*y[4]^2-461/3200*y[1]^3*y[2]^2-1/2*y[1]*y[3]*y[4]
-1/2*y[1]*y[2]*y[3]-461/6400*y[1]^5;
y3dot:= 15/128*y[3]*y[4]^2*y[1]^2-827/128*y[3]^2*y[4]^3+1/4*y[1]*y[2]*y[4] -39/64*y[1]^3*y[2]*y[4]-21/64*y[1]^3*y[3]^2-1/8*y[3]^5
+27/64*y[1]^3*y[2]*y[3]+25/128*y[3]^3*y[1]^2-1/8*y[3]^3 +3/8*y[1]^2*y[3]+17/128*y[1]*y[3]^4-39/128*y[1]^4*y[3]
-143/64*y[3]^2*y[1]^2*y[4]+21/64*y[1]*y[3]^3*y[4]+5/64*y[2]*y[3]^3*y[4] +3/16*y[1]*y[3]^2*y[4]^2-7/64*y[1]^2*y[3]^2*y[2]
+35/64*y[1]*y[2]*y[3]^3+27/64*y[1]*y[2]^3*y[3]-39/64*y[1]*y[2]^3*y[4] -3/8*y[1]^2*y[3]*y[2]*y[4]+3/16*y[3]^2*y[4]*y[1]*y[2]
-1/4*y[1]*y[2]^2*y[3]*y[4]+113/64*y[1]*y[2]*y[3]*y[4]^2
-45/64*y[1]^2*y[2]^2*y[4]+1/64*y[2]^3*y[3]^2+39/128*y[2]^4*y[3] +3/64*y[1]*y[2]^2*y[3]^2+1/64*y[1]^2*y[4]^2*y[2]
+21/128*y[3]*y[4]^2*y[2]^2+1/32*y[4]^3*y[1]*y[2]+21/64*y[1]*y[3]*y[4]^3 +5/64*y[2]*y[3]*y[4]^3+7/128*y[1]*y[4]^4-91/32*y[4]^3*y[1]^2
-27/16*y[4]^3*y[2]^2-3/2*y[4]^3-827/256*y[4]^5-827/256*y[3]^4*y[4] -3/2*y[3]^2*y[4]-21/128*y[2]*y[3]^4+21/128*y[2]*y[4]^4-9/64*y[2]^4*y[4] -1/8*y[3]*y[4]^4-7/64*y[2]^3*y[4]^2-45/64*y[1]*y[2]^2*y[4]^2
+3/8*y[2]^3*y[3]*y[4]-147/64*y[3]^2*y[2]^2*y[4]-21/64*y[1]^3*y[4]^2 -9/16*y[1]^4*y[4]+1/8*y[2]^2*y[3]+11/128*y[3]^3*y[2]^2+y[4]
y4dot:= 147/64*y[3]*y[4]^2*y[1]^2-1/4*y[3]^2*y[4]^3+3/4*y[1]*y[2]*y[4] -27/64*y[1]^3*y[2]*y[4]+7/64*y[1]^3*y[3]^2+827/256*y[3]^5 -39/64*y[1]^3*y[2]*y[3]+27/16*y[3]^3*y[1]^2+3/2*y[3]^3 -3/8*y[1]^2*y[3]-21/128*y[1]*y[3]^4+9/64*y[1]^4*y[3] +45/64*y[1]^2*y[2]^2*y[3]+21/128*y[3]^2*y[1]^2*y[4]
+5/64*y[1]*y[3]^3*y[4]-21/64*y[2]*y[3]^3*y[4]+3/8*y[1]^3*y[3]*y[4] -45/64*y[1]^2*y[3]^2*y[2]+1/32*y[1]*y[2]*y[3]^3-39/64*y[1]*y[2]^3*y[3] -27/64*y[1]*y[2]^3*y[4]+1/4*y[1]^2*y[3]*y[2]*y[4]
-113/64*y[3]^2*y[4]*y[1]*y[2]-3/8*y[1]*y[2]^2*y[3]*y[4]
+3/16*y[1]*y[2]*y[3]*y[4]^2-21/64*y[2]^3*y[3]^2+9/16*y[2]^4*y[3] -1/64*y[1]*y[2]^2*y[3]^2+3/64*y[1]^2*y[4]^2*y[2]
+143/64*y[3]*y[4]^2*y[2]^2-35/64*y[4]^3*y[1]*y[2]+5/64*y[1]*y[3]*y[4]^3 +3/16*y[2]*y[3]^2*y[4]^2-21/64*y[2]*y[3]*y[4]^3+21/128*y[1]*y[4]^4 +11/128*y[4]^3*y[1]^2+25/128*y[4]^3*y[2]^2-1/8*y[4]^3-1/8*y[4]^5 -1/8*y[3]^4*y[4]-1/8*y[3]^2*y[4]+7/128*y[2]*y[3]^4+17/128*y[2]*y[4]^4 -39/128*y[2]^4*y[4]+827/256*y[3]*y[4]^4-21/64*y[2]^3*y[4]^2
+7/64*y[1]*y[2]^2*y[4]^2+15/128*y[3]^2*y[2]^2*y[4] -1/64*y[1]^3*y[4]^2+39/128*y[1]^4*y[4]-9/8*y[2]^2*y[3]
+91/32*y[3]^3*y[2]^2-y[3]+827/128*y[3]^3*y[4]^2+1/8*y[1]^2*y[4] +3/2*y[3]*y[4]^2+3/8*y[2]^2*y[4]+1/4*y[1]*y[2]*y[3];
References
[1] A. Arneodo, P. Coullet, C. Tresser, E.A. Spiegel, Asymptotic chaos, Physica D 14 (1985) 327–347.
[2] Q. Bi and P. Yu, Computation of normal forms of dierential equations associated with non-semi-simple zero eigenvalues, Int. J. Bifurcation and Chaos (1998), to appear.
[3] Y.S. Chen, Q.C. Zhang, A new method for solving asymptotic solutions of nonlinear vibration systems — simple method for computing normal forms of vector eld, Acta Mechanica Sinica 22 (1990) 413– 419.
[4] S.N. Chow, B. Drachman, D. Wang, Computation of normal forms, J. Comput. Appl. Math. 29 (1991) 129 –143. [5] S.N. Chow, C. Li, D. Wang, Normal Forms and Bifurcation of Planar Vector Fields, Cambridge University Press,
Cambridge, 1994.
[6] J. Guckenheimer, P. Holmes, Nonlinear Oscillations, Dynamical Systems, and Bifurcations of Vector Fields, Springer, New York, 1983.
[7] A.H. Nayfeh, Methods of Normal Forms, Springer, New York, 1993.
[8] R.H. Rand, W.L. Keith, Normal forms and center manifold calculation on MACSYMA, in: R. Pavelle, Ed., Appl. Comput. Algebra (1986).