Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

Contents lists available at SciVerse ScienceDirect

Commun Nonlinear Sci Numer Simulat


journal homepage: www.elsevier.com/locate/cnsns

Symbolic computation of normal form for Hopf bifurcation in a


retarded functional differential equation with unknown parameters
Li Zhang a, Huailei Wang a, Haiyan Hu a,b,⇑
a
State Key Laboratory of Mechanical Vibration and Strength, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, People’s Republic of China
b
School of Aerospace Engineering, Beijing Institute of Technology, Beijing 100081, People’s Republic of China

a r t i c l e i n f o a b s t r a c t

Article history: Based on the normal form theory for retarded functional differential equations by Faria and
Received 11 July 2011 Magalhães, a symbolic computation scheme together with the Maple program implemen-
Received in revised form 28 November 2011 tation is developed to compute the normal form of a Hopf bifurcation for retarded func-
Accepted 30 November 2011
tional differential equations with unknown parameters. Not operating as the usual way
Available online 13 December 2011
of computing the center manifold first and normal form later, the scheme features comput-
ing them simultaneously. Great efforts are made to package this task into one Maple pro-
Keywords:
gram with an input interface provided for defining different systems. The applicability of
Delay differential equation
Normal form
the Maple program is demonstrated via three kinds of delayed dynamic systems such as
Center manifold a delayed Liénard equation, a simplified drilling model and a delayed three-neuron model.
Symbolic computation The effectiveness of Maple program is also validated through the numerical simulations of
Maple program those three systems.
Ó 2011 Elsevier B.V. All rights reserved.

1. Introduction

Memory effects, hereditary effects and time lag effects are intrinsically similar features of many dynamical systems. They
give rise to an irreducible influence of the past history on the evolution of a dynamic system. In this context, a deviated time-
argument is usually introduced and embodied as the term of time delay in mathematical modeling of such a delayed dy-
namic system. Generally speaking, differential equations with time delays belong to the category of Functional Differential
Equations (FDEs) [1,2], where, for clarity, the past dependence through only state variables leads to Retarded Functional Dif-
ferential Equations (RFDEs) or Retarded Delay Differential Equations (RDDEs), while the past dependence on the derivative of
the state variables yields Neutral Functional Differential Equations (NFDEs) or Neutral Delay Differential Equations (NDDEs)
[3]. As opposed to Ordinary Differential Equations (ODEs), the state space of FDEs is infinite-dimensional. This fact implies an
exceeding complexity in both analytical and numerical treatments.
To study the local dynamic behavior of a system around its equilibrium point, the center manifold reduction and the nor-
mal form transformation have been proved to be very effective. At a bifurcation point, the flow near the equilibrium is essen-
tially governed by the vector field on the finite dimensional center manifold. With the center manifold reduction, the original
FDEs can be reduced to ODEs. Moreover, after the normal form implementation, where successive, near-identity, nonlinear
transformations are used, a simpler form can be obtained for the purpose of simplifying the dynamical analysis [4]. These
two methods have been widely applied to studying the local bifurcations of delayed dynamic systems. For example, Xu
and Lu studied the Hopf bifurcation of delayed Liénard equations [5]. Stone and Campbell presented an analysis on the Hopf

⇑ Corresponding author at: State Key Laboratory of Mechanical Vibration and Strength, Nanjing University of Aeronautics and Astronautics, Nanjing
210016, People’s Republic of China. Tel.: +86 25 84891672; fax: +86 25 84891512.
E-mail address: hhyae@nuaa.edu.cn (H. Hu).

1007-5704/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved.
doi:10.1016/j.cnsns.2011.11.035
L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3329

bifurcation for a nonlinear Delay Differential Equation (DDE) modeling a drilling process [6]. Liao et al. considered the Hopf
bifurcation analysis in a Tri-neuron model with a time delay [7]. In the above mentioned researches, a center manifold was
computed in advance and then the calculation of normal form was followed. Faria and Magalhães provided an alternative
method for obtaining the normal form of an RFDE by considering the RFDE as an ODE in an appropriate infinite-dimensional
phase space so that the center manifold needs not to be computed beforehand [8,9]. In summary, there are mainly two pos-
sible approaches to the normal form analysis for a delayed dynamic system as follows:

(A) Compute the center manifold and project the flow of the system on the center manifold first, and then compute the
corresponding normal form [5–7].
(B) Conduct the center manifold reduction and the normal form analysis simultaneously [8,9].

Although the normal form is a very effective tool for studying the local bifurcations of FDEs, the corresponding procedures
are usually very complicated and tedious. Fortunately, with the development of computer algebra systems, such as Maple
and Mathematica, many efforts have been made to develop symbolic procedures so that the normal form can be easily com-
puted [10,11]. For example, Belair and Campell presented a symbolic algebra algorithm to approximate the center manifold
for DDEs [12,13]. Babram et al. addressed the algorithms for computing the terms of the center manifold for RFDEs and
NFDEs [14,15]. Qesmi et al. developed symbolic procedures for computing the center manifold for the Hopf bifurcation,
the Bogdanov–Takens bifurcation and the Fold–Hopf bifurcation for RFDEs [16–18]. All the above mentioned algorithms
or procedures are based on the approach (A), which implies that the center manifold needs to be computed first. Babram
mentioned a computation scheme for RFDEs without bifurcation parameters according to the approach (B) [19]. In [16–
18], Qesmi et al. argued that it is difficult to apply approach (B) to computing the normal forms of higher orders because
the approach has the necessity of solving a functional differential equation. However, the functional differential equation
can be transformed as an initial value problem. With an increasing power of computer algebra systems, the approach (B)
could be automatically implemented.
This study aims at developing a Maple program based on the approach (B) so as to compute the normal form of a Hopf
bifurcation for an RFDE with unknown parameters as follows
_
xðtÞ ¼ LðaÞxt þ Fðxt ; aÞ; ð1Þ
n p 1
with xt 2 C n ¼ Cð½r; 0; R Þ; xt ðhÞ ¼ xðt þ hÞ; a 2 R ðp ¼ 1Þ; a # LðaÞ is a C function with values in the space of bounded lin-
R0
ear operators which project the Banach space C n ¼ Cð½r; 0; Rn Þ to Rn ; Lð0Þxt :¼ L0 xt ¼ r d½gðhÞxt ðhÞ, where g is an n  n
matrix-valued function of bounded variation defined on [r,0]. and F is a C1 function from C n  Rp to Rn with F(0, a) = 0
and F0 (0, a) = 0 for all a 2 Rp , where F0 denotes the Frechet derivatives of F. The bifurcation parameter a is taken into account
during the normal form transformation so that no further unfolding for the parameter is needed [20].
As the Hopf bifurcation is considered in the study, the following hypothesis is assumed:

(H) The characteristic equation of Eq. (1) has a simple pair of eigenvalues c(a) ± ix(a), which cross the imaginary axis
transversely at a = 0 so that the following conditions hold

dcðaÞ
cð0Þ ¼ 0; xð0Þ ¼ xc > 0; –0
da  a¼0

and no other eigenvalue has zero real part.

The paper is organized as follows. In Section 2, some elementary notions and the theoretical background of RFDEs (for
more detail see [8]) are provided. The normal form transformation for an RFDE is implemented in Section 3 and the corre-
sponding computation scheme is outlined in Section 4. In Section 5, the powerfulness of the Maple program is demonstrated
via three kinds of delayed dynamical systems, including a delayed Liénard system, a simplified drilling system and a delayed
three-neuron system. The correctness of the Maple program is verified through the comparisons with the numerical simu-
lations of those three delayed dynamic systems. Some conclusions are drawn in Section 6.

2. Theoretical background

The linearized part of Eq. (1) takes the form of


d
xt ¼ L0 xt ð2Þ
dt
and its solution defines a C0 semigroup T(t) on Cn, T(t)/ = xt(/), t P 0. The infinitesimal generator A0, which is associated with
_ A0 has the domain
T(t), is given by A0 / ¼ /.
  
1 d/

DðA0 Þ ¼ / 2 C n :  ¼ L0 / ;
dh h¼0
3330 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

where C 1n ¼ C 1n ð½r; 0; Rn Þ denotes the space of continuously differentiable functions from [r, 0] to Rn . It is known that the
spectrum r(A0) of A0 coincides with its point spectrum rP(A0), and k 2 r(A0) if and only if it satisfies the corresponding char-
acteristic equation

det DðkÞ ¼ det ðkI  L0 ðek IÞÞ ¼ 0:


