Inverse Problems in Engineering (Publisher: Taylor & Francis) Volume 10, Number 5, Year 2002, pp. 467 - 483 http://taylorandfrancis.metapress.com/openurl.asp?genre=issue&issn=1068-2767&volume=10&issue=5 Inversion of Noise-free Laplace Transforms: Towards a Standardized Set of Test Problems Peter P. Valkó1 and Sandor Vajda2 1 Harold Vance Department of Petroleum Engineering, Texas A&M University mail: 3116 TAMU, College Station, TX 77843-3116 phone: (USA)-(979)-862 2757 fax: (USA)-(979)-862 1272 email: [email protected] 2 Department of Biomedical Engineering, Boston University mail: 44 Cummington Street, Boston, MA 02215 phone: (USA)-(617)- 353-4757 fax: (USA)-(617)-353-6766 email: [email protected] Abstract The numerical inversion of Laplace transform arises in many applications of science and engineering whenever ordinary and partial differential equations or integral equations are solved. The increasing number of available numerical methods and computer codes has generated a need for well-documented sets of test problems. Using such sets, algorithm developers can evaluate the relative merits and drawbacks of their suggested new methods, and end-users can make judgments on the applicability of an individual method for a specific problem. Many areas in science and engineering, lead to problems that share three important properties: i) the image function can be evaluated for real arguments, but not necessarily for complex ones; ii) the original is known to be infinitely differentiable for times t > 0, iii) the values of the image function can be obtained with any prescribed accuracy. The published test sets do not properly cover these applications, as many included problems are beyond of the specific class, while the remaining ones fail to address some of the potential difficulties arising in practice. The goal of this paper is to establish a common ground for problem classification, to list the requirements for the above class of problems, and to provide a carefully selected test set by addressing the deficiencies of the ones currently available. The findings of the paper are used to solve a problem of practical importance in modeling underground flow. Accompanying the paper, WEB links are provided to a list of more than 800 relevant publications (going back to 1795), to a Mathematica program to generate and solve the suggested set of test problems, and to a user friendly Java program to solve inversion problems for a restricted class of image functions. 1 Introduction The basic idea of integral transform methods is that in the image domain equations are usually simpler than the original ones, and in many cases it is relatively easy to obtain the image of the solution. Once the image is known, it has to be inverted to obtain the solution of the original equation. In the case of Laplace transform, the inversion can be carried out using detailed Tables of Laplace transform pairs and employing some basic properties. A more recent alternative is the use Computer Algebra Systems capable both to look up tables and to apply basic properties. However, in many cases the inverse is not a named function, or cannot be represented by any simple formula, and one needs a numerical approach. To satisfy this need, a variety of powerful inversion algorithms have been developed and tested. Nevertheless, users often find it difficult to locate the algorithm that is most appropriate for a specific application, and each engineering or scientific field uses only one or a few methods, in spite of the large number of available algorithms. For example, the Stehfest [1] algorithm is rarely mentioned in recent computing literature, and yet it is essentially the only method used in applications related to underground flow. The best way to orient the user among various methods is to provide a large set of test problems, and to demonstrate how a specific algorithm works on each of them. In their seminal paper, Davies and Martin [2] presented a standard set of test problems with reproducible results. However, as discussed by Duffy [3], this test set reflects the inherent limitations of inversion techniques in the seventies, and hence has become obsolete. The two authors of the present paper are interested in two very different applications, one being the solution of underground flow and the other the distribution of drugs in pharmacokinetic systems. These disparate fields, as well as many other areas in science and engineering, lead to problems that share the following important properties: i) ii) iii) the image function can be evaluated on the real axis, but not necessarily on the complex plane; the original is infinitely differentiable for all times t > 0, the values of the image function can be obtained with arbitrary precision. The major goal of this paper is to create a set of test problems that satisfy the above requirements. This means that, on one hand, we focus on a narrower class of problems than some of the previous publications. On the other hand, we attempt to be more exhaustive, and to represent all the potential difficulties that can occur in this particular class of applications. We first discuss a number of concepts that help to specify the above class of inverse problems. 2 Noise. Let F(z) denote the function to be inverted. We restrict consideration to problems in which F(z) is well defined in some mathematical sense and can be evaluated at any required precision, possibly using Computer Algebra Systems (CAS). This case is sometimes referred to as “the Laplace transform F(z) is explicitly given…” [4]. Thus, we exclude problems in which (a) F(z) is inferred from measurements, and hence only a limited number of values are available and noise corruption is inherent; or (b) the Laplace transform is employed in conjunction with another numerical method (such as solution of a system of equations in boundary element methods applied in Laplace space, or another numerical inversion of the Fourier or Hankel type), and thus the precision of F(z) values is limited in the practical sense. Region of convergence. D’Amore et al. [4] distinguish between the narrower image function (that is defined only in the region of convergence of the Laplace integral) and a broader, less restrictive F(z). In actual applications, only this latter, “broader” F(z) is available, that is the image is given in the form of a symbolic expression or set of calculation instructions, without an explicit reference to the region of convergence [5]. In the algorithmic literature it is taken for granted that the Laplace transform function (in the narrower sense) can be analytically continued, that the continuation can be done in a unique way, and that the broader function available for inversion is identical to this unique continuation. In reality, however, some of these conditions are impossible to check. Regularization versus multiple precision. In contrast to the case of a noisy F(z), inverting a transform that can be evaluated with any required precision may not require regularization. There are other ways to proceed, first of all using extended precision calculations. The idea of extended precision is as old as the desire to calculate inverses. Gaver [7] used 22 digits in his calculations to generate probability functions (for a recent account, see [8]). Improving the method, Stehfest [1] was aware of the limits that the word-length of the computer architecture (of his times) posed on the ultimate results. Usabel [9] found that "Using Gaver–Stehfest … inversion technique, the fact of performing calculations with more significant digits is clearly rewarded generously with a very fast rate of convergence …" The reason of this is explained by Kitaev and Frolov [10]: “Stehfest found the optimal coefficients in the sense that … it eliminates … N-1 members” of the Post-Widder formula. The most systematic application of multi-precision arithmetics in Laplace inversion can be found in several works of Abate and Whitt, starting with their seminal paper [11]. Poles and branch points. The notion that knowing something about the poles and zeros of F(z) is useful was already suggested by Davies and Martins [2]. In the introduction of his paper Duffy [3] states that “most transforms contain both poles and branch points—the poles give the normal mode solutions, while the branch points yield transient solutions.” The present authors think that some caution is beneficial when making judgments from the "properties" of the image function. In reality, the above language is somewhat misleading because it is a generalization of the concepts used originally for a special class of transforms (rational polynomial functions) that arise in linear circuit theory. Practical problems. Duffy [3] argues that “The standard method used to test a numerical inversion scheme is to employ a transform whose inverse is known exactly. Although this is 3 acceptable when developing the scheme, such guidance applied to transforms encountered is in general not useful….” He introduces the concept of tests “representative of those found in applied problems”. Since this is also the governing concept of our work, we will elaborate on it in more detail. Why do we need new sets of test problems? Davies and Martin [2] were the first to recognize the importance of a standardized set of test problems. Their selection has been somewhat problematic for several reasons. (1) They selected image functions that could be evaluated without additional programming in standard FORTRAN IV. (2) Relying on the traditions of Laplace transform tables, they included image functions whose original may not be infinitely many times differentiable for all positive times. (3) Usabel [8] notes that only relatively short times were considered. (4) Duffy [3] stated that all the inverses could be "found analytically", and hence were not representative of real life practical problems. Of course, problem (1) is related to the inherent limitations of the computational environment of their time and should not be a constraint now. In our opinion, problem (2) is more fundamental. The existence of singularities is a major problem, because numerical algorithms based on calculus concepts will always fail in the vicinity of such points. Since these large errors are essentially independent of the method, they may mask the real differences occurring in problems in which the original is infinitely differentiable for all t > 0, and hence the performance of different methods can not be rigorously assessed. The problem described in (3) is not inherent, since the time is “short” or “long” only in the context of a particular image function and its parameters. Therefore, the problem is avoided if one defines a large number of test problems with randomly selected numerical parameters, affecting the “time constants” of the functions. As far as problem (4) is considered, we disagree with the criticism of Duffy [3]. The classification of a test problem as practical or not is controversial. First of all, a test has to have a solution. If the solution can be found only by another numerical method, which itself is complex enough to make it practically impossible to estimate the error, then the usefulness of the test is questionable. Second, problems that are found in the engineering literature and have a well established solution, are almost always taken from published tables. Therefore, the requirement to find “more complicated” practical problems that have well-defined solutions is difficult to meet. In fact, the tables of Laplace transforms contain practically all the known image-original pairs ever encountered in practice. Therefore, an inversion method clearly should be considered 4 valuable if it can reproduce a great number of these pairs, particularly if the parameters in the images are selected somewhat randomly. We show that the emphasis on practical problems to be solved numerically may lead to major difficulties. A good example is Test Problem No 1 of Duffy [3]. The image function is F ( z) = 1 1 1 − 2z z ( z + 1) 2 z e − 1 (1) and the inverse is required at t = 1, 2, 4, and 8. The performance of several inversion algorithms was measured by comparing the results to f(t) values calculated independently from the expression f (t ) = [ ] 1 e 2 1 N sin nπt − tan −1 (nπ ) 1 + e −t − 2 − ∑ 2 n n 2π 2 + 1 2 e − 1 π n =1 (2) According to Duffy, N = 107 terms in the above sum yields an error of O(10 - 7). Duffy selected this problem because “it did not contain any branch point singularities, and the transform and its inverse were similar to those that arise in solutions of the wave equation over a finite domain” [3]. In addition, according to Duffy “… first, unlike most transforms in the literature, we have an infinite number of singularities to resolve rather than just a few. Consequently, for any finite number of terms in the inversion, we badly misrepresent the contribution from the poles far from the origin. Second, these poles lie along the imaginary axis rather than the negative real axis and they represent sinusoidal solutions. Although the contributions of poles far from the origin are not dominant, they do represent higher harmonics which are necessary for accurate results.” While most authors considered the above problem challenging because it was difficult to obtain the f(t) function from Eq. (2), it has also been recognized that something may be wrong. Weideman [12] wrote “though unrelated to our algorithm, we should point out that the very small errors observed … should be viewed with circumspection because… f(t) is nondifferentiable at t = 2, 4, 6, 8; as may be deduced from the infinite series representation”. D’Amore et al. [13] mentioned that the “infinite sum … was calculated numerically using the NAG Library”, but did not present explicitly the numerical results. Our major criticism with regard to the above test problem is that, employing some basic properties of the Laplace transform, in the considered interval t ≤ 8 , the original can be represented as the simple function f (t ) = ( ) ( ) ( ) ( ) 1 −t e + t − 1 + u (t − 2) e 2−t − 1 + u (t − 4) e 4−t − 1 + u (t − 6) e 6−t − 1 2 (3) 5 where u(t) is the Heaviside function. We suspect that: should the simple form (3) be included in Duffy’s paper, the above Laplace pair would not be considered a “tough test problem” and would not be included in any subsequent studies. In general, when the original contains delayed functions, and therefore is suspect to being nondifferentiable (or even jumping) at discrete points, the user knows this fact a priori. In the case of underground flow applications [14-16], this is due to abrupt production rate changes. In compartmental modeling of pharmacokinetics [17-20] the phenomenon is related to administering the drug, say, by intravenous injection at a specific time. The standard way to handle this situation is to decompose the response into the sum of delayed functions, each of which is infinitely differentiable (for positive times) in itself, and to obtain only the individual differentiable constituents from the table of transforms, or by numerical inversion. Therefore, we will exclude the problem just discussed from our investigation. We also believe that the fact that an independent direct calculation of f(t) is “difficult”, does not mean that the test problem is challenging or representative. As an example, we consider Duffy’s Test Problem No 2. The image function is given as F ( z) = (100 − z )sinh ( ) z [z sinh ( z ) + z cosh ( z )] z /2 (4) and the f(t) function can be independently evaluated by the series 1 N 1 f (t ) = − + ∑ 100 + 2 2 n =1 bn 2bn sin (bn / 2)e − bn t 2 2 + bn cos(bn ) 2 ( ) (5) where the coefficient bn can be obtained as the subsequent solutions to a nonlinear (transcendent) equation: x tan(x) = 1 . The combination of finding an (infinite) number of roots numerically and summing an (infinite) number of terms is not a trivial task, and one can hardly guarantee the accuracy of the independently calculated f(t) values. Therefore, the above pair is not an ideal test problem. Suggested Sets of Test Problems Set A The most extensive, methodical, and reliable tables of Laplace transforms, such as Roberts and Kaufman [21] and Prudnikov, Brychov and Marichev [22] list pairs on hundreds of pages. However desirable is to use such a complete table, that task should be postponed for better times. For this work, we use Table 29.3 of Abramowitz and Stegun [23]. This excellent compilation contains a relatively small number of entries (129), but it is very economical in the sense that few special cases are listed, if the parametrization of a more general item allows to generate the special one. Therefore, we select this table as our starting point. 6 From the 129 entries, 105 f(t) functions are infinitely differentiable for all t > 0. The nondifferentiable f(t) functions are easy to filter out, because they are represented by a figure, and/or they contain the Heaviside function or the Dirac delta symbol. We have programmed the 105 pairs in Mathematica (version 4.1 [24]), using a notation as near to the original compilation as possible. Particular care was exercised to use the same symbol for a similar type of parameter, therefore we use the notation: real numbers: a, b, c, k; postive integers: nu, mu, n, for the generating parameters. As in the original table, all parameters should be different, and b > a. In the runs shown later, we generated the actual test problems selecting a = 3/5, b = 5/7, c = -9/7, k = 9/11, nu = 3, mu = 4 and n = 5 . The times at which we require the calculation of the numerical inverse are t = 1/10, 1, 10. In the resulting 105 problems that will be referred to as Set A, the original is either known “analytically” or can be evaluated by a finite number of calls to named functions plus some arithmetic operations. Mathematica is capable to evaluate any of these expressions with any required number of significant digits. In addition, the f(t) functions are infinitely many times differentiable at any positive t (but not necessarily at t = 0). We consider Set A as the most objective measure of the performance of a numerical inversion algorithm, because i) this set has been created from a table representing the wide spectrum of Laplace transform pairs, ii) no additional subjective consideration was involved in the selection process, and iii) the f(t) values are known with any required accuracy. Set B The next set is a collection of test problems with inverse that can be calculated with controlled precision, using an “infinite” summation whose coefficients are still explicitly available. Many problems of heat conduction, diffusion, flow in porous media, electricity fall into this category. A typical example would be test B-1: F ( z) = ( ) sinh ( z ) sinh x z (6) where 0 ≤ x ≤ 1 . The corresponding f(t) is known to have the form: ∞ f (t ) = 2π ∑ (−1) n n e − n π t sin( nπx) 2 2 (7) n =1 at least that is given on page 217 of the current textbook by Schiff [5]. The selection of x follows our established practice, we use x = 2/5. The time values are the same as previously, t = 0.1, 1, and 10. Several similar problems are collected in Set B. As will be described, the results present some surprises. 7 Set C Set C is in the tradition of Duffy [3], and includes his Test Problems No 2, 3, 4 and 5 as C-1 through C-4. The independent solutions of these problems can be generated using an arsenal of numerical techniques, and some human interaction is necessary to accept the “right” independently calculated value of the inverse. As it turns out, the available other methods could not always provide an accurate enough f(t) and we added a question mark after the “known” values to denote this fact. The next problem, our test C-5, is taken from De Chant [31]. The Laplace transform is related to the one-dimensional heat equation with an important boundary condition. The problem used to have an “analytical” solution in the form of infinite series that seemed to be reasonable. As De Chant suggests, there has been a typo in the published solution that had remained undiscovered for half a century. We wished to see if a numerical inversion method can be used to tell which solution is correct: the one suggested in a classical book or the one presented by De Chant. Two additional problems are related to the Mittag-Leffler distribution. Test C-6 has a closedform solution [32], but for test C-7 only a series representation is available which is difficult to calculate to high precision. Set D In this set we collected some important problems, somewhat on the “verge” of symbolic and numerical mathematics. ( D-1: ) F ( z ) = exp(− z a ) where 0 < a < 1, and ( D-2: ) F ( z ) = exp(− z b ) where b < 0 are taken from Mikusinski and Boehme [33]. (We use a = 2/5 and b = -2/5). (According to Mikusinski and Bohme, no “analytical” representation is known for the f(t) function of D-2, though the inverse itself exists.) Problem ( D-3: ) F ( z ) = z ln ( z ) is interesting, because strictly speaking the F(z) function is not a Laplace transform. Indeed, we know that a Laplace transform cannot have the property F ( z ) → ∞ as Re( z ) → ∞ (see Schiff [5], page 22). Nevertheless, the F(z) is a transform, in the Heaviside-Mikusinski operational sense, and the inverse would be f (t ) = t −2 It is interesting to see what happens if we try to invert Problem D-3 using a particular inversion algorithm. Problem ( D-4: ) F ( z ) = z n + a should result in f (t ) = Γ(− n − a ) / t n + a in the HeavisideMikusinski operational sense ( we select n = 3 and a = 2/5 ), though it is not a Laplace transform in the strict sense. 8 should result in the generalization of the Problem ( D-5: ) F ( z ) = 1 /(1 + z a ) − n = (1 + z a ) n Mittag-Leffler distribution. We select ( n = 3 and a = 2/5 ). This exponent is not included in the original definition [31], so we do not know if f(t) exists or not. Problem ( D-6: ) F ( z ) = exp(− z c ) with c = 3/2 is of great importance. We know from [32] that there is no inverse in the Heaviside-Mikusinkski (or Laplace) sense. We wish to see whether an algorithm provides a false solution or indicates somehow that there is no inverse. Problem ( D-7: ) F ( z ) = Ei(− z ) with if t < 1 0 f (t ) = - 0.5 if t = 1 - 1/t if t > 1 is included as a counterexample. Obviously, f(t) is non-differentiable in t = 1 so this is an example of a transform that is outside the scope of this study. The only reason we include it is to see how a particular algorithm “reacts” to such a problem. Using the Test Sets Of course no set of test problems is meaningful without demonstrating that it is realistic to anticipate a reasonable performance of at least one available inversion algorithm on it, and that the problems included provide useful information on the performance of a particular method. The BigNumber-Stehfest algorithm has been selected here because it provides results that agree with the “analytical” ones whenever the latter are available. The BigNumber-Stehfest Algorithm The BigNumber-Stehfest algorithm is a slightly modified version of the Stehfest [1] method, also called Gaver-Stehfest method. The improvement is achieved using the following ideas: 1) The number of terms in the Stehfest summation (N) is successively doubled 2) The precision of the internal arithmetic calculations and the F(z) evaluations is increased simultaneously with the number of terms in the algorithm (for N terms N decimal digit precision is required) 3) A simple "convergence criterion" is applied: the digits being the same in the approximants calculated with the number of terms N and 2N are considered already "final" e.g. significant. 4) A “processed” form of the Laplace transform is used. The original Stehfest algorithm requires, that the F(z) function evaluates to a real number at any positive z. Obviously, this is not true for all entries in our Set A. As an example consider our test no A-89 (entry 9 z 2 − 9 / 25 that will not evaluate 29.3.109 in Abramowitz and Stegun [22]): F ( z ) = ln z2 to a real value for z < 3/5. Our defined rule of processing is simple: Whenever a noninteger exponent or logarithm appears, insert an absolute value operator. For the example z 2 − 9 / 25 . Note that in all these cases considered, this creates F ( z ) _ Processed = ln 2 z we change only the symbolic expression representing the broader F(z), and do not change the Laplace transform itself. In all cases, the suggested processing can be done without contradicting the principle of analytic continuation, because neither 2 2 z − 9 / 25 z − 9 / 25 is the “right” continuation, or F ( z ) _ Processed = ln F ( z ) = ln 2 z z2 being F(z) not analytic at the real argument z = 3/5. 5) The Stehfest coefficients (being rational fractions) are stored in an integer representation, resulting in the required precision. (The complete data file is about 40 Megabyte and it allows to calculate an approximant with up to N = 212 = 4096 terms, in contrast to the usual practice of using 16 terms. The calculation of the integer representation required several days of computation on five PCs, running simultaneously.) Understanding the Output In the output of the test calculations, the symbolic expression for F(z) is denoted similarly, and the known inverse is denoted by f_Known. In addition, we attempt to use the built-in procedure of Mathematica to find symbolically the F from the known f and the f from the known F. Whenever a meaningful result was produced, we incorporated it into the output as F_From_fKnown and f_Mma_Orig, respectively. The “Orig” refers to the built-in procedure: InverseLaplaceTransform[] of Mathematica 4.1. Another result for the symbolic inverse, denoted by f_Mma_UG is obtained using the Mathematica add-on package Lz of U. Graf [24]. In the output we incorporated another form of F(z), denoted by F_Processed and defined in the previous section. A typical part of the output is shown in Fig. 1. 10 t f_Known f_MmaOrig f_MmaUG f_niL 1.0e-1 -0.36010801296083318e-1 -0.36010801296083318e-1 NA -0.36010801296083318e-1 1.0e0 -0.37093043648453541e0 -0.37093043648453541e0 NA -0.37093043648453541e0 1.0e1 -0.40143127224491179e2 -0.40143127224491179e2 NA Message: no evidence of convergence Fig. 1 Excerpt from the output 11 As we see from the sample output, in the particular case: • The built-in Mathematica procedure was unable to create the symbolic Laplace transform from the known original f(t). • The Processed F(z) contains the absolute value “operator” wrapped around the argument of the logarithm. This is the actual function evaluated in the BigNumber-Stehfest algorithm. • The built-in procedure of Mathematica did find the inverse symbolically from the known F(z) (even if the identity of the f_Known and f_MmaOrig expressions is not obvious at the first sight). • In this case U. Graf’s package did not provide a symbolic inverse of the known F(z). • The numerical inverse calculated by the BigNumber-Stehfest procedure (called niL) is exact to 17 significant digits for time t = 0.1 and t = 1. • For time t = 10, there is an error message. The procedure was unable to check the convergence (though the result was already accurate.) This run was made with maximum N = 28 = 256 Stehfest terms. Using N = 210, there was no error message for this particular test problem, or any of the 105 entries included in Set A. The complete output is available from our WEB site (see below). Results for Set A For all 105 test problems, the calculated numerical inverses are already accurate to 17 significant digits when we allowed maximum N = 210 terms in the BigNumber-Stehfest algorithm. If time t = 100 was also included (or time t = 0.01), the maximum allowed number of terms had to be increased to 212, and the computations needed more than a day on a current PC. If time t = 1000 is also included, seven tests fail at that t-value. There is no doubt that these calculations could also be done to 17 digit accuracy, but we currently do not have a data file of the Stehfest coefficients for more than 4096 terms. Based on the results, it is safe to say that for the type of problems considered, the BigNumber-Stehfest algorithm is a reliable method. (It is not clear, however, whether it is the most economical one.) Some additional information, not directly related to the issue of numerical inversion was also obtained. In particular, it can be seen from the results that the Lz package of U. Graf [25] provides the symbolic inverse correctly, whenever it comes up with an answer. The built-in InverseLaplaceTransform function of Mathematica does not perform so well. Though the current (4.1) version is better than the previous one, it still inserts unnecessary DiracDelta and UnitStep terms, sometimes just superfluous, sometimes mathematically incorrect. This inconvenience is relatively easy to filter out. For several cases, however, the answer seems to be perfectly reasonable, but is in fact incorrect. For instance, in problem A_S 29.3.101 where the image function is F(z) = ln(z)/(1+z2), the symbolic inverse provided by Mathematica 4.1 contains a surplus “EulerGamma” . Results for Set B All tests of this set could be solved using the BigNumber-Stehfest algorithm. We note that for our test problem B-1a, reference [5] contains a typographical error (a negative sign is missing). After correcting this error, the inversion algorithm reproduced perfectly the infinite series 12 solution, up to 17 digits. (We note that a similar typo was found regarding test B-2a also taken from the table included in Schiff’s otherwise excellent treatise [5]). Results for Set C The results of the BigNumber-Stehfest algorithm on these problems are excellent as far as we understand that in some of the cases the most reliable way to calculate the result is the numerical Laplace inversion and hence some of the results cannot be corroborated independently. As a byproduct of our calculations, we were able to show that De Chant‘s [31] solution is correct, and Lin [32] was right in correcting a previous typo in the literature. Results for Set D The BigNumber-Stehfest algorithm solves the inversion problem for the Heaviside-Mikusinski image functions, whenever the original exists and is (infinitely) differentiable (D-1 to D-4). In case of D-5 we had no prior information whether the inverse exists or not, but the results indicate the inverse does exists. We have no reason to doubt that the results are exact up to 17 significant digits. For test D-6, that is F ( z ) = exp(− z 3 / 2 ) we got the message of “no evidence of convergence” for all times, in accordance with the fact, that the inverse does not exist, neither in the strict Laplace sense nor in the broader Heaviside-Mikusinski sense. In the case of test D-7 the message “no evidence of convergence” appears at t = 1/10 and t = 1, but at t = 10 the algorithm “converges” to the right answer f(t) = -1/10, or at least the first 17 digits are already correct at N = 512 terms causing the algorithm to stop. This convergence is, however, apparent. In fact, at very large number of terms in the Stehfest series the result would destabilize. Intuitively: the existence of one non-differentiable point at t = τ does ultimately prevent the BigNumber-Stehfest algorithm to converge at any t, but the effect may be masked, if t − τ is large enough. 13 Availability and Additional Information The WEB site http://pumpjack.tamu.edu/~valko/Nil serves as a starting point for additional information. • It provides the output of the runs described in this paper (in HTML format.) • A list of more than 800 relevant publications going back to 1795 are also made available. • Interested readers can download the original Mathematica programs containing all the test Sets and their solutions with the BigNumber-Stehfest algorithm. • A user friendly Java program can be launched directly from the WEB site. This “non-professional” version of the BigNumber-Stehfest method, programmed in Java, can be run on virtually any current computer and platform. The limitations of the Java version are the following: i) It can use maximum 1024 terms, ii) The class of F(z) images is limited by the availability of the functions (abs, sqrt, exp, ln, sin, cos, tan, arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh, arccosh, arctanh . iii) The Java version uses the Java WEB Start technology and needs a one time installation of the launcher. (For details see our WEB site.) iv) Execution is relatively slow, because the multiple precision calculation of the elementary functions is accomplished with a relatively unsophisticated (but reliable) Taylor expansion algorithm programmed by Jason Tiscione [34]. It is remarkable, that Java provides the possibility of multiple precision arithmetic in contrast to, for instance, fortran 90/95. The name of the Java class is BigNumber (hence the name of our algorithm.) We found that for not too large number of digits (in the range of 32 –128), the speed of Java is competitive to Mathematica. In addition to the BigNumber-Stehfest algorithm, the test problems in Set A were solved using four other inversion methods due to Durbin [26], Crump [27], Weeks [28] and Piessens [29]. All methods have been programmed in Mathematica using the so-called default values of the parameters included in a Mathematica “Add-On” package prepared by A. Mallet [30]. The results of these runs are also available on our WEB site. In the paper we did not comment on the results, because it is not fair to use the methods without selecting the necessary additional parameters (first of all, the estimate of the abscissa of convergence) carefully, and differently from image to image and time point to time point. Application Example To illustrate the practical importance of the findings of this paper we take a problem from underground flow. An injection well in the center of a cylindrical reservoir is considered, where the permeability of the formation increases away from the well, according to a power law with constant exponent n>0 (“damaged well”). The mathematical model describing the pressure as function of location and time is similar to the variable coefficient heat equation and can be written as: 1 ∂ n +1 ∂p ∂p r = ∂r ∂t κ 2 r ∂r with boundary conditions 14 1 n +1 ∂p = −1 (constant wellbore rate) r ∂r r =1 κ2 ∂p outer: = 0 (no flow outer boundary) ∂r r =R and initial condition: p (t , r ) t =0 = 0 . inner: In the above model r is the dimensionless radius (1 at the wellbore and R at the outer boundary), t is the dimensionless time and p is the dimensionless pressure. The parameter κ is not independent from n and R, the choice 2( R n + 2 − 1) κ2 = (n + 2)( R 2 − 1) ensures that the areal average of the dimensionless permeability is unity (see Fig. 2). Using the Laplace transform technique, the image function of the pressure at any location, r can be obtained as 1− n2 1− n2 −n / 2 F (s) = r AI β a1 r + BI − β a1 r where I β (x) is the modified Bessel function of the first kind and of order β. The coefficients A and B are functions of the Laplace variable and are determined from the two boundary conditions: 2b3κ 2 2b4κ 2 A= B=− and s (b2 b3 − b1b4 ) s (b2 b3 − b1b4 ) In the above formulae the following notation is used: 2 n α= , β= , γ = α − 2β n−2 n−2 a 0 = κ s , a1 = − a0α , a 2 = a1 R 1− n 2 n 2 , a3 = nR , a 4 = a 0 R b1 = a 0 I α (a1 ) − nI β (a1 ) + a 0 I β +1 (a1 ) b 2 = a 0 I −α (a1 ) − nI − β (a1 ) + a 0 I γ (a1 ) b 3 = a 4 I α (a 2 ) − a3 I β (a 2 ) + a 4 I β +1 (a 2 ) b 4 = a 4 I −α (a 2 ) − a3 I − β (a 2 ) + a 4 I γ (a 2 ) (It is interesting to note that for n → 0 and κ → 1 the solution tends to the known solution of the constant coefficient heat equation given e.g. in [14].) We consider R = 5000 and n = 0.5 (κ = 7.5212…) and wish to calculate the wellbore pressure ( e.g. p at r = 1) at times t = 1 (when the flow comes from a region commensurate to the wellbore) and t = 108 (when the effect of injection reaches the outer boundary). The particular permeability distribution is shown in Fig. 2. Results are summarized in Table 1. 15 10 1 rn r=R κ2 0.1 r =1 0.01 0 1000 2000 3000 4000 5000 r Fig. 2 Permeability normalized by its areal average value ( R = 5000 and n = 0.5 ) Time, t BigNumber-Stehfest Stehfest [1] (standard double-precision N = 8 or 16) Durbin* [26,30] (N=2000; a=0; e=2) Crump* [27,30] (N=30; a=0; e=2) Weeks* [28,30] (N=100; a=0) Piessens [29,30] (N=10; b=1) 1 7.9020786793717900 NA NA NA NA NA 108 118.69900631000067 118.699017… 1.7… 102 118.699021… 118.2… 118.8… *Needs evaluation of F(z) at complex z Table 1 pw ( R = 5000 and n = 0.5 ) calculated from various methods In Table 1, “NA” indicates that the particular method was unable to provide even an order of magnitude estimate. As seen from the Table, the inversion at t = 1 turned out to be a difficult problem, while at t =108 almost all the methods provided reasonable results. Because of the tests carried out with Test Set A, we can be confident that the results shown in the BigNumberStehfest column are accurate to 17 digits. We are not aware of any other way to calculate those results with the precision indicated. 16 To illustrate a case, when the BigNumber-Stehfest algorithm does not work, we consider a related problem. Now we assume, that the well had been injecting with constant rate till time t = 1, and then it was shut in (“fall-off test”). The Laplace transform of the wellbore pressure is obtained using the first shifting theorem of Laplace transform: F2(s) = (1-e-s)F(s). We wish to determine the inverse of this transform at the wellbore (r = 1) at time t = 2, that is when unit time has elapsed after the shut-in. Table 2 shows the intermediate results from the BigNumberStehfest algorithm, before the message “no evidence of convergence” pops up: Number of terms*, N Approximant 8 3.0… 16 2.0… 32 2.95.. 64 2.962… 128 2.9612.. 256 6.3×1057 * also number of decimal places used in internal calculations Table 2 Intermediate results of the BigNumber-Stehfest algorithm for F2(s) We see, that in spite of the apparent convergence at moderate number of terms, the algorithm ultimately “blows up” (similarly to our Test Problem D-7, for times t = 1/10 and 1). The reason is, that the f2(t) function is not differentiable at time t = 1 (when the well was shut-in). The engineer, however, knows this, and does not try to invert F2(s). Rather, she or he applies superposition to obtain the correct result, taking the difference of two values of the inverse of F(s): one at time t = 2 and the other at time t = 1: pw = 10.863251997232379 - 7.902078679371900 = 2.961173317860588; where the second number comes directly from Table 1, and the first number can be obtained running the algorithm on F(s) for t = 2. Therefore, it would be unnecessary and misleading to include F2(s) as a standard test problem for the class of problems considered in this paper. Conclusions In this paper we constructed several sets of test problems for the numerical inversion of the Laplace transform. We focused on the case when the image function i) can be evaluated (at least for positive real arguments) with any required precision, and ii) the original is known to be infinitely many times differentiable. Set A is most likely to reveal any weakness of a suggested 17 algorithm, due to the fact, that it has been created from a representative table of transform pairs without any additional subjective consideration. In particular, we tested the BigNumber-Stehfest algorithm and concluded that it gives the required result to 17 significant digits for Set A. Additional Sets B and C show that in contrary to common perception, the numerical inversion of the Laplace transform might be the most reliable method to calculate the f(t) function, even if a more traditional representation is available. Of particular interest is Set D, showing that the BigNumber-Stehfest algorithm works also for generalized transforms in the sense of the Heaviside-Mikusinski operator calculus. In addition, the algorithm does not converge to a false value if the inverse does not exist. Though Sets B, C and D helped us to clarify several issues, it is clear from the results that Set A is basically sufficient to evaluate a particular numerical inversion algorithm, as far as the class of problems is restricted in the above sense of conditions i) and ii). Therefore, we suggest Set A as a standard test set. Detailed results, programs (both in Mathematica and Java) and additional information are provided on the accompanying WEB site. The application example taken from underground flow illustrates the practical significance of defining the right set of test problems. Acknowledgement The authors would like to thank Joe Abate (Ridgewood, NJ), Vladimír Vojta (Prague, CZ), Urs E. Graf, (Biel-Bienne, CH), Benedek Valkó (Budapest, H) for insightful discussions, and J. Tiscione, D. Smith, D. Bailey (US) for their contributions related to multi-precision calculations. References 1 Stehfest, H.: Algorithm 368: Numerical inversion of Laplace transforms, Comm. ACM 13 (1) pp 4749 and 624, 1970. 2 Davies, B. and Martin, B.: Numerical inversion of the Laplace transform: A survey and comparison of methods. J. Comput. 33, 1 (Oct.), pp 1–32, 1979. 3 Duffy D. G.: On the numerical inversion of Laplace transforms: comparison of three new methods on characteristic problems from applications, ACM Trans. Math. Soft. 19, p333-359, 1993. 4 D'Amore, L., Murli, A. and Rizzardi, M.: An extension of the Henrici formula for Laplace transform onversion, Inverse Problems 16 pp1441-1456, 2000. 5 Schiff, J. L.: The Laplace Transform. Theory and Applications., Springer, New York, 1999. 6 D'Amore, L., Murli, A. and Rizzardi, M.: Recent developments related to the numerical inversion of a Laplace Transform function: the real inversion problem, Proceedings of the Intern. Conf. on Inverse Problems in Engineering: theory and practice, D. Delanunay, Y. Jarny, K.A. Woodbury (Eds.), Engineering Foundation Publisher, 1996. 7 Gaver, D.P.,Jr.: Observing stochastic processes, and approximate transform inversion, Operations Research, 14 (3) pp 444-459, 1965. 8 Whiteley, K. S. and Garriga, A.: Derivation of continuous molecular weight distributions from the generating function, Computational and Theoretical , Polymer Science, 11 (4) pp 319-324, 2001. 18 9 Usábel, M.: Calculating multivariate ruin probabilities via Gaver-Stehfest inversion technique insurance: Mathematics and Economics, 25, pp133-142,1999 10 Frolov, G.A. and Kitaev, M.Y.: Improvement of accuracy in numerical methods for inverting Laplace transforms based on the Post-Widder formula, Computers & Mathematics with Applications, 36, (5) pp 23-34, 1998. 11 Abate J. and Whitt, W.: The Fourier-series method for inverting transforms of probability distributions, Queueing Systems, 10, 5 – 88, 1992. 12 Weideman, J. A. C.: Algorithms for parameter selection in the Weeks method for inverting the Laplace transform, Siam J. Sci. Comput., 21, 111-128, 1999. 13 D'Amore, L, Laccetti, G. and Murli, A: An implementation of a Fourier series method for the numerical inversion of the Laplace transform; ACM Trans. Math. Softw. 25, 3 pp 279 – 305. 1999. 14 Raghavan R. Well test analysis, Prentice-Hall, Englewood-Cliffs, 1993. 15 Motz, L.H.: Drawdowns for leaky-aquifer flow with storage in finite-width sink Irrigation and Drainage Engineering-Asce, 120 (7) pp 820-827, 1994. Journal of 16 Gieske, A.: Flow to a well in a water table aquifer: Speeding up the computation of type curves for low beta values, Ground Water, 37 (4) pp171-174, 1999. 17 Moench, A.F.: Double-porosity models for a fissured groundwater reservoir with fracture skin, Water Resources Research 20 (4/5) pp 831-846, 1984. 18 Schalla, M. and Weiss, M.: Pharmacokinetic curve fitting using numerical inverse Laplace transformation. Eur. J. Pharm. Sci. 7(4), 305-309, 1999. 19 Popovic J. : Derivation of Laplace transform for the general disposition deconvolution equation in drug metabolism kinetics, Experimental & Toxicologic Pathology. 51(4-5) pp409-411, 1999. 20 Fukumura, K., Yamaoka, K., Higashimori, M. and Nakagawa, T.: Analysis Program Based on Finite Element Method, MULTI(FEM), for Evaluation of Dose-Dependent Local Disposition of Drug in Liver, Pharm. Sci. 88 (5), 538-543, 1999. 21 Roberts, G. E. and Kaufman, H. Table of Laplace Transforms, Saunders Co., Philadelphia, 1966. 22 Prudnikov, A.P. Brychov, Y.A. and Marichev, O.I. Integrals and Series: Vols 4 and 5, Gordon and Breach Science Publishers, New York, 1992. 23 Abramowitz, M and Stegun, I. A. Handbook of Mathematical Functions, Dover, N.Y. 1970. 24 Mathematica version 4.1, 2000, http://www.wolfram.com 25 Urs E. Graf: http://www.hta-bi.bfh.ch/~gru/LaplaceAndzTransforms_Pack_Info/e.htm 26 Durbin, F.: Numerical inversion of Laplace transforms: an efficient improvement to Dubner and Abate's method, Computer Journal 17 (4) 371-376, 1974. 19 27 Crump, K. S.: Numerical inversion of Laplace transforms using a Fourier series approximation, Journal of the Association for Computing Machinery, 23 (1) 89-96, 1976. 28 Weeks, W.T., Numerical inversion of Laplace transforms using Laguerre functions J. ACM., v. 13, 419-426, 1966. 29 Piessens, R.: Gaussian quadrature formulas for the numerical integration of Bromwich's integral and the inversion of the Laplace transform', J. Eng. Math., v. 5, 1-9, 1971. 30 Mallet, A.: Numerical Inversion of Laplace Transform, 2000, Mathematica “Add On” http://www.mathsource.com/Content/Enhancements/Algebraic/0210-968 31 De Chant, L. J.: Analytical Solutions for Diffusive Finite Reservoir Problems Using a Modified Orthogonal Expansion Method, Math Comput Modelling, 28, pp 73-86, 1998. 32 Lin, G. D.: On the Mittag-Leffler distributions, Journal of Statistical Planning and Inference (Elsevier) , vol 74 , pp1-9, 1998. 33 Mikusinski, J. and Boehme T.K.: Operational calculus, vol 2 (2nd ed.) Pergamon, Oxford 1987. 34 Jason Tiscione’s WEB site http://www.geocities.com/SiliconValley/2548/ 20
© Copyright 2024