Applied Mathematics and Computation 217 (2011) 7349–7360
Contents lists available at ScienceDirect
Applied Mathematics and Computation journal homepage: www.elsevier.com/locate/amc
On the Ni(x) integral function and its application to the Airy’s non-homogeneous equation M.H. Hamdan ⇑, M.T. Kamel Department of Mathematical Sciences, University of New Brunswick, P.O. Box 5050, Saint John, NB, Canada E2L 4L5
a r t i c l e
i n f o
Keywords: Airy’s non-homogeneous equation Nield–Kuznetsov function
a b s t r a c t In this article, we discuss a recently introduced function, Ni(x), to which we will refer as the Nield–Kuznetsov function. This function is attractive in the solution of inhomogeneous Airy’s equation. We derive and document some elementary properties of this function and outline its application to Airy’s equation subject to initial conditions. We introduce another function, Ki(x), that arises in connection with Ni(x) when solving Airy’s equation with a variable forcing function. In Appendix A, we derive a number of properties of both Ni(x) and Ki(x), their integral representation, ascending and asymptotic series representations. We develop iterative formulae for computing all derivatives of these functions, and formulae for computing the values of the derivatives at x = 0. An interesting finding is the type of differential equations Ni(x) satisfies. In particular, it poses itself as a solution to Langer’s comparison equation. Ó 2011 Elsevier Inc. All rights reserved.
1. Introduction Many problems in mathematical physics that are governed by ordinary differential equations (ODE) are apt to reduction to Airy’s ODE by an appropriate transformation or a change of variable [4,5,8,11,12]. A well-known form of Airy’s ODE in the unknown function y(x) is given by Eq. (1), below, in which we will use (in fact throughout this work) prime notation to denote ordinary differentiation:
y00 xy ¼ f ðxÞ:
ð1Þ
Solving Eq. (1), and analysis of the functions that represent its solutions continue to be a subject matter of importance due to the large number of applications associated with this equation across the sciences and engineering spectra (cf. [1,3,6,11,12] and the references therein). As is well-known, general solution to the homogeneous part of ODE (1), namely:
y00 xy ¼ 0
ð2Þ
is given by:
y ¼ c1 AiðxÞ þ c2 BiðxÞ;
ð3Þ
where Ai(x) and Bi(x) are two linearly independent functions, known as Airy’s functions and defined by the following integrals (cf. [1,8,11,12]):
⇑ Corresponding author. E-mail addresses:
[email protected] (M.H. Hamdan),
[email protected] (M.T. Kamel). 0096-3003/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.amc.2011.02.025
7350
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
AiðxÞ ¼ BiðxÞ ¼
1
p 1
p
Z Z
1
0 1
0
1 cos xt þ t3 dt; 3 Z 1 3 1 1 1 sin xt þ t dt þ exp xt t3 dt: 3 3 p 0
ð4Þ ð5Þ
The Wronskian of Ai(x) and Bi(x) is given by [1]: 0
0
WðAiðxÞ; BiðxÞÞ ¼ AiðxÞBi ðxÞ BiðxÞAi ðxÞ ¼
1
p
ð6Þ
:
The non-homogeneous ODE (1) has a particular solution given by the following Scorer functions, Gi(x) and Hi(x) [10]: (i) When f ðxÞ ¼ 1 p , a particular solution is given by
GiðxÞ ¼
1
p
Z
1
0
1 sin xt þ t 3 dt: 3
ð7Þ
(ii) When f ðxÞ ¼ p1 , a particular solution is given by
HiðxÞ ¼
1
p
Z
0
1
1 exp xt t3 dt: 3
ð8Þ
The Scorer functions are related to Bi(x) by the following equation, as can be seen from (7), (8) and (5):
GiðxÞ þ HiðxÞ ¼ BiðxÞ:
ð9Þ
For real values of x, Airy’s and Scorer’s functions are real-valued functions, [3]. Extensive analysis has been carried out by Gil et al. [3], when the argument is complex. Computations of the Airy and Scorer functions continue to receive attention in the literature, and excellent results have been documented (cf. [1–3,6,7,11,12] and the references therein]. In order to solve initial value problems (IVP) involving ODE (1) and (2), one requires the following values of Airy’s and Scorer’s functions at the initial point x = 0, expressed in terms of the Gamma function, [1,3,12]:
Gið0Þ ¼
1 1 1 1 Hið0Þ ¼ Bið0Þ ¼ pffiffiffi Aið0Þ ¼ 7=6 2 ; 2 3 3 3 C
ð10Þ
3
G0 ið0Þ ¼
1 0 1 1 1 H ið0Þ ¼ B0 ið0Þ ¼ pffiffiffi A0 ið0Þ ¼ 5=6 2 : 2 3 3 3 C
ð11Þ
3
In spite of the advancements that have been achieved in the analysis and solution of Airy’s equation, and the efficient computational methodologies to evaluate the Airy and Scorer functions, there continues to be a need to seek new frontiers to either shed further light on the Airy’s equation, or to discover new areas of its applications. Recently, utility of the non-homogeneous Airy’s equation in the formulation and analysis of flow over porous layers was introduced by Nield and Kuznetsov, [9], in order to shed further light on this important problem. Their, [9], insightful formulation of the physical problem involved utilizing a transition porous layer between a free-channel and a porous medium, which resulted in a mathematical formulation of the problem in terms of Airy’s non-homogeneous equation. Their elegant analysis included the introduction of an integral function that we will refer to in this work as the Nield–Kuznetsov function, Ni(x). Some interesting properties of Ni(x) were discussed by Nield and Kuznetsov, [9], and point out to the need to look further into this function and its promising features. The aim of the current work is to present formulation, and outline the method of solution to some initial value problems involving ODE (1), using the Nield–Kuznetsov function, and to discuss some of its elementary properties and the differential equations it satisfies (such as Langer’s comparison ODE, [4,5,12]). No claim is made in the current work that the properties discussed and developed are exhaustive; indeed, many additional would-be interesting properties of the Nield–Kuznetsov function are yet to be discovered. Since the Ni(x) function is formulated in terms of the Airy’s functions, and it has connections with Scorer’s functions, we will utilize the available literature on some of the properties of the Aiy’s and Scorer’s functions, in which a number of properties of the Ni(x) are embedded. In the process of our investigation, we introduce a complementary function to the Nield–Kuznetsov function, and denote it by Ki(x). It will be shown that Ki(x) is convenient in expressing the particular solution to the non-homogeneous ODE (1) when the forcing function is a variable function of x. This work is organized as follows. In the main text of this article we provide formulation and analysis of ODE (1) in terms of the Nield–Kuznetsov function, and in Appendix A, we develop and discuss some elementary properties that both Ni(x) and Ki(x) possess. 2. The Nield–Kuznetsov Ni(x) function Nield and Kuznetsov, [9], introduced a function,Ni(x), that arose in their modeling and solution of flow over a porous layer, where the governing equations were reduced to a form similar to ODE (1). To accomplish their solution, they conveniently defined Ni(x) in terms of Airy’s homogeneous functions, namely:
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
NiðxÞ ¼ AiðxÞ
Z
x
BiðtÞdt BiðxÞ
Z
0
7351
x
AiðtÞdt:
ð12Þ
0
Nield and Kuznetsov, [9], provided the following first derivative of Ni(x): 0
0
Ni ðxÞ ¼ Ai ðxÞ
Z
x
0
BiðtÞdt Bi ðxÞ
Z
0
x
AiðtÞdt
ð13Þ
0
and obtained the following interesting zeroes of Ni(x) and N0 i(x):
Nið0Þ ¼ N0 ið0Þ ¼ 0
ð14Þ
Another important derivative of Ni(x) is its second, which we express in the following form that involves the Wronskian, W(Ai(x), Bi(x)): 00
Ni ðxÞ ¼ Ai
00
Z
x
BiðtÞdt Bi
0
00
Z
x
AiðtÞdt WðAiðxÞ; BiðxÞÞ:
ð15Þ
0
The value of the second derivative at x = 0 is given in terms of the above Wronskian, namely 00
Ni ð0Þ ¼ WðAið0Þ; Bið0ÞÞ ¼
1
p
ð16Þ
:
In Appendix A of the current work, we investigate a number of properties of the Nield–Kuznetsov function and its relationship Airy’s and Scorer’s functions. In particular, it is shown that the Nield–Kuznetsov function has the following integral representation (Eq. (A.5.21)):
NiðxÞ ¼
2 3p
Z
1 0
Z 1 1 1 1 sin xt þ t 3 dt exp xt t3 dt: 3 3p 0 3
ð17Þ
3. Formulation of initial value problems in terms of Ni(x) Consider the IVP composed of solving ODE (1) subject to the initial conditions:
yð0Þ ¼ a;
ð18Þ
y0 ð0Þ ¼ b;
ð19Þ
where a and b are known constants. General solution to ODE (1) is the sum of the complementary function, given by Eq. (3) as solution to the homogeneous Airy’s ODE, and the particular solution, yp, which is assumed to take the form:
yp ¼ u1 AiðxÞ þ u2 BiðxÞ:
ð20Þ
The functions u1 and u2 are given by the following forms, respectively:
Z x u1 ¼ p f ðtÞBiðtÞdt; 0 Z x u2 ¼ p f ðtÞAiðtÞdt:
ð21Þ ð22Þ
0
If f(x) = d = constant then the particular solution takes the form takes the following form:
Z yp ¼ pd AiðxÞ
x
BiðtÞdt BiðxÞ
Z
0
x
AiðtÞdt
¼
0
d NiðxÞ: 00 Ni ð0Þ
ð23Þ
General solution to ODE (1) thus takes the form:
y ¼ c1 AiðxÞ þ c2 BiðxÞ þ
d NiðxÞ 00 Ni ð0Þ
ð24Þ
and a solution satisfying the initial conditions is written as:
y¼p
( 31=6 a 1
C
3
b 31=6 C
) 2 AiðxÞ þ p 3
(
a
1 þ
31=3 C
3
b 32=3 C
) 2 BiðxÞ pdNiðxÞ
ð25Þ
3
For the sake of comparison, when f ðxÞ ¼ p1 , and f ðxÞ ¼ p1 solutions to the IVP take the following forms in terms of Scorer’s functions, respectively:
7352
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
) 1 BiðxÞ þ GiðxÞ; 3 C 3 31=6 C 3 32=3 C 3 31=3 C 3 ( ) ( ) 31=6 a b a b 2 y¼p 1=6 AiðxÞ þ p 1=3 þ 2=3 BiðxÞ þ HiðxÞ: 3 C 13 3 C 2 3 C 2 3 C 1
y¼p
( 31=6 a 1
(
)
b
2 AiðxÞ þ p
a
3
b
1 þ
2
3
ð26Þ ð27Þ
3
Solutions (25) and (26) are equivalent when f ðxÞ ¼ p1 , and solutions (25) and (27) are equivalent when f ðxÞ ¼ p1 , in light of the following relationships between Ni(x) and the Scorer functions, established in (A.5.16) and (A.5.17), respectively, of Appendix A:
1 NiðxÞ ¼ GiðxÞ BiðxÞ; 3 2 NiðxÞ ¼ BiðxÞ HiðxÞ: 3
ð28Þ ð29Þ
4. Solution to ODE (1) when the forcing function is a variable function of x When the forcing function is a variable function of x, the particular solution (20) takes the form
yp ¼ pKiðxÞ pf ðxÞNiðxÞ;
ð30Þ
where
Z KiðxÞ ¼ f ðxÞNiðxÞ AiðxÞ
Z
x
f ðtÞBiðtÞdt BiðxÞ
0
x
f ðtÞAiðtÞdt
ð31Þ
0
or, equivalently
KiðxÞ ¼ AiðxÞ
Z
x 0
Z
t
Z BiðsÞds f 0 ðtÞdt BiðxÞ
0
Z
x
0
t
AiðsÞds f 0 ðtÞdt:
ð32Þ
0
Solution to the IVP thus takes the following form, with the help of Ki(0) = K0 i(0) = 0
( 31=6 a 1 y¼p
C
3
b 31=6 C
) 2 AiðxÞ þ p 3
(
a
31=3 C
1 þ 3
b 32=3 C
) 2 BiðxÞ þ pKiðxÞ pf ðxÞNiðxÞ:
ð33Þ
3
Computing the particular solution in (33) necessitates evaluating Ni(x) and Ki(x). This can be accomplished using the following asymptotic series and ascending series approximations, developed in Appendix A. Asymptotic series approximation: Letting l ¼ 23 x3=2 and u ¼ 23 x2=3 , then the following asymptotic series approximations are valid for large values of the independent variable:
expðlÞ NiðxÞ pffiffiffiffiffiffi1=4 ; 3 px ) Z ( expðlÞ x expðuÞ 0 expðlÞ KiðxÞ ¼ pffiffiffiffiffiffi1=4 pffiffiffiffiffiffi3=4 f ðtÞdt pffiffiffiffiffiffi1=4 f ðxÞ: 0 2 px 3 px pt
ð34Þ ð35Þ
Ascending series approximation: In Appendix A, we derived the following ascending series expressions for Ni(x) and Ki(x), (Eqs. (A.7.11) and (A.7.19)), respectively, in terms of the series expressions for F 1 ðxÞ; F 1 ðxÞ; F 01 ðxÞ, and F 02 ðxÞ:
pffiffiffi NiðxÞ ¼ 2 3a1 a2 fF 2 F 01 F 1 F 02 g; Z x Z pffiffiffi KiðxÞ ¼ 2 3a1 a2 F 01 ðxÞ f 0 ðtÞF 2 ðtÞdt F 02 ðxÞ 0
x
f 0 ðtÞF 1 ðtÞdt ;
ð36Þ ð37Þ
0
where
a1 ¼ Aið0Þ; a2 ¼ A0 ið0Þ; 1 X 1 x3kþ1 F 1 ðxÞ ¼ 3k ; 3 ð3k þ 1Þ! k k¼0
ð38Þ ð39Þ
and
F 2 ðxÞ ¼
1 X k¼0
3k
2 x3kþ2 : 3 k ð3k þ 2Þ!
ð40Þ
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
7353
The term of the form (b)k, in (39) and (40), is the Pochhammer symbol, defined by, [12]:
ðbÞk ¼
Cðb þ kÞ ¼ bðb þ 1Þðb þ 2Þ ðb þ k 1Þ; CðbÞ
ðbÞ0 ¼ 1:
ð41Þ
5. Conclusions The main theme of this work has been the analysis of the Nield–Kuznetsov function, the elementary properties it possesses, and how it can offer a viable alternative to the solution of the non-homogeneous Airy’s differential equation with variable forcing function. We offered a number of representations, including asymptotic and ascending series representations of the Ni(x) and the Ki(x) functions and implemented them in obtaining the particular and general solutions to a non-homogeneous Airy’s equation. In Appendix A of this work we developed a number of elementary properties that Ni(x) possesses, and relationships it has with Airy’s and Scorer’s functions. We have also discussed the various ordinary equations that Ni(x) satisfies. In particular, Ni(x) satisfies a third-order ODE (Eq. (A.4.3) of Appendix A) that is a special case of Langer’s comparison ODE, [4,5,12]. We have only considered the definition of Ni(x) for x > 0 and no attempt has been made to consider its extensions of this function over the entire real line. We leave for the moment extensions and analysis of the function for complex arguments that could potentially parallel the insightful work of Gil et al. [3].We also leave for the moment solutions involving forcing functions other than monomials or polynomials, as they require special techniques that involve highly accurate computational methodologies, as offered in the detailed work of MacLeod, [7]. These chart potential future directions involving research work on the Nield–Kuznetsov function and its uses. Acknowledgment The authors wish to express their gratitude to the referee of this work whose constructive comments greatly enhanced this work.
Appendix A. The integral functions Ni(x) and Ki(x) and some of their properties A.1. Definitions of Ni(x) and Ki(x) Nield and Kuznetsov, [9], defined the Ni(x) function in terms of the homogeneous Airy’s functions and their integrals as:
NiðxÞ ¼ AiðxÞ
Z
x
BiðtÞdt BiðxÞ
Z
0
x
AiðtÞdt:
ðA:1:1Þ
0
Airy’s functions appearing in (A.1.1) are linearly independent solutions of Airy’s homogeneous ODE. In the main text of this work we defined the function Ki(x) that is associated with the Ni(x) function. For a non-constant function,f(x), the function Ki(x) is defined as:
KiðxÞ ¼ AiðxÞ
Z
x
Z
0
t
Z BiðsÞds f 0 ðtÞdt BiðxÞ
0
x
Z
0
t
AiðsÞds f 0 ðtÞdt
ðA:1:2Þ
0
Eq. (A.1.2) can be written in the following form that establishes its connection to Ni(x):
Z KiðxÞ ¼ f ðxÞNiðxÞ AiðxÞ
x
f ðtÞBiðtÞdt BiðxÞ
0
Z
x
f ðtÞAiðtÞdt :
ðA:1:3Þ
0
A.2. Derivatives of Ni(x) and Ki(x) Derivatives of Ni(x): First derivative of Ni(x) is given by, [9]:
N0 iðxÞ ¼ A0 iðxÞ
Z
x
BiðtÞdt B0 iðxÞ
Z
0
x
AiðtÞdt:
ðA:2:1Þ
0
We can write the second and third derivatives of Ni(x) in the following equivalent forms, respectively:
Z 00 Ni ðxÞ ¼ x AiðxÞ 0
x
BiðtÞdt B
Z
x
AiðtÞdt WðAiðxÞ; BiðxÞÞ;
ðA:2:2aÞ
0
00
Ni ðxÞ ¼ xNiðxÞ WðAiðxÞ; BiðxÞÞ; where WðAiðxÞ; BiðxÞÞ ¼ p1 is the Wronskian, defined by Eq. (6) in the main text of this work.
ðA:2:2bÞ
7354
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360 000
0
Ni ðxÞ ¼ ½AiðxÞ þ xAi ðxÞ
Z
x
0
BiðtÞdt ½BiðxÞ þ xBi ðxÞ
Z
0 000
x
AiðtÞdt;
ðA:2:3aÞ
0
0
Ni ðxÞ ¼ NiðxÞ þ N iðxÞ:
ðA:2:3bÞ 1
0
Higher derivatives of Ni(x) involve WðAiðxÞ; BiðxÞÞ ¼ p and the functions Ni(x) and N i(x). We develop the following iterative formula for computing the (n + 1)th derivative of Ni(x) with the knowledge of its nth derivative. Assuming that the nth derivative is of the form:
NðnÞ ðxÞ ¼ gðxÞNiðxÞ þ hðxÞN0 iðxÞ pðxÞWðAiðxÞ; BiðxÞÞ;
ðA:2:4Þ
where g(x), h(x), and p(x) are the coefficients of Ni(x), Ni0 (x) and W(Ai(x), Bi(x)), respectively, that appear in the nth derivative, then the (n + 1)th derivative is given by: 0
0
Nðnþ1Þ ðxÞ ¼ ½g 0 ðxÞ þ xhðxÞNiðxÞ þ ½gðxÞ þ h ðxÞNi ðxÞ ½hðxÞ þ p0 ðxÞWðAiðxÞ; BiðxÞÞ:
ðA:2:5Þ
Eq. (A.2.5) takes the following form in terms of Ai(x) and Bi(x)
0 Nðnþ1Þ ðxÞ ¼ ½g 0 ðxÞ þ xhðxÞAiðxÞ þ ½gðxÞ þ h ðxÞA0 iðxÞ
Z 0
0 ½g 0 ðxÞ þ xhðxÞBiðxÞ þ ½gðxÞ þ h ðxÞB0 iðxÞ
x
BiðtÞdt Z
x
AiðtÞdt ½hðxÞ þ P0 ðxÞWðAiðxÞ; BiðxÞÞ:
ðA:2:6Þ
0
Derivatives of Ki(x): The following first derivative of Ki(x) is obtained from (A.1.3):
Z K 0 iðxÞ ¼ f 0 ðxÞNiðxÞ þ f ðxÞN 0 ðxÞ A0 iðxÞ
x
f ðtÞBiðtÞdt B0 iðxÞ
0
Z
x
f ðtÞAiðtÞdt :
ðA:2:7Þ
0
We obtain higher-order derivatives by either direct differentiation or by obtaining an alternative form, discussed in what follows. Direct Differentiation: The following second and third derivatives of Ki(x) are obtained from (A.2.7) by direct differentiation:
Z 00 00 0 Ki ðxÞ ¼ f ðxÞNi ðxÞ þ 2f 0 ðxÞNi ðxÞ þ f 00 ðxÞNiðxÞ x AiðxÞ
x
f ðtÞBiðtÞdt BiðxÞ
Z
0
x
f ðtÞAiðtÞdt
0
þ f ðxÞWðAiðxÞ; BiðxÞÞ;
ðA:2:8aÞ
Z x Z x 000 000 00 0 Ki ðxÞ ¼ f ðxÞNi ðxÞ þ 3f 0 ðxÞNi ðxÞ þ 3f 00 ðxÞNi ðxÞ þ f 000 ðxÞNiðxÞ AiðxÞ f ðtÞBiðtÞdt BiðxÞ f ðtÞAiðtÞdt 0 0 Z x Z x 0 0 0 x Ai ðxÞ f ðtÞBiðtÞdt Bi ðxÞ f ðtÞAiðtÞdt þ f ðxÞWðAiðxÞ; BiðxÞÞ: 0
ðA:2:9aÞ
0
Alternative Form: From (A.1.3) and (A.2.7) we obtain the following equations, respectively:
Z x Z x AiðxÞ f ðtÞBiðtÞdt BiðxÞ f ðtÞAiðtÞdt ¼ f ðxÞNiðxÞ KiðxÞ; 0 0 Z x Z x 0 0 0 0 f ðtÞBiðtÞdt Bi ðxÞ f ðtÞAiðtÞdt ¼ f 0 ðxÞNiðxÞ þ f ðxÞNi ðxÞ Ki ðxÞ: Ai ðxÞ 0
ðA:2:10Þ ðA:2:11Þ
0
Using (A.2.10) and (A.2.11) in (A.2.8a) and (A.2.9a), and employing (A.2.2b), we obtain the following alternative forms of the second and third derivatives, respectively: 00
0
Ki ðxÞ ¼ 2f 0 ðxÞNi ðxÞ þ f 00 ðxÞNiðxÞ þ xKiðxÞ; 000
ðA:2:8bÞ
0
0
0
Ki ðxÞ ¼ 3f 00 ðxÞNi ðxÞ þ ½f 000 ðxÞ þ 2xf ðxÞNiðxÞ þ KiðxÞ þ xKi ðxÞ 2f 0 ðxÞWðAiðxÞ; BiðxÞÞ:
ðA:2:9bÞ
For higher-order derivatives, we develop an iterative formula based on direct differentiation approach, above, from which we can then obtain the alternative form. Derivatives of Ki(x) of order three or higher involve the integral expressions appearing in (A.2.10) and (A.2.11), the Wronskian, ðAiðxÞ; BiðxÞÞ ¼ p1 , and derivatives of the product f(x)Ni(x). Now, assuming that we have computed the nth derivative of and we wish to compute its (n + 1)th derivative, we let
Z x Z x ðnÞ Ki ðxÞ ¼ ½f ðxÞNiðxÞðnÞ þ pðxÞ AiðxÞ f ðtÞBiðtÞdt BiðxÞ f ðtÞAiðtÞdt 0 0 Z x Z x 0 0 f ðtÞBiðtÞdt Bi ðxÞ f ðtÞAiðtÞdt þ rðxÞWðAiðxÞ; BiðxÞÞ; þ qðxÞ Ai ðxÞ 0
0
ðA:2:12Þ
7355
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
where p(x), q(x) and r(x) are the coefficients of the integral terms and of the Wronskian that appear in the nth derivative. The (n + 1)th derivative of Ki(x) then takes the form:
Ki
ðnþ1Þ
ðxÞ ¼
Z x Z x nþ1 X nþ1 ðnþ1kÞ f ðxÞðkÞ þ ½p0 ðxÞ þ xqðxÞ AiðxÞ f ðtÞBiðtÞdt BiðxÞ f ðtÞAiðtÞdt Ni k 0 0 k¼0 Z x Z x 0 0 f ðtÞBiðtÞdt Bi ðxÞ f ðtÞAiðtÞdt þ ½r0 ðxÞ f ðxÞqðxÞWðAiðxÞ; BiðxÞÞ: þ ½pðxÞ þ q0 ðxÞ Ai ðxÞ 0
ðA:2:13Þ
0
In order to obtain the alternative form of the (n + 1)th derivative, we substitute (A.2.10) and (A.2.11) in (A.2.13) to get:
Ki
ðnþ1Þ
ðxÞ ¼
nþ1 X nþ1 ðnþ1kÞ Ni f ðxÞðkÞ þ ½p0 ðxÞ þ xqðxÞff ðxÞNiðxÞ KiðxÞg þ ½pðxÞ þ q0 ðxÞff ðxÞNiðxÞ KiðxÞg k k¼0 þ ½r 0 ðxÞ f ðxÞqðxÞWðAiðxÞ; BiðxÞÞ;
The notation
nþ1 k
n ¼ 1; 2; 3; . . . ðA:2:14Þ
appearing in (A.2.13) and (A.2.14) is the usual combination notation.
A.3. Values of Ni(x) and Ki(x), and their derivatives at x = 0 In this section, we derive iterative formulae for evaluating the derivatives at the x = 0. From Eqs. (A.1.1), (A.2.1) and (A.2.2), we obtain: 0
Nið0Þ ¼ Ni ð0Þ ¼ 0
ðA:3:1Þ
and 00
Ni ð0Þ ¼ WðAið0Þ; Bið0ÞÞ ¼
1
p
ðA:3:2Þ
:
Taking x = 0 in the (n + 1)th derivative (Eqs. (A.2.5) or (A.2.6)), we obtain:
Nðnþ1Þ ð0Þ ¼
1
p
½hð0Þ þ p0 ð0Þ;
n ¼ 2; 3; 4; . . .
ðA:3:3Þ
In using (A.3.3) we need the values of h(0) and p0 (0), which must be determined from the nth derivative. The following iterative formula provides for more convenient computations:
Ni
ðnþ1Þ
ð0Þ ¼ ðn 1ÞNi
ðn2Þ
ð0Þ for n ¼ 2; 3; 4; . . .
ðA:3:4Þ
Using (A.3.4) gives the following first 11 derivatives of Ni(x) at x = 0 that demonstrate the resulting pattern:
Nið0Þ ¼ Ni ð0Þ ¼ Ni ð0Þ ¼ Niv ð0Þ ¼ Nv i ð0Þ ¼ Nv ii ð0Þ ¼ N ix ð0Þ ¼ Nx ð0Þ ¼ 0; 1 3 18 162 00 v v iii xi : Ni ð0Þ ¼ ; Ni ð0Þ ¼ ; Ni ð0Þ ¼ ; Ni ð0Þ ¼ 0
000
p
p
p
p
ðA:3:5Þ ðA:3:6Þ
The non-zero values of the nth derivative of Ni(x) at x = 0 are computed according to the following iterative formula: ðnÞ
Ni ð0Þ ¼ ðn 2ÞNi
ðn3Þ
ð0Þ;
n ¼ 5; 8; 11; . . .
ðA:3:7Þ 0
Now, using x = 0 in (A.1.2) and (A.2.7) yields Ki(0) = Ki (0) = 0. Using x = 0, together with Ki(0) = 0 = Ni(0), in (A.2.14), we obtain:
Ki
ðnþ1Þ
ð0Þ ¼
ðnþ1Þ X ðk¼0Þ
nþ1 k
1 ðnþ1kÞ Ni ð0Þf ðkÞ ð0Þ þ ½r0 ð0Þ f ð0Þqð0Þ;
p
n ¼ 1; 2; 3; . . .
ðA:3:8Þ
We can use (A.3.5) and (A.3.6) in (A.3.8) to iteratively compute the values of the derivatives of Ki(0). For example: Ki00 (0) = 0 000 when n = 1, and, Ki ð0Þ ¼ 2f 0 ð0ÞW ¼ p2 f 0 ð0Þ when n = 2 in (A.3.8). A.4. Differential equations that Ni(x) satisfies The function Ni(x) satisfies the following nth order ODE, obtained from (A.2.5): 0
yðnÞ ½gðxÞ þ h ðxÞy0 ½g 0 ðxÞ þ xhðxÞy ¼
1
p
½hðxÞ þ P 0 ðxÞ:
For example, Ni(x) satisfies the following ODE of orders 2–10, computed iteratively using (A.4.1):
ðA:4:1Þ
7356
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
y00 xy ¼ 000
1
p
ðA:4:2Þ
;
0
y xy y ¼ 0; yiv 2y0 x2 y ¼
ðA:4:3Þ 1
p
yv x2 y0 4xy ¼
x;
3
p
ðA:4:4Þ ðA:4:5Þ
;
yv i 6xy0 ð4 þ x3 Þy ¼
1
p
x2 ;
yv ii ð10 þ x3 Þy0 9x2 y ¼
8
ðA:4:6Þ x;
ðA:4:7Þ
p
18 þ x3 ; yv iii 12x2 y0 ð28x þ x4 Þy ¼
ðA:4:8Þ
p
yix ð52x þ x4 Þy0 ð28 þ 16x3 Þy ¼
15x2
; p 30 þ 52x þ x4 : yx ð80 þ 20x3 Þy0 ð100x2 þ x5 Þy ¼
p
ðA:4:9Þ ðA:4:10Þ
ODE (A.4.3) is a special case of the so-called comparison ODE that received interest in the literature (see [12], page 108, and Langer, [4,5]), namely:
Y 000 xy0 ly ¼ 0:
ðA:4:11Þ
When l = 1, (A.4.11) reduces to (A.4.3). Solutions to (A.4.11) have been discussed in detail in [12]. However, we see here that Ni(x) is a solution to (A.4.11) for the case of l = 1. Furthermore, as discussed in [12], if is a solution of (A.4.11) then z = y0 is a solution of the following ODE:
z000 xz0 ð1 þ lÞz ¼ 0:
ðA:4:12Þ
Accordingly, since the function y = Ni(x) is a solution to (A.4.3), the function z = Ni0 (x) is a solution of
z000 xz0 2z ¼ 0:
ðA:4:13Þ
In fact, this is easily verified by computing the fourth derivative of Ni(x) and substituting in (A.4.13). It is worth noting that, with z = Ni0 (x), (A.4.13) yields iv
00
Ni xNi 2Ni ¼ 0:
ðA:4:14Þ
Now, with y = Ni(x), (A.4.4) takes the form: iv
0
Ni 2Ni x2 Ni ¼
1
p
x:
ðA:4:15Þ
Eqs. (A.4.14) and (A.4.15) suggest that Ni(x) satisfies an homogeneous and a non-homogeneous fourth order ODE. A.5. Relationship of Ni(x) and Ki(x) to Gi(x) and Hi(x) In this section we rely on the following representations of Ai(x), Bi(x),Gi(x) and Hi(x), which appeared in the literature and are reported in [12]:
1 exp xt t3 dt; 3 p 0 Z 1 1 1 3 sin xt þ t dt; GiðxÞ ¼ 3 p 0 Z 1 1 1 cos xt þ t3 dt; AiðxÞ ¼ 3 p 0 Z Z 1 1 1 3 1 1 1 sin xt þ t dt þ exp xt t3 dt; BiðxÞ ¼ 3 3 p 0 p 0 Z x Z 1 AiðtÞdt þ AiðxÞ BiðtÞdt GiðxÞ ¼ BiðxÞ
HiðxÞ ¼
1
Z
1
x
GiðxÞ þ HiðxÞ ¼ BiðxÞ; Z 1 1 AiðtÞdt ¼ ; 3 0
ðA:5:1Þ ðA:5:2Þ ðA:5:3Þ ðA:5:4Þ ðA:5:5Þ
0
ðA:5:6Þ ðA:5:7Þ
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
Z
x
0 1 0 þ p Ai ðxÞGiðxÞ Gi ðxÞAiðxÞ ; 3 0 Z x 0 2 0 AiðtÞdt ¼ p Ai ðxÞHiðxÞ Hi ðxÞAiðxÞ ; 3 0 Z
7357
AiðtÞdt ¼
x
ðA:5:8aÞ ðA:5:8bÞ
0 0 BiðtÞdt ¼ p Bi ðxÞGiðxÞ Gi ðxÞBiðxÞ ;
ðA:5:9aÞ
0 0 BiðtÞdt ¼ p Bi ðxÞHiðxÞ Hi ðxÞBiðxÞ :
ðA:5:9bÞ
0
Z
x
0
We can express (A.5.8) and (A.5.9) in short-hand notation by defining the following Wronskians: 0
0
ðA:5:10Þ
0
0
ðA:5:11Þ
W 1 ¼ WðAiðxÞ; GiðxÞÞ ¼ AiðxÞGi ðxÞ Ai ðxÞGiðxÞ; W 2 ¼ WðAiðxÞ; HiðxÞÞ ¼ AiðxÞHi ðxÞ Ai ðxÞHiðxÞ; 0
0
ðA:5:12Þ
0
0
ðA:5:13Þ
W 3 ¼ WðBiðxÞ; GiðxÞÞ ¼ BiðxÞGi ðxÞ Bi ðxÞGiðxÞ; W 4 ¼ WðBiðxÞ; HiðxÞÞ ¼ BiðxÞHi ðxÞ Bi ðxÞHiðxÞ; Using (A.5.10)–(A.5.13) in (A.5.8) and (A.5.9), we obtain:
Z
x
1 pW 1 ; 3 Z x 2 AiðtÞdt ¼ þ pW 2 ; 3 0 AiðtÞdt ¼
ðA:5:14aÞ
0
Z
ðA:5:14bÞ
x
Z0 x
BiðtÞdt ¼ pW 3 ;
ðA:5:15aÞ
BiðtÞdt ¼ pW 4 :
ðA:5:15bÞ
0
Multiplying (A.5.15a) by Ai(x) and (A.5.14a) by Bi(x), (alternatively, using (A.5.15b) and (A.5.14b)), then subtracting the latter product from the former, and making use of the Wronskian of Ai(x) and Bi(x), we obtain the following two expressions for Ni(x):
1 NiðxÞ ¼ GiðxÞ BiðxÞ; 3 2 NiðxÞ ¼ BiðxÞ HiðxÞ: 3
ðA:5:16Þ ðA:5:17Þ
An alternative way of obtaining (A.5.16) and (A.5.17) is to start with the definition (A.1.1) for Ni(x) and write:
NiðxÞ þ BiðxÞ
Z
x
AiðtÞdt ¼ AiðxÞ
Z
0
x
BiðtÞdt:
ðA:5:18Þ
0
Upon using (A.5.18) in (A.5.5), we obtain
NiðxÞ ¼ GiðxÞ BiðxÞ
Z
1
AiðtÞdt:
ðA:5:19Þ
0
R1 Now, using (A.5.7), namely, 0 AiðtÞdt ¼ 13, in (A.5.19), we obtain (A.5.16). Eq. (A.5.17) is obtained by using (A.5.6) in (A.5.16). The following relationship is obtained by using (A.5.6) in (A.5.16), or in (A.5.17):
NiðxÞ ¼
2 1 GiðxÞ HiðxÞ; 3 3
ðA:5:20Þ
The following integral representation for Ni(x) can be obtained by using (A.5.1) and (A.5.2) in (A.5.20):
NiðxÞ ¼
2 3p
Z
1 0
1 1 sinðxt þ t 3 Þdt 3 3p
Z
1
0
1 expðxt t 3 Þdt: 3
ðA:5:21Þ
Upon using (A.5.14) and (A.5.15) in (A.1.1), we obtain the following expressions for Ni(x):
1 NiðxÞ ¼ pfW 1 BiðxÞ W 3 AiðxÞg BiðxÞ; 3 2 NiðxÞ ¼ pfW 4 AiðxÞ W 2 BiðxÞg þ BiðxÞ: 3 Relationships between Ki(x) and the Scorer functions are developed as follows.
ðA:5:22Þ ðA:5:23Þ
7358
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
Using (A.5.14a) and (A.5.15a) in (A.1.2), we obtain:
Z KiðxÞ ¼ p AiðxÞ
x
W 3 f 0 ðtÞdt BiðxÞ
0
Z
x
0
1 W 1 f 0 ðtÞdt BiðxÞf ðxÞ: 3
ðA:5:24Þ
Using (A.5.14a) and (A.5.15a) in (A.1.2), we obtain:
Z KiðxÞ ¼ p AiðxÞ
x
W 4 f 0 ðtÞdt BiðxÞ
0
Z
x
0
2 W 2 f 0 ðtÞdt BiðxÞf ðxÞ: 3
ðA:5:25Þ
A.6. Asymptotic approximations The functions Ni(x) and Ni0 (x) can be expressed using the following asymptotic series approximations, given in [12], wherein l ¼ 23 x3=2 , and u ¼ 23 x2=3 :
" # expðlÞ 3ð5Þ 5:7:9:11 AiðxÞ pffiffiffiffi 1=4 1 þ þ ; þ 1!ð216lÞ 2!ð216lÞ2 2 px " # expðlÞ 3ð5Þ 5:7:9:11 BiðxÞ pffiffiffiffi 1=4 1 þ þ ; þ 1!ð216lÞ 2!ð216lÞ2 px " # x1=4 expðlÞ 3ð7Þ 5:7:9:13 pffiffiffiffi A0 iðxÞ 1 ; 1!ð216lÞ 2!ð216lÞ2 2 p " # x1=4 expðlÞ 3ð7Þ 5:7:9:13 0 pffiffiffiffi B iðxÞ 1 ; 1!ð216lÞ 2!ð216lÞ2 p
Z x 1 expðlÞ 41 9241 AiðtÞdt pffiffiffiffi 3=4 1 þ : 3 2 px 48x3=2 4608x3 0
Z x expðlÞ 41 9241 BiðtÞdt pffiffiffiffi 3:4 1 þ þ þ 48x3=2 4608x3 px 0
ðA:6:1Þ ðA:6:2Þ ðA:6:3Þ ðA:6:4Þ ðA:6:5Þ ðA:6:6Þ
If we truncate each of the above series after the first term, we develop the following asymptotic approximations to Rx 0 NiðxÞ; Ni ðxÞ; 0 NiðtÞdt; KiðxÞ and Ki0 (x). Using (A.6.1), (A.6.2), (A.6.5), and (A.6.6) in (A.1.1), we obtain:
NiðxÞ
1 1 1 expðlÞ BiðxÞ ¼ pffiffiffiffi : 2px2 3 2px2 3 px1=4
ðA:6:7Þ
For large x, (A.6.7) takes the form, [9]:
1 expðlÞ NiðxÞ BiðxÞ ¼ pffiffiffiffi 1=4 : 3 3 px
ðA:6:8Þ
Using (A.6.3)–(A.6.6) in (A.2.1), we obtain: 0
Ni ðxÞ
1 1 0 1 x1=4 expðlÞ pffiffiffiffi : Bi ðxÞ ¼ 3=2 3=2 2px 3 2px 3 p
ðA:6:9Þ
For large x, (A.6.9) takes the form, [9]:
1 0 x1=4 expðlÞ 0 pffiffiffiffi : Ni ðxÞ Bi ðxÞ ¼ 3 3 p
ðA:6:10Þ
Integral of the function Ni(x) is approximated using (A.6.7) and (A.6.8), as follows. Using (A.6.7), we write:
Z
x
NiðtÞdt
0
Z
x
0
Z x 1 1 1 expðuÞ BiðtÞ dt ¼ pffiffiffiffi 1=4 dt: 2px 2pt 2 3 0 3 pt
ðA:6:11Þ
For large x, (A.6.11) takes the form, [9]:
Z
x
NiðtÞdt
Z
0
x
1 BiðtÞdt ¼ 3
0
Z 0
x
expðuÞ dt: pffiffiffiffi 3 pt 1=4
ðA:6:12Þ
The function Ki(x) can be approximated asymptotically by using (A.6.1), (A.6.2), (A.6.5) and (A.6.6) in (A.1.2). We thus have:
expðlÞ KiðxÞ ¼ pffiffiffiffi 1=4 2 px
Z 0
x
expðuÞ 0 expðlÞ pffiffiffiffi 3=4 f ðtÞdt pffiffiffiffi 1=4 f ðxÞ: 3 px pt
ðA:6:13Þ
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
7359
The derivative of (A.6.13) takes the form: 0ðxÞ
Ki
¼
x1=4 expðlÞ pffiffiffiffi 2 p
Z
x
0
expðuÞ 0ðtÞ expðlÞ f 0 ðxÞ f 0 ðxÞ 1 þ x4 f ðxÞ þ : pffiffiffiffi 3=4 f dt pffiffiffiffi 1 2p x 3 p pt x4
ðA:6:14Þ
A.7. Ascending series representation In order to develop ascending series representations for Ni(x), Ki(x) and their derivatives and integrals we employ the ascending series representations of the Airy functions, their derivatives and integrals, reported in [12]. Let 0
a1 ¼ Aið0Þ; a2 ¼ Ai ð0Þ; 1 X 1 x3kþ1 F 1 ðxÞ ¼ 3k 3 k ð3k þ 1Þ! k¼0
ðA:7:1Þ ðA:7:2Þ
and
F 2 ðxÞ ¼
1 X
3k
k¼0
2 x3kþ2 ; 3 k ð3k þ 2Þ!
ðA:7:3Þ
where (b)k is the Pochhammer symbol, defined by, [12]:
Cðb þ kÞ ¼ bðb þ 1Þðb þ 2Þ ðb þ k 1Þ; CðbÞ
ðbÞk ¼
ðbÞ0 ¼ 1:
ðA:7:4Þ
The following representations are then obtained, [12]:
Z
x
AiðtÞdt ¼ a1 F 1 ðxÞ a2 F 2 ðxÞ;
ðA:7:5Þ
0
Z
x
BiðtÞdt ¼
pffiffiffi pffiffiffi 3a1 F 1 ðxÞ þ 3a2 F 2 ðxÞ;
ðA:7:6Þ
0
AiðxÞ ¼
a1 F 01 ðxÞ
a2 F 02 ðxÞ;
pffiffiffi pffiffiffi 0 BiðxÞ ¼ 3a1 F 1 ðxÞ þ 3a2 F 02 ðxÞ;
ðA:7:7Þ
A0 iðxÞ ¼ a1 F 001 ðxÞ a2 F 002 ðxÞ; pffiffiffi pffiffiffi B0 iðxÞ ¼ 3a1 F 001 ðxÞ þ 3a2 F 002 ðxÞ:
ðA:7:9Þ
ðA:7:8Þ ðA:7:10Þ
Using (A.7.5)–(A.7.8) in (A.1.1), we obtain:
pffiffiffi NiðxÞ ¼ 2 3a1 a2 fF 2 F 01 F 1 F 02 g:
ðA:7:11Þ
Differentiating (1.7.11), we obtain:
pffiffiffi N0 iðxÞ ¼ 2 3a1 a2 fF 2 F 001 F 1 F 002 g:
ðA:7:12Þ 0
Ascending series representations of Ki(x) and K i(x) are obtained as follows. Using (A.7.7) and (A.7.8) we obtain, respectively:
f ðxÞAiðxÞ ¼ a1 f ðxÞF 01 ðxÞ a2 f ðxÞF 02 ðxÞ; pffiffiffi pffiffiffi f ðxÞBiðxÞ ¼ 3a1 f ðxÞF 01 ðxÞ þ 3a2 f ðxÞF 02 ðxÞ:
ðA:7:13Þ ðA:7:14Þ
Integrating (A.7.13) and (A.7.14), we obtain:
Z x Z x f ðtÞAiðtÞdt ¼ a1 f ðxÞF 1 ðxÞ f 0 ðtÞF 1 ðtÞdt a2 f ðxÞF 2 ðxÞ f 0 ðtÞF 2 ðtÞdt ; 0 0 0 pffiffiffi Z x Z x Z x pffiffiffi 0 f ðtÞBiðtÞdt ¼ 3a1 f ðxÞF 1 ðxÞ f ðtÞF 1 ðtÞdt þ 3a2 f ðxÞF 2 ðxÞ f 0 ðtÞF 2 ðtÞdt :
Z
x
0
0
ðA:7:15Þ ðA:7:16Þ
0
Using (A.7.15), (A.7.16), (A.7.7), and (A.7.8), we obtain the following expressions:
BiðxÞ
Z 0
x
npffiffiffi Z x o pffiffiffi f ðtÞAiðtÞdt ¼ a1 f ðxÞF 1 ðxÞ f 0 ðtÞF 1 ðtÞdt 3a1 F 01 ðxÞ þ 3a2 F 02 ðxÞ 0 npffiffiffi Z x o pffiffiffi f 0 ðtÞF 2 ðtÞdt 3a1 F 01 ðxÞ þ 3a2 F 02 ðxÞ ; a2 f ðxÞF 2 ðxÞ 0
ðA:7:17Þ
7360
M.H. Hamdan, M.T. Kamel / Applied Mathematics and Computation 217 (2011) 7349–7360
AiðxÞ
Z
x
f ðtÞBiðtÞdt ¼ 0
Z x pffiffiffi 3a1 f ðxÞF 1 ðxÞ f 0 ðtÞF 1 ðtÞdt a1 F 01 ðxÞ a2 F 02 ðxÞ 0 Z x pffiffiffi f 0 ðtÞF 2 ðtÞdt a1 F 01 ðxÞ a2 F 02 ðxÞ : þ 3a2 f ðxÞF 2 ðxÞ
ðA:7:18Þ
0
Now, using (A.7.17) and (A.7.18) in (A.1.3) we obtain, with the help of (A.7.11):
Z pffiffiffi KiðxÞ ¼ 2 3a1 a2 F 01 ðxÞ
x
0
f 0 ðtÞF 2 ðtÞdt F 02 ðxÞ
Z
x
f 0 ðtÞF 1 ðtÞdt :
ðA:7:19Þ
0
The following expression for K0 i(x) is obtained by differentiating (A.7.19) and making use of (A.7.11):
Z pffiffiffi 0 Ki ðxÞ ¼ 2 3a1 a2 F 01 ðxÞ
x 0
f 0 ðtÞF 2 ðtÞdt F 002 ðxÞ
Z
x
f 0 ðtÞF 1 ðtÞdt þ f 0 ðxÞNiðxÞ:
ðA:7:20Þ
0
Eqs. (A.7.2) and (A.7.3) an then be used in (A.7.11), (A.7.12), (A.7.19) and (A.7.20) to obtain ascending series expressions for Ni(x), Ki(x), Ni0 (x) and Ki0 (x). Summary: In Appendix A, we developed some of the elementary properties of Ni(x) and Ki(x), and their connections to the Airy and Scorer functions. While the list of properties is not exhaustive, it demonstrates some of the features of Ni(x) and Ki(x), and the differential equations that Ni(x) satisfies. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
M. Abramowitz, I.A. Stegun, Handbook of Mathematical Functions, Dover, New York, 1984. R.M. Corless, D.J. Jeffrey, H. Rasmussen, Numerical evaluation of Airy functions with complex arguments, J. Comput. Phys. 99 (1992) 106–114. A. Gil, J. Segura, N.M. Temme, On non-oscillating integrals for computing inhomogeneous Airy functions, Math. Comput. 70 (2001) 1183–1194. R.E. Langer, On the asymptotic forms of the solutions of ordinary differential equations of the third order in a region containing a turning point, Trans. Am. Math. Soc. 80 (1995) 93–123. R.E. Langer, The solutions of the differential equation, Duke Math. 22 (1955) 525–541. S.-Y. Lee, The inhomogeneous Airy functions, Gi(z) and Hi(z), J. Chem. Phys. 72 (1980) 332–336. A.J. MacLeod, Computation of inhomogeneous Airy functions, J. Comput. Appl. Math. 53 (1994) 109–116. J.C.P. Miller, Z. Mursi, Notes on the solution of the equation, Quart. J. Mech. Appl. Math. 3 (1950) 113–118. D.A. Nield, A.V. Kuznetsov, The effect of a transition layer between a fluid and a porous medium: shear flow in a channel, Transport Porous Med. 78 (2009) 477–487. R.S. Scorer, Numerical evaluation of integrals of the form and the tabulation of the function, Quart. J. Mech. Appl. Math. 3 (1950) 107–112. N.M. Temme, Special Functions: An Introduction to the Classical Functions of Mathematical Physics, John Wiley & Sons, New York, 1996. O. Vallée, M. Soares, Airy Functions and Applications to Physics, World Scientific, London, 2004.