Define C n ¼ Cð½0; r; Rn Þ, where Rn is the n-dimensional space of row vectors. Consider the adjoint bilinear form on C n  C n
Z 0 Z h
ðw; /Þ ¼ wð0Þ/ð0Þ  wðn  hÞdgðhÞ/ðnÞ dn: ð3Þ
r 0

One can get that for all / 2 Cn and w 2 C n ; ðw; A0 /Þ ¼ ðA0 w; /Þ, where A0 is the adjoint operator of A0 with respect to the bilin-
ear form (, ) defined in Eq. (3). Let P ¼ spanðM k ðA0 Þjk 2 KÞ; P  ¼ spanðM k ðA0 Þjk 2 KÞ, where Mk(A0) denotes the generalized
eigenspace associated with a k 2 r(A0) and K = {ixc,ixc}. Then P is invariant under T(t), t P 0, and there exists the unique
T(t) invariant complement subspace Q such that Cn = P  Q holds. In this study, P is a two dimensional generalized eigen-
space. Denote a basis vector of P by U ¼ ð/1 ; /2 Þ ¼ ð/ð0Þeixc h ; /ð0Þe  ixc h
Þ, and a basis vector for P⁄ in C n by
W ¼ colðw1 ; w2 Þ ¼ colðwð0Þe ; wð0Þe Þ such that (W, U) = Im. One can have Q = {/ 2 Cn : (W, /) = 0}, and T(t)U = UeBt,
ixc n  ixc n

where m = dim P = 2 and


 
ixc 0
B¼ :
0 ixc
One way of studying the normal form for a differential equation with parameters is to extend the dimension of the system by
taking the system parameters as state variables [8] as follows

_
xðtÞ ¼ L0 xt þ ½LðaÞ  L0 xt þ Fðxt ; aÞ;
ð4Þ
_aðtÞ ¼ 0:
e :¼ C nþp ¼ Cð½r; 0; Rnþp Þ.
~ ¼ ðxðtÞ; aðtÞÞ 2 Rnþp and the phase space is correspondingly C
The solutions of Eq. (4) are in the form x
Then, it is possible to write the system as

~_ ¼ e
x ~t þ Fe ðx
L0x ~t Þ; ð5Þ
where eL 0 ðu; v Þ ¼ ðL0 u; 0Þ and F e 0 the infinitesimal gen-
e ðu; v Þ ¼ ð½Lðv ð0ÞÞ  L0 u þ Fðu; v ð0ÞÞ; 0Þ with u 2 Cn, v 2 Cp. Denote A
erator associated with x ~_ ¼ e ~t . Define K
L0 x e ¼ K [ f0g; Pe ¼ P  Rp ; Q e ¼ Q  R, where R = {v 2 Cp : v(0) = 0}. Then the basis vec-
e and W
tors U e of Pe and P e  , respectively, are
   
U 0 W 0
e ¼
U ; e ¼
W ;
0 Ip 0 Ip
 
e U
which satisfy W; e  C
e ¼ I mþp , where (, ) is the bilinear form on C e_ ¼ U
e , and U eBe with B
e ¼ diag ðB; 0Þ. It is easy to obtain

the decomposition C e¼P eQ e , where P e 0 associated with K


e is the invariant space of A e . A phase space appropriate for con-
sidering the normal form for Eq. (1), with a fixed, is the space BCn of the functions from [r, 0] to Rn , which are uniformly
continuous on [r, 0) and with a jump discontinuity at 0. BCn can be identified with C n  Rn and the infinitesimal generator
_
A0 can be extended to an operator A on the space BCn by A/ ¼ A0 / þ X 0 ½L0 /  /ð0Þ.
Analogously, for considering the normal form for Eq. (4), one takes phase space B C e ¼ BC n  BC p , which can be identified
with Ce  Rnþp . After dropping the auxiliary equations introduced for handling the parameters, one can get the equation in
BCn = P  Ker p equivalent to

y_ ¼ By þ f 1 ðy; z; aÞ;
z_ ¼ AQ 1 z þ f 2 ðy; z; aÞ; ð6Þ

with y 2 R2 ; z 2 Q 1 :¼ Q \ C 1n ,

f 1 ðy; z; aÞ ¼ Wð0Þf½LðaÞ  L0 ðUy þ zÞ þ FðUy þ z; aÞg;


f 2 ðy; z; aÞ ¼ ðI  pÞX 0 f½LðaÞ  L0 ðUy þ zÞ þ FðUy þ z; aÞg;
and AQ 1 is the restriction of A to Q1 interpreted as an operator acting in the Banach space Ker p, where p : BCn ? P denotes the
projection p(/ + X0a) = U[(W, /) + W(0)a], with / 2 C n ; a 2 Rn ; X 0 ðhÞ ¼ 0 for r 6 h < 0 and X0(0) = In.

3. Normal form construction

The normal form analysis is based on a recursive sequence of near-identity, nonlinear transformations. By taking the fol-
lowing nonlinear transformation
L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3331

(
y ¼ y þ V 1 ðy; aÞ;
ð7Þ
z ¼ z þ V 2 ðy; aÞ;
one can get the normal form
(
_ ¼ By þ g 1 ðy; z; aÞ;
y
ð8Þ
z_ ¼ AQ 1 z þ g 2 ðy; z; aÞ:

Remark. In real applications, the variable changes in the parameters may have an effect on the physical meanings of the
parameters. Therefore, this study does not consider the nonlinear transformations regarding a.
After the computation of normal form, the nonlinear terms g 1 ðy z; aÞ; g 2 ðy
;  z; aÞ and f 1(y, z, a), f 2(y, z, a) have the relations
; 
stated in the following theorem.

Theorem 1. With the nonlinear transformation of variables (7), Eq. (6) takes the form of Eq. (8) with g 1 ðy z; aÞ and g 2 ðy
;  z ; aÞ
; 
satisfying

; z; aÞ ¼ f 1 ðy þ V 1 ðy; aÞ; z þ V 2 ðy; aÞ; aÞ  DV 1 ðy; aÞg 1 ðy


g 1 ðy ; z; aÞ  ½DV 1 ðy; aÞBy
  BV 1 ðy
; aÞ; ð9Þ

; z; aÞ ¼ f 2 ðy þ V 1 ðy; aÞ; z þ V 2 ðy; aÞ; aÞ  DV 2 ðy; aÞg 1 ðy


g 2 ðy ; z; aÞ  ½DV 2 ðy; aÞBy
  AQ 1 V 2 ðy; aÞ: ð10Þ

Proof. Differentiating Eq. (7) with respect to t and then substituting Eq. (8) into it yields
(
y_ ¼ ½I þ DV 1 ðy; aÞy_ ¼ ðI þ DV 1 ðy; aÞÞðBy þ g 1 ðy
; z; aÞÞ;
2 2
ð11Þ
_
z_ ¼ z þ DV ðy _ 2
; aÞy ¼ AQ 1 z þ g ðy ; z; aÞ þ DV ðy; aÞðBy þ g 1 ðy; z; aÞÞ:

Substituting Eq. (7) into Eq. (6) gives rise to


(
y_ ¼ By þ BV 1 ðy; aÞ þ f 1 ðy þ V 1 ðy; aÞ; z þ V 2 ðy; aÞ; aÞ;
ð12Þ
z_ ¼ AQ 1 z þ AQ 1 V 2 ðy; aÞ þ f 2 ðy þ V 1 ðy; aÞ; z þ V 2 ðy; aÞ; aÞ:

By comparing Eqs. (11) and (12), one can see that g 1 ðy z; aÞ and g 2 ðy
;  z; aÞ satisfy Eqs. (9) and (10). This ends the proof. h
; 

As Eq. (6) satisfies the non-resonance condition relative to K [8,9], one can obtain the following result.

Theorem 2. Under the non-resonance condition, there exists a formal nonlinear transformation y ¼ y þ V 1 ðy
; aÞ and z ¼ z þ V 2 ðy
 ; aÞ
such that a local manifold satisfies 
z ¼ 0 and the normal form on this invariant manifold yields the following two dimensional ODE

y_ ¼ By þ g 1 ðy; 0; aÞ: ð13Þ


Specifically, Eq. (13) has the following form
" #    " #
_ 1
y ixc 0 1
y D1 y1 a þ D2 y21 y2 þ h:o:t:
¼ þ ; ð14Þ
_ 2
y 0 ixc 2
y D1 y2 a þ D2 y1 y22 þ h:o:t:
where D1 and D2 denote the coefficients of y 21 y
1 a and y 2 , respectively and h.o.t. stands for higher order terms. Through a change of
variables
1 1
1 ¼
y ðq cos u  iq sin uÞ; 2 ¼
y ðq cos u þ iq sin uÞ; ð15Þ
2 2
Eq. (14) takes the form of
q_ ¼ 12 ReðD1 Þqa þ 18 ReðD2 Þq3 þ h:o:t:;
ð16Þ
u_ ¼ xc þ h:o:t:
From Eq. (16), one can get that if Re (D2) – 0, the amplitude of bifurcated periodic motions of Eq. (1) satisfies


1
4ReðD1 Þ 2
q¼  a þ OðaÞ: ð17Þ
ReðD2 Þ
If Re (D1) Re (D2) < 0 holds, there exists a unique nontrivial periodic orbit in the neighborhood of q = 0 for a > 0. And if
Re (D1) Re (D2) > 0, there exists a unique nontrivial periodic orbit in the neighborhood of q = 0 for a < 0. The bifurcated
periodic motions are stable if Re (D2) < 0, and unstable if Re (D2) > 0.
3332 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

The key idea in computing the normal form is to find the appropriate nonlinear transformations V 1 ðy ; aÞ and V 2 ðy
; aÞ so
that both g 1 ðy z; aÞ and g 2 ðy
;  z; aÞ expresses themselves in a simpler way. In general, it is impossible to obtain the general
; 
form of V 1 ðy
; aÞ and V 2 ðy
; aÞ. However, one can approximate them via the Taylor series. Expand the expressions in the fol-
lowing way
X X
V 1 ðy; aÞ ¼ V 1j ðy; aÞ; V 2 ðy; aÞ ¼ V 2j ðy; aÞ;
jP2 jP2
X X
LðaÞðxt Þ ¼ L0 ðxt Þ þ Lj ðaÞxt ; Fðxt ; aÞ ¼ F j ðxt ; aÞ
jP1 jP2

with V 1j ðy ; aÞ 2 V jmþp ðRm Þ; V 2j ðy


; aÞ 2 V mþp
j ðQ 1 Þ; F j ðxt ; aÞ ¼ H j ððxt ; aÞ; . . . ; ðxt ; aÞÞ; Lj 2 C 0 ; H j 2 Ljs ðC n  Rp ; Rn Þ, where V mþp
j ðXÞ
denotes the linear space of the homogeneous polynomials of degree j in m + preal variables with coefficients in
X; Ljs ðC n  Rp ; Rn Þ is the space of the continuous linear functions from ðC n  Rp Þ      ðC n  Rp Þ (j times) to Rn , and C0 is
the space of the continuous linear functions from Cn to Rn . It is straightforward to derive the main procedure for computing
the normal form for an RFDE via the following theorem.

Theorem 3. For i P 2, the recursive formula for computing the normal form of Eq. (1) is
X
i1 h i
g 1i ðy; 0; aÞ ¼ Wð0ÞK i  DV 1k ðy; aÞg 1iþ1k ðy; 0; aÞ  DV 1i ðy
; aÞBy  BV 1i ðy; aÞ ; ð18Þ
k¼2

where
X
i1 X
i1 X
½i=2
1
K i ¼ Li1 ðaÞðUyÞ þ F i ðUy
; aÞ þ Lik ðaÞW k ðy; aÞ þ DF k ðUy; aÞW iþ1k ðy; aÞ þ
k¼2 k¼2 j¼2
j!
0 1
X
ij
B X C
 Dj F k ðUy; aÞB
@ W l1    W lj C
A; ð19Þ
k¼j l1 þþlj
¼iðkjÞ

; aÞ ¼ UV 1 ðy
; aÞ is the homogeneous part of degree l of Wðy
W l ðy ; aÞ þ V 2 ðy
; aÞ. V 2i ðy
; aÞ can be obtained by solving the following
differential equations
8
< DV 2 ðy; aÞBy  V_ 2 ðy; aÞ ¼ UWð0ÞK i  P DV 2 ðy
i1
> ; aÞg 1
i i k

iþk1 ðy; 0; aÞ;
k¼2 ð20Þ
>
: _2
V i ð0Þðy; aÞ  L0 V 2i ðy
; aÞ ¼ K i :

Proof. According to Theorem 2, there exists a change of variables


8 1 P 1
< y ¼ y þ V ðy; aÞ ¼ y þ V k ðy; aÞ;
>   
kP2
> 2 P 2
: z ¼ V ðy; aÞ ¼ V k ðy; aÞ;
kP2

so that the normal form on the center manifold 


z ¼ 0 is given by the two dimensional ODE
_ ¼ By þ g 1 ðy; 0; aÞ:
y
By introducing K = [L(a)  L0](Uy + z) + F(Uy + z, a) into, one can express its terms of degree i as
K i ¼ f½LðaÞ  L0 ðUy þ zÞ þ FðUy þ z; aÞgi
( ! !
X X 1 X 2 X
¼ Lk U y þ V k ðy; aÞ þ V k ðy; aÞ þ F k ðUy; aÞ
kP2 kP2 kP2 kP2
0 !j 1 9
X X X X1 j X =
þ DF k ðUy; aÞ W k ðy; aÞ þ @ D F k ðUy; aÞ W l ðy; aÞ A
kP2 kP2 kP2 jP2
j! lP2
;
i
0 1
X
i1 X
i1 X
½i=2
1 X
ij
B X C
¼ Li1 ðaÞðUyÞ þ F i ðUy; aÞ þ Lik ðaÞW k ðy
; aÞ þ DF k ðUy; aÞW iþ1k ðy
; aÞ þ ; aÞB
Dj F k ðUy @ W l1 W lj C
A:
k¼2 k¼2 j¼2
j! k¼j l1 þþlj
¼iðkjÞ

Therefore, Eqs. (9) and (10) have the following forms


L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3333

X
i1 h i
g 1i ðy
; 0; aÞ ¼ Wð0ÞK i  DV 1k ðy ; 0; aÞ  DV 1i ðy; aÞBy
; aÞg 1iþ1k ðy   BV 1i ðy
; aÞ ;
k¼2

X
i1 h i
g 2i ðy
; 0; aÞ ¼ ðI  pÞX 0 K i  DV 2k ðy; aÞg 1iþ1k ðy; 0; aÞ  DV 2i ðy; aÞBy
  AQ 1 V 2i ðy; aÞ :
k¼2

As the non-resonance condition holds, one has g 2i ðy


; 0; aÞ ¼ 0 for i P 2 as follows

X
i1  h i
g 2i ðy
; 0; aÞ ¼ ðI  pÞX 0 K i  DV 2k g 1iþ1k ðy; 0; aÞ  DV 2i ðy; aÞBy þ V_ 2i ðy; aÞ þ X 0 L0 V 2i ðy; aÞ  V_ 2i ð0Þðy; aÞ ¼ 0:
k¼2

From the above equation, the differential equation (20) is obtained. This ends the proof. h

4. Symbolic computation of normal forms

The computation of normal form for an RFDE is very complicated and time consuming. Based on the iterative formulas
derived from Theorem 3, the algorithm of computing the normal form for an RFDE can be outlined as follows.

(1) Inputs:
(a) Set the following variables:
n_dim: the number of dimensions of the RFDE.
n_delay: the number of constant time delays.
n_order: the required order of the normal form to be computed.
var_par: the bifurcation parameter.
Eq_pos: the position of equilibrium.
(b) Provide the system equation:
sys_rhs: the right-hand side function of the system.
Note: The state variables at the present and in the past are expressed as array xt = [x(t), x(t  s1), . . . , x(t  ss)],
where s is the number of constant delays.
(2) Separate the original system equation according to the degree of state variables, i.e., to get Li  1(a)(xt), Fi(xt, a),
i = 1..n_order.
(3) Deal with the linearized Eq. (2) and compute basis vectors for the center eigenspace U = (/1, /2), W = col(w1, w2), sat-
isfying (W, U) = I.
(4) According to Theorem 3, compute the coefficients of the normal form in the following specific steps:
for from 2 to n_order do
1. Compute Kj.
2. Compute the resonant terms and non-resonant terms of order j
3. Compute g 1j ðy; 0; aÞ and nonlinear transformation V 1j ðy; aÞ;
if < n_order do
4. Solve the initial value problem (20) to compute V 2j ðy ; aÞ;
end if;
end do.
(5) Outputs:
(a) The basis vectors W and U;
P order 1 Pi¼n order1 2
(b) The nonlinear transformations i¼n i¼2
; aÞ;
V i ðy i¼2
; aÞ;
V i ðy
(c) The normal form of the required order.

5. Case studies

This section presents the application of the Maple program to computing the normal forms of three examples of delayed
dynamic systems, i.e., a delayed Liénard equation, a simplified model for chatter in twist drills, and a delayed three-neuron
model. By using DDE-BIFTOOL [23], a well-known Matlab package of the bifurcation analysis for DDEs, the corresponding
numerical analysis is also conducted to validate the normal forms computed by the Maple program. For brevity, the normal
forms are truncated to the third order and the terms related with y1 d2 and y2d2 are omitted.

5.1. Example 1: a delayed Liénard equation

The Liénard equation enables one to model oscillating circuits during the developments of radio and vacuum tube tech-
nology. This subsection deals with the Hopf bifurcation of the following Liénard equations with a time delay [5]
3334 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

€xðtÞ þ f ðxðtÞÞx_ þ gðxðt  sÞÞ ¼ 0; ð21Þ

where f, g 2 C4, f(0) = K > 0, g(0) = 0, g0 (0) = 0 and s > 0. Eq. (21) can be recast in the state space form as

_
xðtÞ ¼ yðtÞ  SðxðtÞÞ;
ð22Þ
_yðtÞ ¼ gðxðt  sÞÞ;
Rx
where SðxÞ ¼ 0
f ðdÞdd. The expansion of Eq. (22), in the neighborhood of the null solution, up to the third order yields
3
_
xðtÞ ¼ yðtÞ  KxðtÞ þ ax2 ðtÞ þ bx ðtÞ;
3
ð23Þ
_
yðtÞ ¼ xðt  sÞ þ cx2 ðt  sÞ þ dx ðt  sÞ;

where a ¼  12 f 0 ð0Þ; b ¼  16 f 00 ð0Þ; c ¼  12 g 00 ð0Þ and d ¼  16 g 000 ð0Þ.


Let K = Kc + d be the bifurcation parameter, where Kc is the critical value when a Hopf bifurcation occurs. To compute the
normal forms, it is necessary to provide the following information to the Maple program.

n_dim :¼ 2;
n_delay :¼ 1;
n_order :¼ 3;
Eq_pos :¼ h0, 0i;
var_par :¼ [delta];
sys_rhs :¼ hxt[2, 1]  (Kc + delta)⁄xt[1, 1] + a⁄xt[1, 1]^2 + b⁄xt[1, 1]^3, xt[1, 2] + c⁄xt[1, 2]^2 + d⁄xt[1, 2]^3i; #Kc refers to Kc

From the outputs of the program execution, one obtains the basis vectors of P and P⁄ as follows
! !
eixc h eixc h w1 eixc n w2 eixc n
U¼ ; W¼ ;
v 2 eix h v 2 eix h
c c
w1 eixc n w2 eixc n

where

v 2 ¼ ixc þ K c ;
eixc s
w1 ¼  :
eixc s  is eixc s xc  seixc s K c  x2c þ 2ixc K c þ K 2c
w2 ¼ w1 eixc s ðixc þ K c Þ:
The normal form up to the third order reads
(
y_ 1 ¼ ixc y1  w1 y1 d þ ðw1 s1 þ w2 s2 Þy21 y2 ;
ð24Þ
y_ 2 ¼ ixc y2  w1 y2 d þ ðw1 s1 þ w2 s2 Þy1 y22 ;

where

2a
s1 ¼ 3b  ð3w2 ce3ixc s þ ðð2w2  6w2 Þcx2c
3xc ð2xc K c  ie2ixc s þ 4ix2c Þ
þ ð6iK c w2  3iv 2 w2  3iv 2 w2 þ 3i þ 2iK c w2 Þcxc Þe2ixc s þ ðw2 c þ 3w1 aÞeixc s þ w1 aeixc s
þ ð6  6w1 þ 2w1 Þax2c þ ð6iK c w1  3iv 2 w1 þ 2iK c w1  3iv 2 w1 Þaxc Þ
4a
þ ððv 2 w1 xc þ ieixc s w1  v 2 w1 xc  iw1 eixc s Þa
xc
þ ð2iw2  2iw2 þ ieixc s w2  ieixc s w2  xc þ v 2 w2 xc þ v 2 w2 xc ÞcÞ;

2c
s2 ¼ 3deixc s þ ð3e4ixc s w2 c þ ðð2w2  6w2 Þx2c
3xc ð2xc K c þ ie2ixc s  4ix2c Þ
þ ð6iK c w2  3iv 2 w2  3iv 2 w2 þ 3i þ 2iK c w2 Þxc Þce3ixc s þ ðw2 c þ 3w1 aÞe2ixc s
þ ðð6  6w1 þ 2w1 Þx2c þ ð6iK c w1  3iv 2 w1 þ 2iK c w1  3iv 2 w1 Þxc Þaeixc s þ w1 aÞÞ

iðw1 a þ w2 cÞ  iðw1 a þ w2 cÞ ðc  v 2 w2 c  av 2 w1  cv 2 w2  v 2 w1 aÞ
þ 4c þ :
xc e2ixc s eixc s
Given a set of equation parameters such as a = 1, b = 2, c = 5, d = 2 and s = 1, one can find Re (D1) Re (D2) > 0 and Re
(D2) < 0. Hence, there are stable periodic motions arising for d < 0. Fig. 1 depicts the bifurcation diagram regarding the ampli-
tude q of the periodic motions versus the bifurcation parameter K. At Kc = 0.891, a supercritical Hopf bifurcation arises.
L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3335

Fig. 1. Bifurcation diagram of a delayed Liénard equation with a = 1, b = 2, c = 5, d = 2 and s = 1.

Fig. 2. Bifurcation diagram for T with c = 2,p0 = 0.8, p1 = 0.2, p2 = 0.1, h = 0 and b = 3.6632.

5.2. Example 2: a simplified drilling process

This subsection deals with the simplified model for a drilling process, where the axial–torsional mode of the drill yields
[6,21]

€ þ cg_ þ kg ¼ wsðt 1  g cos hÞðp0 = cos h þ p1 g_ þ p2 g_ 2 Þ:


mg
Here m is the inertial term, c is damping, k is stiffness, h indicates the cutting angle, p0/cosh,p1, p2 are the coefficients of the
nonlinear friction, and t1  g cosh is the instantaneous chip thickness. By shifting the equilibrium to the origin, the system
can be reformulated as

€x þ ð1 þ bp0 Þx  ðbp1  cÞx_  bp0 xðt  TÞ  ðbp2 x_ 2  b cos hðx  xðt  TÞÞðp1 x_ þ p2 x_ 2 ÞÞ ¼ 0:

To study the bifurcation behavior with respect to the varying spindle speed, one can take the rotation period T as the
bifurcation parameter and let T = Tc + d, where Tc is the critical value when a Hopf bifurcation occurs. By rescaling the system
by ^t ¼ t=T, one obtains

u00 þ ð1 þ bp0 ÞT 2 u  ðbp1  cÞTu0  bp0 T 2 uð^t  1Þ  ðbp2 u02  b cos hðu  uð^t  1ÞÞðTp1 u0 þ p2 u02 ÞÞ ¼ 0; ð25Þ

where u ¼ du=d^t. Eq. (25) can be recast in the state space as follows
0

      " # " #
u01 0 1 x1 0 0 u1 ð^t  1Þ 0
¼ þ þ :
u02 ð1 þ bp0 ÞT 2 ðbp1  cÞT x2 bp0 0 u2 ð^t  1Þ bp2 u22  b cos hðu1  u1 ð^t  1ÞÞ Tp1 u2 þ p2 u22
ð26Þ

After the following information is input to the Maple program,


3336 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

Fig. 3. Bifurcation diagram for b with a1 = 2, a2 = 2, a3 = 2 and s = 1.2279.

n_dim :¼ 2;
n_delay :¼ 1;
n_order :¼ 3;
Eq_pos :¼ h0, 0i;
var_par :¼ [delta]:
T :¼ Tc + delta; #Tc refers to Tc
sys_rhs :¼hxt[2, 1], T^2⁄(1 + beta⁄p[0])⁄xt[1, 1] + T⁄ (beta⁄p[1]  gamma)⁄xt[2, 1] + T^2⁄beta⁄p[0]⁄xt[1, 2] + (beta⁄p[2]⁄xt[2, 1]
^
2  beta⁄ct⁄(xt[1, 1]  xt[1, 2])⁄(T⁄p[1]⁄xt[2, 1] + p[2]⁄xt[2,1]^2))i; # ct refers to cos h

the output of the program execution gives the following basis vectors of P and P⁄, respectively,
! !
eixc h eixc h w1 eixc n w2 eixc n
U¼ ; W¼ ;
ixc eixc h ixc eixc h w1 eixc n w2 eixc n

where

T 2c ð1  bp0 þ bp0 eixc Þ


w1 ¼ ;
T 2c  T 2c bp0 þ eixc T 2c bp0 þ ixc eixc bp0 T 2c  x2c
ixc
w2 ¼ w1 ;
T 2c ð1  bp0 þ bp0 eixc Þ
and the normal form up to the third order reads
8
>
> y_ ¼ ixc y1 þ ð2T c  2T c bp0 þ ixc bp1  ixc c þ 2bp0 eixc T c Þw2 y1 d
> 1
>
< þ K 1 w22 þ 13 K 2 w2 w2 þ K 3 w2 y21 y2 ;
ð27Þ
> y_ 2 ¼ ixc y2 þ ð2T c  2T c bp0  ixc bp1 þ ixc c þ 2bp0 eixc T c Þw2 y2 d
>
>
>
:
þ K 1 w2 2 þ 13 K 2 w2 w2 þ K 3 w2 y1 y22 ;

where

b2 e2ixc xc ð2G11 e5ixc  G12 e4ixc þ G13 e3ixc  G14 e2ixc þ G15 eixc  G16 Þ
K1 ¼  ;
G17 e2ixc þ T 2c bp0
b2 eixc xc ð2G21 e5ixc  G22 e4ixc þ G23 e3ixc  G24 e2ixc þ G25 eixc  G26 Þ
K2 ¼  ;
G17 e2ixc þ T 2c bc p0

bx2c eixc G31 e4ixc þ G32 e3ixc  G33 e2ixc þ G34 eixc  G35
K3 ¼ ;
G17 e2ixc þ T 2c bc p0
 
G11 ¼ iðixc p2  T c cos hp1 Þ x2c  T 2c  iT c cxc þ iT c bp1 xc  T 2c bp0 T c cos hp1 ;
 
G12 ¼ i 3x2c  3T 2c  3iT c cxc þ 3iT c bp1 xc  5T 2c bp0 T 2c p21 cos h2
 
þ 3x2c  3T 2c  3iT c cxc þ 3iT c bp1 xc  T 2c bp0 T c xc p1 p2 cos h
 
 4i x2c  T 2c  iT c cxc þ iT c bp1 xc  T 2c bp0 x2c p22 ;
L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3337

 
G13 ¼ i x2c  T 2c  iT c cxc þ iT c bp1 xc  4T 2c bp0 T 2c p21 cos h2 þ 4ibp22 x2c T 2c p0
 
þ 4x2c  4T 2c  4iT c cxc þ 4iT c bp1 xc  7T 2c bp0 T c xc p1 p2 cos h;
 
G14 ¼ i x2c  T 2c  iT c cxc þ iT c bp1 xc  2T 2c bp0 T 2c p21 cos h2
 
 x2c  T 2c  iT c cxc þ iT c bp1 xc þ 3T 2c bp0 T c xc p1 p2 cos h;
 
G15 ¼ i x2c  T 2c  iT c cxc þ iT c bp1 xc  2T 2c bp0 T 2c p21 cos h2
þ b cos hp1 T 3c xc p2 p0 ;
G16 ¼ ib cos h2 p21 T 4c p0 ; G17 ¼ T 2c þ 2iT c cxc  4x2c  2iT c bp1 xc þ T 2c bp0 ;
G21 ¼ ib cos h2 p21 T 4c p0 þ b cos hp1 T 3c xc p2 p0 ;
 
G22 ¼ 2x2c þ 2T 2c  2iT c cxc þ 2iT c bp1 xc  T 2c bp0 T c xc p1 p2 cos h
 
þ i 2x2c þ 2T 2c  2iT c cxc þ 2iT c bp1 xc þ 5T 2c bp0 T 2c p21 cos h2
þ 4ibp22 x2c T 2c p0 ;
 
G23 ¼ i 3x2c þ 3T 2c  3iT c cxc þ 3iT c bp1 xc þ 4T 2c bp0 T 2c p21 cos h2
 
 3x2c þ 3T 2c  3iT c cxc þ 3iT c bp1 xc þ 7T 2c bp0 T c xc p1 p2 cos h
 
þ 4i x2c þ T 2c þ T 2c bp0  iT c cxc þ iT c bp1 xc x2c p22 ;
 
G24 ¼ i x2c þ T 2c  iT c cxc þ iT c bp1 xc þ 2T 2c bp0 T 2c p21 cos h2
 
 4x2c þ 4T 2c  4iT c cxc þ 4iT c bp1 xc þ 3T 2c bp0 T c xc p1 p2 cos h;
 
G25 ¼ i x2c þ T 2c  iT c cxc þ iT c bp1 xc þ 2T 2c bp0 T 2c p21 cos h2
 
þ x2c þ T 2c þ T 2c bp0  iT c cxc þ iT c bp1 xc T c xc p1 p2 cos h;
 
G26 ¼ i x2c þ T 2c þ T 2c bp0  iT c cxc þ iT c bp1 xc T 2c p21 cos h2 ;
 
G31 ¼ 2b cos h2 p21 T 2c  T 2c þ 2iT c cxc  4x2c þ T 2c bp0 p2 cos h;
G32 ¼ 3b cos h2 p21 T 2c þ 4bp22 x2c
 
þ 4x2c þ T 2c bp0 þ T 2c þ 2iT c cxc þ iT c bp1 xc p2 cos h;
 
G33 ¼ b cos h2 p21 T 2c þ 8x2c þ 2T 2c þ 3T 2c bp0 þ 4iT c cxc p2 cos h;
G34 ¼ b cos h2 p21 T 2c  ðT c p0 þ ixc p1 ÞT c bp2 cos h;
G35 ¼ b cos h2 p21 T 2c  2 cos hp2 T 2c bp0 :
Given c = 2, p0 = 0.8, p1 = 0.2, p2 = 0.1, h = 0 and b = 3.6632, it is possible to study the system dynamics at low turning
speeds. In this case, Re (D1) Re (D2) > 0 and Re (D2) > 0 hold so that there are unstable periodic motions emerging for
d < 0. Fig. 2 indicates that a subcritical Hopf bifurcation occurs around Tc = 2. This subcritical Hopf bifurcation should not
be expected for manufacturing, because harmful oscillations may occur immediately when the rotation period varies around
Tc = 2.

5.3. Example 3: a delayed three-neuron model

This subsection focuses on the following three-neuron model with a time delay [7,22]:
8
< x_ 1 ðtÞ ¼ x1 ðtÞ þ a1 tanhðx3 ðtÞ  bx3 ðt  sÞÞ
>
x_ 2 ðtÞ ¼ x2 ðtÞ þ a2 tanhðx1 ðtÞ  bx1 ðt  sÞÞ ð28Þ
>
:_
x3 ðtÞ ¼ x3 ðtÞ þ a3 tanhðx2 ðtÞ  bx2 ðt  sÞÞ

where ai corresponds to the range of the continuous variable xi, b is the measure of the inhibitory influence of the past his-
tory, and xi in the argument of the function tanh represents the local positive feedback, i = 1, 2, 3. To study the inhibitory
influence on the system, let b = bc + d be the bifurcation parameter. Here bc is the critical value when a Hopf bifurcation oc-
curs around the trivial equilibrium (0, 0, 0).
3338 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

Given the following inputs to the Maple program,

n_dim :¼ 3;
n_delay :¼ 1;
n_order :¼ 3;
Eq_pos :¼ h0, 0, 0i;
var_par :¼ [delta]:
beta :¼ betac + delta;# betac refers to bc
sys_rhs :¼hxt[1, 1] + alpha[1]⁄ tanh (xt[3, 1]  beta⁄xt[3, 2]),
xt[2, 1] + alpha[2]⁄ tanh (xt[1, 1]  beta⁄xt[1, 2]), xt[3, 1] + alpha[3]⁄ tanh (xt[2, 1]  beta⁄xt[2,2])i;

the outputs of the Maple program show the basis vectors of P and P⁄ as follows
0 1
eixc h eixc h !
w1 eixc n w2 eixc n w3 eixc n
U¼B
@ v 2 eixc h v 2e ixc h C
A; W¼ ;
w1 eixc n w2 eixc n w3 eixc n
v 3 eixc h v 3 eix h c

where

w1 ¼ iðeixc s bc  1Þ3 =ðð2i þ 3ði  xc ÞsÞb3c e3ixc s þ ði  xc Þ3 ða2 a3 a1 Þ1


þ 6ði þ ðxc  iÞsÞb2c e2ixc s þ ð6i þ 3ði  xc ÞsÞbc eixc s  2iÞ;
a2 ð1 þ eixc s bc Þ ixc þ 1
v2 ¼  ; v3 ¼  ;
ixc þ 1 a1 ð1 þ eixc s bc Þ

ðixc þ 1Þ x2c þ 2ixc þ 1
w2 ¼  w ; w ¼ w1 ;
a2 ð1 þ eixc s bc Þ 1 3
a3 a2 ð1 þ eixc s bc Þ2

and the normal form up to the third order reads


8
>
> y_ 1 ¼ ixc y1 þ ðw1 a1 v 3  w2 a2  w3 a3 v 2 Þeixc s y1 d
>
>
>
>
>
> þ b2c e2ixc s þ 2bc þ b3c eixc s  1 þ eixc s bc  2b2c
>
>
>
< a1 v 3 v 2 w1 þ a2 w2 þ a3 v 2 v 2 w3 y2 y ;
3 2 1 2
ð29Þ
>
> y_ 2 ¼ ixc y2 þ ðw1 a1 v 3  w2 a2  w3 a3 v 2 Þeixc s y2 d
>
>
>
>
>
> þ b2c e2ixc s þ 2bc þ b3c eixc s  1 þ eixc s bc  2b2c
>
>
>
:
ða1 v 3 v 3 2 w1 þ a2 w2 þ a3 v 2 v 2 2 w3 Þy1 y22 :

For a1 = 2, a2 = 2, a3 = 2, s = 1.2279, Eq. (29) enables one to find Re (D1) Re (D2) < 0 and Re (D2) < 0, indicating that stable
periodic motions arise for d > 0. One can also find that a supercritical Hopf bifurcation occurs around bc = 0.2, as illustrated in
Fig. 3.
Figs. 1–3 demonstrate that the numerical results and the normal form analysis agree with each other in both the ampli-
tude of a bifurcated oscillation and its stability around the bifurcation point. Therefore, the symbolic computation of the nor-
mal forms can be a trustable tool for studying local bifurcation behaviors.

6. Conclusions

From a theoretical point of view, the appearance of time delays in a dynamic system leads to the complicated dynamics of
infinite dimensions. This fact gives rise to significant difficulties in the system analysis, especially in the study of system sta-
bilities and bifurcations. Fortunately, the development of symbolic algebra systems provides a possible way to complete the
system analysis automatically.
In this paper, a symbolic computation scheme and its corresponding Maple program (listed in the Appendix A and can be
accessed through E-mail to authors) have been developed for computing the normal form of a Hopf bifurcation for a Retarded
Functional Differential Equation. To establish the relation between the original delayed dynamic system and the normal
form, the bifurcation parameter is considered as an unknown parameter during the computation. Three examples are pre-
sented to show the applicability of the Maple program. A good agreement is demonstrated between the normal form analysis
and the numerical results in both the amplitude of a bifurcated oscillation and its stability around the bifurcation point.
Hence, the Maple program is an effective and trustable tool for the local bifurcation analysis. As a future work, the Maple
program is to be generalized to deal with other local bifurcations, such as the double-Hopf bifurcation, the Fold–Hopf bifur-
cation and the Bogdanov–Takens bifurcation, of delayed dynamic systems.
L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3339

Acknowledgements

This work was supported by the State Key Program of National Natural Science Foundation of China under Grant No.
11032009, the National Natural Science Foundation of China under Grant No. 11002047, University Doctoral Program Foun-
dation of China under Grant 20070287029 and NUAA Research Funding under Grant No. NS2010021.

Appendix A. Maple program

List in this Appendix A is the source codes of the Maple program for computing the normal form for a Hopf bifurcation in a
retarded functional differential equation.
Subroutines:

DegreeSeparate :¼ proc (Eqs::{Matrix, Vector[column]}, varlist::{set, list}, Norder::integer)


local Eqs_temp, ndim, Eq_ex, i, nterm, j, term;
Eqs_temp :¼ convert (Eqs, Vector[column]);
ndim :¼ LinearAlgebra:-Dimension (Eqs);
Eq_ex :¼ Vector[column](ndim);
for i from 1 to ndim do
nterm :¼ nops (expand (Eqs_temp[i]+1))-1;
for j from 1 to nterm do
term :¼ op (j, expand (Eqs_temp[i]+1));
if degree (term, varlist)=Norder then
Eq_ex[i] :¼ Eq_ex[i]+term;
end if;
end do;
end do:
Eq_ex;
end proc:
FLSeparate :¼ proc (Eqs::Vector[column], svarlist::{set, list}, varpar::{Vector[column], list, set})
local ndim, Eq_ex, i, j, term;
ndim :¼ LinearAlgebra:-Dimension (Eqs);
Eq_ex :¼ Vector[column](ndim);
for i from 1 to ndim do
for j from 1 to nops (expand (Eqs[i])+1)-1 do
term :¼ op (j, expand (Eqs[i])+1);
if degree (term, varpar) > =1 then
if degree (term, svarlist)=1 then
Eq_ex[i] :¼ Eq_ex[i]+term;
end if:
end if:
end do:
end do:
Eq_ex, Eqs-Eq_ex;
end proc:
CoeffMulvar :¼ proc (expression::algebraic, varlist::list, exponentslist::list)
local nvar, eq, i;
nvar :¼ nops (varlist);
eq :¼ expression;
for i from 1 to nvar do
eq :¼ coeff (eq, varlist[i], exponentslist[i]);
end do;
eq;
end proc:
DiffMulvar :¼ proc (Eqs::{Vector[column], Matrix}, varlist::list, ww, norder::integer, neqs::integer, ni::integer)
local Eq_max, nvar, rdim, cdim, j, summands, kk, k, DEQs, S, m, jj, idx, ik, mm, nn, T, ii, cc;
Eq_max :¼ convert (Eqs, Matrix);
nvar :¼ nops (varlist);
rdim :¼ LinearAlgebra:-RowDimension (Eq_max);

(continued on next page)


3340 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

cdim :¼ LinearAlgebra:-ColumnDimension (Eq_max);


DEQs :¼ Matrix (rdim, cdim);
for j from 0 to (norder + 1)^nvar-1 do
summands :¼ NULL:
kk :¼ j:
for m from 1 to nvar do
summands :¼ summands, modp (kk, norder + 1):
kk :¼ floor (kk/(norder + 1)):
end do:
S[summands] :¼ convert ([summands], ‘+‘):
if S[summands]=norder then
T :¼ combinat:-cartprod ([[0, seq (i, i = 2.. (ni))]$nvar]);
while not T[finished] do
idx :¼ T[nextvalue]();
if convert (idx, ‘+‘) < =ni + norder-neqs and sum (idx[nn]⁄(summands[nn]), nn = 1..nvar)=ni + norder-neqs then
for ii from 1 to rdim do
for cc from 1 to cdim do
DEQs[ii, cc] :¼ DEQs[ii, cc]+diff (Eq_max[ii, cc], [seq (varlist[i]$(summands[i]), i = 1..nvar)])⁄mul
(ww[i][idx[i]]^(summands[i]), i = 1..nvar)⁄mul (1/(summands[i])!, i = 1..nvar);
end do:
end do:
end if;
end do;
end if;
end do:
DEQs;
end proc:
SigSum :¼ proc (eq, ndim::integer)
local r_eq;
if eq = 0 then
r_eq :¼ Vector[column](ndim);
else
r_eq :¼ eq;
end if;
r_eq;
end proc:

Main program:

sys_rhs :¼ map (mtaylor, sys_rhs, [seq (seq (op ([xt[i, j]=Eq_pos[i], xt[n_dim + i, j]=Eq_pos[i]]), i = 1..n_dim), j = 1..
(n_delay + 1))], n_order + 1):
alias (MM = LinearAlgebra:-Multiply, lj = linalg:-jacobian,VJ = VectorCalculus:-Jacobian):
n_ode :¼ 2:
var :¼ seq (seq (xt[i, j], j = 1..n_delay + 1), i = 1..n_dim), op (var_par):
svar :¼ seq (seq (xt[i, j], j = 1..n_delay + 1), i = 1...n_dim):
n_var :¼ nops ([var]):
n_svar :¼ nops ([svar]):
for i from 1 to n_order do
FF[i] :¼ DegreeSeparate (sys_rhs, [var], i):
Lk0 :¼ FF[1]:
if i > 1 then
TEMP1 :¼ FLSeparate (FF[i], [svar], var_par):
Lk(i-1) :¼ TEMP1[1]:
Fki :¼ TEMP1[2]:
end if;
end do:
for i from 1 to n_delay + 1 do
XT[i] :¼ hseq (xt[j, i], j = 1..n_dim)i:
L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3341

end do:
V :¼ hseq (v[i], i = 1 .. n_dim)i: v[1] :¼ 1:
W :¼ LinearAlgebra[Transpose](hseq (w[i], i = 1 .. n_dim)i):
Y :¼ hseq (y[i], i = 1 .. n_ode)i: ylist:¼[seq (y[i], i = 1 .. n_ode)]:
H :¼ hseq (0⁄i, i = 1..n_dim)i:
for j from 2 to n_order do
cat (h, j) :¼ hseq (cat (h, j, i), i = 1 .. n_dim)i;
H :¼ H + eval (cat (h, j)):
end do:
ode_var :¼ seq (y[i], i = 1 .. n_ode), op (var_par): # variables in the ode on the center manifold
s_ode_var :¼ seq (y[i], i = 1 .. n_ode): # state variables in the ode on the center manifold
n_ode_var :¼ nops ([ode_var]): # number of variables in the ode on the center manifold
for ii from 1 to n_dim do
for jj from 2 to n_order do
cat (h, jj, ii) :¼ 0;
end do;
end do:
S :¼ table( ):
aa :¼ 0:
for j from 0 to (n_order + 1)^n_ode_var-1 do
summands :¼ NULL:
kk :¼ j:
for m from 1 to n_ode_var do
summands:¼summands, modp (kk, n_order + 1):
kk :¼ floor (kk/(n_order + 1)):
end do:
S[summands] :¼ convert ([summands], ‘+‘):
for k from 2 to n_order do
if S[summands]=k then
for jj from 1 to n_dim do
aa :¼ hkkkjj;
aa :¼ aa+(h[jj][summands])(theta)⁄mul (ode_var[i]^(summands[i]), i = 1..n_ode_var);
hkkkjj :¼ aa;
end do:
end if:
end do:
end do:
E_subs :¼ []:
for i from 1 to n_dim do
E_subs :¼ [op (E_subs), seq (xt[i, j]=Eq_pos[i], j = 1..n_delay + 1)]:
end do:
for i from 0 to n_delay do
A[i] :¼ convert (subs (E_subs, linalg[jacobian](Lk0, XT[i + 1])), ‘Matrix’):
end do:
ident :¼ Matrix (n_dim, shape = identity):
tau[0] :¼ 0:
Delta :¼ lambda⁄ident-sum (‘A[i]⁄exp (-lambda⁄tau[i])’, ‘i’=0..n_delay):
char_eq :¼ combine (collect (LinearAlgebra[Determinant](Delta), lambda)):
D_Delta :¼ subs (lambda = I⁄omega, map (diff, Delta, lambda)):
eq_im :¼ evalc (subs (lambda = I⁄omega,char_eq)):
eq_Re :¼ coeff (expand (eq_im), I, 0):
eq_Im :¼ coeff (expand (eq_im), I, 1):
SC_subs:¼solve ([eq_Re, eq_Im], {op (selectfun (eq_Re, cos)), op (selectfun (eq_Re, sin)), op (select
fun (eq_Im, sin)), op (selectfun (eq_Im, cos))}):
Dv :¼ subs (lambda = I⁄omega, LinearAlgebra[Multiply](Delta, V)):
V_subs :¼ op (solve ([seq (Dv[i], i = 1..n_dim-1)], [seq (v[i],i = 2..n_dim)])):
assume_variables :¼seq (indets (eq_im,name)[i]::real, i = 1..nops (indets (eq_im, name))), theta::rea
l, xi::real: # theta, xi used as varibles in banach space

(continued on next page)


3342 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

phi[1] :¼ V⁄exp (I⁄omega⁄theta):


phi[2] :¼ evalc (map (conjugate, V)⁄exp (-I⁄omega⁄theta)) assuming assume_variables:
Phi :¼ Matrix ([phi[1], phi[2]]):
wD :¼ subs (lambda = I⁄omega, LinearAlgebra[Multiply](W, Delta)):
W_subs :¼op (solve ([seq (wD[i], i = 1..n_dim-1)], [seq (w[i], i = 2..n_dim)])):
w1:¼solve (LinearAlgebra[Multiply](LinearAlgebra[Multiply](subs (W_subs, W), D_Delta), sub
s (V_subs, V))=1, w[1]):
psi[1] :¼ W⁄exp (-I⁄omega⁄xi):
psi[2] :¼ map (conjugate, W)⁄exp (I⁄omega⁄xi) assuming assume_variables:
P_si :¼ Matrix ([[psi[1]], [psi[2]]]):
P_si_0 :¼ subs (xi = 0, P_si):
B :¼ Matrix ([[I⁄omega, 0], [0, -I⁄omega]]):
Phiy :¼ LinearAlgebra[Multiply](Phi, Y):
for i from 0 to n_delay do
Phiyt[i] :¼ subs (theta=-tau[i], Phiy):
Phiyth[i] :¼ eval (subs (theta=-tau[i], Phiy + H)):
end do:
subs_group :¼ { }: subs_group_t :¼ { }:
for i from 0 to n_delay do
for j from 1 to n_dim do
subs_group :¼ {op (subs_group), XT[i + 1][j]=Phiyt[i][j]};
subs_group_h :¼ {op (subs_group_t), XT[i + 1][j]=Phiyth[i][j]};
end do;
end do:
subs_group_W :¼ { }: # the homogeneous part of UV1(y, a) + V2(y, a)
for i from 2 to n_order do
G_elementki :¼ []: # the element of basis group
L_elementki :¼ []: # the result after Lie bracket
coe_elementki :¼ []: # L_element/G_element
Resonantki :¼ []: # resonant terms
UResonantki :¼ []: # nonresonant terms
g1[i] :¼ <seq (j⁄0, j = 1..n_ode) > : # remained terms in the normal form
V_Fn[i] :¼ <seq (j⁄0, j = 1..n_ode) > : #Vanished terms
V1ki :¼ <seq (j⁄0, j = 1..n_ode) > :
indet_hki :¼ { }:
eq_hki :¼ { }:
eq_dhk i:¼ { }:
indet_cki :¼ { }:
end do:
for i from 2 to n_order do
t1 :¼ subs (subs_group, Lk(i-1))+SigSum (add (subs (subs_group_L[k], Lk(i-k)), k = 2.. (i-1)), n_dim);
t2:¼subs (subs_group, Fki)+SigSum (add (subs (subs_group_W, subs_group, convert (DiffMulvar
(Fkk, [svar], ww, 1, k, i), Vector[column])), k = 2.. (i-1)), n_dim)+SigSum (add (add ( subs
(subs_group_W, subs_group, convert (DiffMulvar (Fkk, [svar], ww, j, k, i), Vector[column])), k = j..i-j), j = 2..floor (i/
2)), n_dim);
K[i] :¼ t1 + t2;
f1[i] :¼ MM (P_si_0, K[i])-SigSum (add (MM (VJ (V1kk, ylist), g1[i + 1-k]), k = 2.. (i-1)), n_ode);
V2ki :¼ hki;
ode:¼-MM (Phi, MM (P_si_0, K[i]))-SigSum (add (MM (VJ (V2kk, ylist), g1[i + 1-k]), k = 2..i-1), n_dim)-(MM (VJ
(V2ki, ylist), MM (B, Y)))+map (diff, V2ki, theta);
id :¼ 0: # to count the number of possible combination of exponent of respecitve variables
for i_1 from 0 to (1 + i)^n_ode_var-1 do
sumindex :¼ NULL:
k :¼ i_1:
for j from 1 to n_ode_var do
sumindex :¼ sumindex, modp (k, i + 1)+1:
k :¼ floor (k/(i + 1)):
end do:
SS[sumindex] :¼ convert ([sumindex], ‘+‘)-(n_ode_var):
L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344 3343

if SS[sumindex]=i then
id :¼ id + 1;
for m from 1 to n_ode do
ii :¼ ‘ii’: element[m] :¼ <seq (0⁄ii, ii = 1..n_ode) > :
ii :¼ ‘ii’: element[m][m] :¼ product (ode_var[ii]^(sumindex[ii]-1), ii = 1..n_ode_var):
sus[m] :¼ convert (linalg[jacobian](element[m], Y), ‘Matrix’);
M_element[m] :¼ LinearAlgebra[Multiply](LinearAlgebra[Multiply](sus[m], B), Y)-
LinearAlgebra[Multiply](B, element[m]);
c_element[m] :¼ M_element[m][m]/element[m][m];
if evalb (c_element[m]=0) then
Resonantki :¼ [element[m], op (Resonantki)];
tem :¼ CoeffMulvar (f1[i][m], [ode_var], map (‘-‘, [sumindex], 1));
g1[i][m] :¼ g1[i][m]+tem⁄product (ode_var[ij]^(sumindex[ij]-1), ij = 1..n_ode_var):
else
UResonantki :¼ [element[m], op (UResonantki)];
tem :¼ CoeffMulvar (f1[i][m], [ode_var], map (‘-‘, [sumindex], 1));
V_Fn[i][m] :¼ V_Fn[i][m]+tem⁄product (ode_var[ij]^(sumindex[ij]-1), ij = 1..n_ode_var);
(V1ki)[m]:¼(V1ki)[m]+tem/c_element[m]⁄product (ode_var[ij]^(sumindex[ij]-1), ij = 1..n_ode_var);
end if:
G_elementki :¼ [element[m], op (G_elementki)];
L_elementki :¼ [M_element[m], op (L_elementki)];
coe_elementki :¼ [c_element[m], op (coe_elementki)];
end do:
for mm from 1 to n_dim do
indet_hki :¼ {CoeffMulvar (ode[mm], [ode_var], map (‘-‘, [sumindex], 1)), op (indet_hki)}:
eq_hki :¼ {CoeffMulvar (V2ki[mm], [ode_var], map (‘-‘, [sumindex], 1)), op (eq_hki)}:
eq_dhki:¼{CoeffMulvar (map (diff, V2ki[mm], theta), [ode_var], map (‘-‘, [sumindex], 1)), op (eq_dhki)}:
end do:
end if:
end do:
if i <> n_order then
C_constant :¼ {seq (cat (_C, i_constant), i_constant = 1..id⁄n_dim)};# constants to solve
V2ki:¼subs (convert (dsolve (indet_hki, eq_hki), int), map (eval, V2ki));
‘L_0‘:¼subs ([seq (seq (xt[ii, jj]=subs (theta=-tau[jj-1], V2ki[ii]), jj = 1..n_delay + 1), ii = 1..n_dim)], Lk0):
‘DV’‘:¼subs ([seq (seq (xt[ii, jj]=subs (theta=-tau[jj-1], subs (dsolve (indet_hki, eq_hki), subs (solve
(indet_hki, eq_dhki), map (diff, V2ki, theta)))[ii]), jj = 1..n_delay + 1), ii = 1..n_dim)], XT[1]):
I_ode[i] :¼ K[i]+‘L_0‘-‘DV’‘:
for i_2 from 0 to (1 + i)^n_ode_var-1 do
sumindex_2 :¼ NULL:
k_2 :¼ i_2:
for j_2 from 1 to n_ode_var do
sumindex_2 :¼ sumindex_2, modp (k_2, i + 1)+1:
k_2 :¼ floor (k_2/(i + 1)):
end do:
SS2[sumindex_2] :¼ convert ([sumindex_2], ‘+‘)-(n_ode_var):
if SS2[sumindex_2]=i then
for mm_2 from 1 to n_dim do
indet_cki:¼{CoeffMulvar (I_ode[i][mm_2], [ode_var], map (‘‘, [sumindex_2], 1)), op (indet_cki)}:
end do:
end if:
end do:
V2ki :¼ subs (solve (indet_cki, C_constant), map (eval, V2ki));
Wki :¼ MM (Phi, V1ki)+V2ki:
for i_w from 1 to n_delay + 1 do
(WWki)[i_w] :¼ subs (theta=-tau[i_w-1], Wki);
end do:
subs_group_L[i] :¼ { }:
ix :¼ 1:

(continued on next page)


3344 L. Zhang et al. / Commun Nonlinear Sci Numer Simulat 17 (2012) 3328–3344

for i_s from 1 to n_dim do


for j_s from 1 to n_delay + 1 do
subs_group_L[i] :¼ {op (subs_group_L[i]), XT[j_s][i_s]=(WWki)[j_s][i_s]};
subs_group_W :¼ {op (subs_group_W), ww[ix][i]=(WWki)[j_s][i_s]};
ix :¼ ix + 1;
end do:
end do:
end if:
end do:
V_1:¼add (V1ki, i = 2..n_order):
V_2:¼add (V2ki, i = 2..n_order-1):
SYS:¼(MM (B, Y)+sum (g1[‘i’], ‘i’=2..3)):
printf (‘‘⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄output⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄nn’’);
printf (‘‘The critical values for the occurrence of a Hopf bifurcationnn’’);
print (SC_subs);
printf (‘‘⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄nn’’);
printf (‘‘Basis of center spacenn’’);
print ([w[1]=w1, op (W_subs)]);print ([‘v[1]’=1, op (V_subs)]);
printf (‘‘⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄nn’’);
printf (‘‘nonlinear transformation V1nn’’);
print (V_1);
printf (‘‘⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄nn’’);
printf (‘‘nonlinear transformation V2nn’’);
print (V_2);
printf (‘‘⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄nn’’);
printf (‘‘The normal form of the required ordernn’’);
print (SYS1);

References

[1] Richard J. Time-delay systems: an overview of some recent advances and open problems. Automatica 2003;39:1667–94.
[2] Kyrychko YN, Hogan SJ. On the use of delay equations in engineering applications. J Vibr Control 2010;16:943–60.
[3] Hale J. Theory of functional differential equations. New York: Springer-Verlag; 1977.
[4] Guckenheimer J, Holmes P. Nonlinear oscillations, dynamical systems, and bifurcations of vector fields. New York: Springer-Verlag; 1983.
[5] Xu J, Lu QS. Hopf bifurcation of time-delay Lienard equations. Int J Bifurca Chaos 1999;9:939–51.
[6] Stone E, Campbell SA. Stability and bifurcation analysis of a nonlinear DDE model for drilling. J Nonlinear Sci 2004;14:27–57.
[7] Liao X, Guo S, Li C. Stability and bifurcation analysis in tri-neuron model with time delay. Nonlinear Dyn 2007;49:319–45.
[8] Faria T, Magalhães LT. Normal forms for retarded functional differential equations with parameters and applications to Hopf bifurcation. J Differ Equ
1995;122:181–200.
[9] Faria T, Magalhães LT. Normal forms for retarded functional differential equations and applications to Bogdanov-Takens singularity. J Differ Equ
1995;122:201–24.
[10] Yu P, Zhu SH. Computation of the normal forms for general M-DOF systems using multiple time scales. Part I: autonomous systems. Commun
Nonlinear Sci Numer Simulat 2005;10:869–905.
[11] Zhu SH, Yu P. Computation of the normal forms for general M-DOF systems using multiple time scales. Part II: non-autonomous systems. Commun
Nonlinear Sci Numer Simulat 2006;11:45–81.
[12] Campbell SA, Belair J. Analytical and symbolically assisted investigation of Hopf bifurcations in delay-differential equations. Can Appl Math Quart
1995;3:137–54.
[13] Belair J, Campbell SA. Stability and bifurcations of equilibria in a multiple-delayed differential equation. SIAM J Appl Math 1994;54:1402–24.
[14] Babram MA, Arino O, Hbid ML. Computational scheme of a center manifold for neutral functional differential equations. J Math Anal Appl
2001;258:396–414.
[15] Babram MA, Hbid ML, Arino O. Approximation scheme of a center manifold for functional differential equations. J Math Anal Appl 1997;213:554–72.
[16] Qesmi R, Babram MA, Hbid ML. Center manifolds and normal forms for a class of retarded functional differential equations with parameter associated
with Fold–Hopf singularity. Appl Math Comput 2006;181:220–46.
[17] Qesmi R, Babram MA, Hbid ML. A Maple program for computing a terms of a center manifold, and element of bifurcations for a class of retarded
functional differential equations with Hopf singularity. Appl Math Comput 2006;175:932–68.
[18] Qesmi R, Babram MA, Hbid ML. Symbolic computation for center manifolds and normal forms of Bogdanov bifurcation in retarded functional
differential equations. Nonlinear Anal – Theory Method Appl 2007;66:2833–51.
[19] Babram MA. An algorithmic scheme for approximating center manifolds and normal forms for functional differential equations. In: Arino O, Hbid ML,
Ait Dads E, editors. Delay differential equations and applications. The Neitherlands: Springer; 2006. p. 193–226.
[20] Yu P, Leung AYT. The simplest normal form of Hopf bifurcation. Nonlinearity 2003;16:277–300.
[21] Stone E, Askari A. Nonlinear models of chatter in drilling processes. Dyn Syst Int J 2002;17:65–85.
[22] Nayfeh A. Order reduction of retarded nonlinear systems – the method of multiple scales versus center-manifold reduction. Nonlinear Dyn
2008;51:483–500.
[23] Engelborghs K, Luzyanina T, Samaey G. DDE-BIFTOOL v. 2.00: A Matlab Package for Bifurcaton Analysis of Dealy Differential Equations; 2001.

You might also like