Computer Physics Communications 18 (1979) 305—326 cg~Jorth-HollandPublishing Company
A
GUIDE TO ANALYTIC EXTRAPOLATIONS
Part II: A program to be used in finding analytic correlations of data, and for detecting zeros and poles of the scattering amplitude I. CAPRINI, M. SARARU, C. POMPONIU
*
Central Institute ofPhysics, Bucharest, Rumania
M. CIULLI, S. CIULLI Theory Division, CERN, Geneva, Switzerland
and
I.S. STEFANESCU Institut für Theoretische Kernphysik der Universitdt Karlsruhe, Karlsruhe, Fed. Rep. Ger,nany Received 27 January 1978; in revised form 8 June 1979
1. Introduction
functions, we can view them, merged in a unique data function d(s), defined all over the “physical part”
In particle physics there often arises the delicate
=
r’1 +
+ of the cuts. In the present form of the program, the cuts f’ are (_oo, Si], [~2, +oc), and the physical region F1 is supposed to be connected and ranging from s2 to s0, but more general situations can easily be rewritten by the reader himself. The quality of the approximation will be introduced in the form of an error function ca(s):
problem of correlating a, in an analytic way, approximate pieces of theoretical and/or experimental information about the sôattering amplitude. Indeed, the latter is supposed [1] to be an (unique) analytic function in the s-cut plane. Here s is the usual square of the c.m. energy variable; more complicated analyticity domains, suchpresent as Martin’s axiomatic one foronly the partial waves [2], no special difficulties, the form of the conformal mapping c(s) (see later) will be affected. This theoretical or experimental information about the scattering amplitude is understood to be given in the form of some complex valued
~-
...
5J—r.’~S/IsEr ~ci~~s ~ ~ _..
vk
where J1s) stands for the boundary value of the (unknown) analytic scattering amplitude and ca(s) is some prescribed error corridor C [for technical reasons it is advantageous to normalize a(S~)= 1 (s 0 = the end point of ri); then, c will represent the error at this
data functions, d’(s), d”(s), each one being defmed on sowe~partsr’1, i”, of the cuts I’. Since these approximate pieces of knowledge b by no means represent the exact boundary values of some analytic ...,
..,
* Now at Carnegie-Mellon University, Pittsburgh, USA. a Continuity or smoothness arguments are, ofcourse, insufficient when hoiomorphic functions are required; sum rules might be used, but holomorphy is equivalent only to an infinite number of such sum rulesl b A typical example is represented by some given choice among the different possible branches of a phase-shift
C
305
analysis. Another example is provided by the problem of matching a high-energy (Regge) behaviour to low-energy data. In the references, this latter case is usually treated (incompletely) with finite energy sum rules. In eq. (1) the error corridor has a sharp form. Nevertheless, nothing prevents the repeated use of the above program, for a sequence of values of the normalizing constant a, corresponding to different confidence levels. The results will then refer to these prescribed levels.
306
I. Caprini etal. IA guide to analytic extrapolations
end point of F1]. Now, it is well known [seepart 1 *, henceforth quoted as (1)1 that analytic functions f(s), satisfying eq. (1) could nevertheless differ arbitrarily from each other at every point not lying on F~,unless some “stabilizing” condition, for instance in the form
In:s) r2
p(s)
‘ ‘
is in force on the remainder f’2 of the cuts F. Here p(s) might be known from theoretical considerations (Martin-type bounds, Froissart asymptotics), but the exact value of the constant M might not be. Again, we shall normalize p(so) = 1. The following problems may occur: A) ifMis also known, eqs. (1) and (2) may be used with the programs described in (I), to achieve optimal extrapolations to any interior.point of the analyticity domain; B) if M is not known, a condition of the type (2) may nevertheless be successfully used in correlating the different pieces of information containedin the piecewise given d(s). If p(s) is not known either, Problem B can be stated for every choice of p(s). Of course, better results are obtained if p(s) is closer towords, the theoretical one. In other the compatibility of the condition (2) with the eq. (1) is important (see next section) in deciding whether a given d(s) has chances of representing the scattering amplitude correctly, in the sense of (1).
21. Problem B1 Given d(s) on F1 as well as the function a(s) and > 0, consider the class ~ of functions f(s), analytic in the cut s-plane and such that eqs. (1) and (2) are fuilfilled. Then, given p(s) on F2, for each f(s) E ~ we can defineS M 1 = sup If(s)I/p(s), (3) on P2.
as well as [3] =
inf Mf.
For c small enough [such that f— 0 is inCOmpa*
See Comput. Phys. Commun. 18 (1979) 215.
Applications
(Bla): If some upper bound Mtrue for Mf [eqs. (3) and (4)] of the true scattering amplitude is known, we can disprove the analyticity off(s) or the correctness of the data d(s), if the computed value of M0 is greater than the above Mtrue. This is, in particular, useful in the problem discussed in the footnote (b) in the introduction. Indeed, the price to pay [4,5] in order to squeeze an analytic function on F1, inside the error channel (1) around a “bad” data function d(s), is to have an exploding function on F2, i.e. a very large M0. (Blb): In particular [4], if f(s) has a pole at s let us define the “Blaschke factor” B(s, s~)to be analytic in the same domain D as .t(s) and to have a modulus equal to 1, both on I’~and r2 [in order not to change conditions (I) and (2)] and a simple zero at s = s~.Then, the product f(s) B(s, s~)is analytic in (D) only ifs~ s0~.Computing the M0(s~)corresponding to d(s) B(s, s~)for various s~,,we shall get, 50p• The ifposition e is small a sharppermits minimum at s~= of enough, the minimum the evaluation of the most probable position of the pole 50p’ even if Mtrue is not known (but if there are nevertheless
reasons that it is not exceedingly high). The graph of M 0 versus s~,is of interest also for greater c’s, when the minimum of Mo(s~)is flat (and hence the above method fails), since this sort of pattern informs us that analytic functions satisfying eq. (1), and having a pole anywhere in the flat region above Mtrue, can
2. Mathematical statement of problem B
M0
tible with (1)], we getM0 ~ 0. The program looks for the number M0, which is clearly a (non-linear) functional of d(s), a(s), p(s) and
actually be constructed (using the methods of part 1):
this would automatically disprove any other polesearch method! Similarly, multiplying the data with a pair B(s, s~)B(s,s) of conjugate Blaschke factors, a pair of conjugate poles might be sought. 50z (Blc): The same trick can be used to find a zero of the amplitude, by computing theM0 corresponding to d(s)/B(s, si), or to d(s)/(B(s, s~)B(s,s)), if a pair of conjugate zeros is sought.
(4)
2.2 Problem B2 Conversely, given d(s), a(s), p(s) andM, the program can compute ~O,the smallest e for which there
I. Caprini etal. IA guide to analytic extrapolations
still exists a holomorphic function satisfying (1) and (2). If = sup f(s) d(s)I/a(s) (5) —
sEP
307
computed in part (1), so that d~(exp(iO))= d(exp(iO)) C~(exp(iO)),f~(~) = fl3) ~ The inequalities (1) and (2) can be brought into the form fw(e’°) dw(eiO)I
1
then
—
e~~= inf
—ir/2
,
(0 E F1)
(6)
~.
(8)
fE ¶1
Lfw(e’°)I
Applications (B2a), (B2b), (B2c) The applications are the same as for applications (Bla, b, c) and are denoted correspondingly: (B2a) for the computation of the ~ for the input function d(s); (B2b) for the pole search [i.e. for the ~ corresponding to d(s)B(s, sr)] while (B2c) corresponds to the zeros search [computation of COO for d(s)/ B(s, si)]. Again, B(s, s~)has to be replaced by a pair of Blaschke factors if a pair of such poles/zeros are sought. Problem Bi or Problem B2 might be solved calling the EMZERO or, respectively the EPZERO entry point (the parameter KEY is then set equal to 1 or, respectively 2). Further, the subpoints a, b and c might be commuted setting the KZ key-parameter
ir/2 <0 <3ir/2, (0 E F2). (9) Furthermore, by means of a second outer function (see, for instance, ref. [5]): + —ln I C0(~,c/M) exP(_in(M/e) [o.s 1 + ifl ir 1 i~j
in the EMZERO/EPZERO functions equal to: 0, if no zero/pole is sought (case a) —1 (or —2), if a pole (or a pair of conjugate poles) is
(12) d 18) Co(e’°)C~(e~°), for U on F d(e~°) = (e 1 (0, forOonF2. The point is that inequality (11) does not always have a solution, i.e. there does not exist for every c
sought (case b) 1 (or 2), if a zero (a pair of conjugate zeros) is sought (case c). 2.3. Method ofsolution As in part 1, the problem can be brought into a canonical form, by mapping * the cut s-plane into the interior of the unit f(s) disk, such that r1 and F2 map onto the right, respectively left, half of the unit circle. Further, the weights a(0) and p(O) can be absorbed into the analytic weight (outer) ** function defined by
—
IC0 I~1= 1, C0 Ir2
=
e/M,
(10)
inequalities (8) and (9) can be combined into a single one: 8) d~(eiO)Iri÷r< , Li~e’ where —
(11)
f(~) f~(flC =
0(~)= f(~) C~(~) C~(~)
and d(exp(iO)), an analytic functionf(~)satisfying (11)! Indeed, by its very definition(12), ~(exp(i0)) is not an analytic function in the unit disk *, d ~ so that there wifi exist a non-zero “distance” from ~ to the set ~1[seeref. [6], eq. (3.1)1: 10) d(eiO)I) ~ 0. c~[d; c/Mr fE~~ inf (O<9<2~ sup 7(e (13) —
This minimal distance depends on the given data ICw(e10)Iri
=
1 /a(0)
,
ICw(eiO)I r 2
=
I/p(0),
(7)
T
*
**
The transformation ~ -. (~Jfl7 ~—7-)/~JI-;-i 2~o) 5 + ~o(5i + ~2) — + ~~‘T~7) — 2sisi]/[(swhere — ~O)(~2 s’ = —((si ii)] + ~2 leading — from the cut s-plane to the unit-f disk is performed by the function subroutine ZETA1(S, SO, Si, S2) described in part 1. Thus, the bound functions a(s) and p(s) become functions of the angle 0, [l~ exp(iO)J, and henceforth will be denoted by a(0) and p(O). i.e. analytic without zeros.
function d(s) [c0 is a non-linear functional ** of d], as of well C as on the ratio elM, which enters the definition see eq.see (10). Indeed,E as in value ref. [6] (for 0, a proof appendix ofwas ref. shown [5]), the of *
Indeed, if it were analytic, then its property~ofbeing zero on a part of the boundary r
**
2 would imply d(~) 0 throughout the unit disk, and hence also on r1. More precisely, a0 depends on the function d~(l),i.e. both on d(~)and on C~(~) but for the sake of simplicity we shall drop the index w.
I. Caprini et al. IA guide to analytic extrapolations
308
CO is the norm, (i.e. the modulus of the greatest eigenvalue) of a certain matrix [see eq. (25) of subsection 3.9], built with the negative frequency Fourier coefficients of the weighted data function d(exp(iO)). It is obvious that, if for some given function
d(s) to be given at NPOINT points, situated between
d(exp(iO)) and ratio M/e we have e [d~c/MI ~ o
form of the bounding function p(s) [see eq. (2)], can be accommodated by the program by defining a function subprogram, FBOUND(S).
‘
(14)
‘
there wifi be no functions f E ~Fsatisfying (11). It can be shown (see appendix A) that for a fixed data function d(exp(iO)), ~0 [d, c/MI is a strictly increasing function of elM. Decreasing M, e0 increases, reaching the value of e exactly when M falls down to M0 defined in eqs. (3) and (4). Thus M0(e) = inf(Mf) is the solution of the equation (M0 mx) e=e0[d;e/x]
for fixedc.
,
—
-
—
-
—
~‘
-
3. Description of the subroutine-pac EMZ R 3.1. Quantities to be provided by the user The subroutine-pack EMZERO is designed to prepare and solve the problem of finding the quantities
M0 and ~Odefined in the previous section [eqs.(15) and (16)]. To this end, we need the data function * A pair B~0B~* of such factors is used if KZ is set equal to —2 or +2.
Accordingly, the initial values (data) that must be provided by the user are: Sl the end of the left-hand cut. S2 the beginning of the right-hand cut (where data are given). So the end point of the region where the data function is known. (This is F1 = {s Is2 ~ s ~ 5~}.)Actually, SO is returned by ANALYT (SO SEXP(NPOINT)),
(15)
Conversely, for a given M, we can look for the best approximation of d on F1 by analytic functions from ~, i.e. to look [see eqs. (5) and (6)] for the smallest (—= e~~) compatible with the equation (O~ my): — . / ‘1 ~ y—e0[d,y1M]. ~ 6, As already stated, M0 or e00 gives a “measure” of the non-analyticity of the data function and, as such, it is a very sensitive device for the detection of its singularities (poles). The subroutine pack EMZERO is designed to solve eqs. (15) and (16) for the data function itself (problems’B1 a and B2a), as well as for the data function multiplied or divided (see problems Bib, B2b, Bic, B2c) by the Blaschke * factor B~0(exp(i0)),providing the user with the value of M0 or ~ In the ~-variab1e, the Blaschke factor B~0takes the simple form B ‘ iO\ t io ‘- ~“l ~.* iO~ ‘l7~ ~0~e , ~e ~0e “ / where ~o = ~(s~). —
S2 and SO, in the form of the array DATA. Further, we need the error function a(s) at the same points (the array ERROR). The supplementary information on the rest of the cuts F2, which we might have in the
so that the user could omit its determination. NPOINT
the number of points where the data
function is known. real array, the experimental (real) values of the “energy”, s [S2 ~ SEXP(I) ~SO,where1~I~NPOINT]. DATA(I) complex array, containing the cornplex values of the data function corresponding to the above energy values [DATA(I) d(Sexp(I))]. ERROR(I) the real array of the error values, associated with the data [ERROR(I) = ea(sexp(I))]. NOFBD logical variable. If NOFBD = .TRUE., then no function bound is assumed on the rest of the cuts F2 [i.e. it is supposed that p(s) I]. If NOFBD = FALSE., then the program assumes that a non-constant function bound exists. If so, the user must supply: FBOUND(X) a real-type function subprogram. Here the variable X is also real
(—°°
309
I. Caprini et al. /A guide to analytic extrapolations
the rest of the program. After this unique call of ANALYT, we can use directly the function subprogram EMZERO (entry point: EPZERO) which cornputes M0 or e00 according to whether EMZERO or EPZERO was called. The initial constants (M and e) multiplying the normalized error channel a(s) and the normalized function bound p(s) [eqs. (1) and (2)] may be changed at will, such that M0 (or c~~) can be computed for different over-all error widths or F2-bounds. Further, the Problems a, b and c of section 2 can be commuted, changing the value of the control parameter KZ. To sum up, when calling EMZERO (or EPZERO) the user has to provide: EB a real constant, representing either the value of EPS (re e), if M0 is wanted (EMZERO is called), or BOUND (reM) when one seeks ~ (when EPZERO is called). SZERO complex parameter, defines the position of the variable pole or zero (according to KZ, see below) to be introduced in the data function, KZ an integer parameter controlling the introduction of zeros or poles in the data function. If KZ = —11+1, EMZERO or EPZERO is no more computed for the data itself, but for the latter multiplied/divided with a Blaschke factor having a zero at Re(SZERO). In this way (recollect problems BIb, B2b/Bic, B2c) one might check whether a pole (KZ = —1) or a zero (KZ = 1) is located at this point. If KZ = —2/+2, a pair of such Blaschke factors is introduced to seek for a pair of poles! zeros located at SZERO and Conjg (SZERO). If KZ = 0, the data is not changed at all, and the values of EMZERO or EPZERO correspond to the initial problem. Anyhow, before leaving the subroutine, the initial data are always restored. In other words, if the user wishes to compute the value of M0 (defmed, according to KZ, as a functional on the data itself or on the latter modified with Blaschke factors), he should call EMZERO(EPS, SZERO, KZ). For ~ he should use EPZERO (BOUND, SZERO, KZ). Further, no COMMON-variables have to be determined by the user, since these are meant only as a link between the various subroutines of the present pack.
The EMZERO pack contains the following subprograms:
ANALYT
—
subroutine
EMZERO
—
real function (with the ENTRY
EPZERO) ZETA1 THETA1 STH1 EXFUN
complex function real function real function complex function (with two ENTRY points, CW and CW1) MOEOO subroutine COEF subroutine NORM subroutine. It is supposed that: FBOUND a real function [aliasp(s)J is provided by the user (necessarily if NOFBD = .FALSE.). As has been already emphasized, in a normal run, only the subroutine ANALYT and the real function EMZERO (or EPZERO) have to be called by the principal program. — — — —
— — —
—
3.2. Subroutine ANAL YT(S0, Si, S2, NPOINT,
SElF, DATA, ERROR, FBOUND, NOFBD, EPS, BOUND) The meaning of all arguments but the last two has been explained previously. In fact, the latter are output arguments, and are defined by the subroutine itself after a(s) and p(s) [i.e. ERROR(I) and FBOUND(X)] are normalized to 1 at s = s0. So: EPS ERROR(NPOINT) as BOUND = FBOUN —
~
=
M
—
(but BOUND as 1, if NOFBD = .TRUE.). Both and M (alias EPS and BOUND) may be redefined by the user before the functions EMZERO and EPZERO are called. The following two COMMON-blocks provide a link between the various subroutines in this pack. As already stated, none of these variables has to be assigned in the main program. Reading the description of the various variables contained in these COMMON’s, we get a first glimpse of the way the program pack is conceived: COMMON/ANALYT/SS1, SS1, SS2, NFOUR, KFLAG,
310
I. Caprini eta!. IA guide to analytic extrapolations
SSO the value of SO, SS1 the value of Si, SS2 the value of S2, NFOUR number of negative Fourier coefficients to be taken into account, KFLAG internal flag, mainly used by the extrapolation subroutines described in part 1.
data function corresponding to the first NPOINT angles THETA(J). Once
EXFUN is called, according to KSWICH: if KSWICH = 0, the complex values of the outer function C~(~) defined by eq. (7) are computed by EXFUN —
COMMON/PWDR1/LWRITE, GRAD
at
COMMON/PWDR2/NPT, THETA(50i), CARL(501)
—
COMMON/PWDR3/ERR(501), N, KSWICH, ER. LWRITE
integer parameter, controlling the amount of printed output. It is transmitted to almost every subroutine. It provides an internal knob to be set by the user. We defer its description to every specific subroutine. GRAD real parameter (a second internal knob) which controls the subdivision of the integration intervals in some subroutines (in the present pack, only in COEF). NPT identical to NPOINT. This argument together with THETA and CARL (see below) is transmitted also to the subroutine COEF which uses the first NPOINT angles (i.e. the THETA’s between 0 and ir/2, see below) and the weighted data function to compute negative frequency coefficients. THETA(50l) real array of angles between 0 and ~r/2 (if NOFBD = .TRUE.) or between 0 and ir (if NOFBD = .FALSE.). If NOFBD = .TRUE., the first NPOINT values are the images of the experimental energies SEXP(J) by the conformal mapping exp(iO) = v(s). If a non-constant function bound p(s) is assumed to exist (i.e. if NOFBD = .FALSE.), a number of equally spaced points are added by the subroutine ANALYT between ir/2 and ir (J = NPOINT + 1, N) at which the values of p(0,) are computed and (see below), transmitted to EXFUN. CARL(501) complex array, which, at the very beginning, contains the elements of DATA, i.e. the values of the complex
ERR(50l)
N
exp(i01) [0~ = THETA(J)] if KSWICH~O(thecase of the =
present program), the pre-existing values of CARL(J) are not erased by EXFUN, but are simply multiplied by the above C~(exp(i01))’s. Hence, when one leaves ANALYT (and so, also EXFUN), CARL holds the values of the weighted data d~as ~‘~(exp(iO))d(exp(iO)); during a call of EMZERO (or EPZERO) this array might be modified by a Blaschke factor (see section 3.3), but the initial values are always restored before leaving these subprograms. THETA and CARL are the main ingredients of the subroutine COEF, which computes the negative Fourier coefficients necessary for the calculation of the functional e0 of eq. (13). real array containing the values of the error function a(01) and, if NOFBD = .FALSE., also those of p(O~)’corresponding to the THETA(J) discussed above. According to eq. (7), these values coincide with those of i/IC~(~)I on the unit circle and represent the input of the subprogram function EXFUN. Since in the actual version KSWICH = 2, EXFUN returns here the “weighted errors” IC~(exp (i01)I * ERR(J); this permits ANALYT to check the efficiency of EXFUN. Indeed, according to the theory, the latter values have, up to computational errors, to be equal to 1. the total number of points on the unit circle. If NOFBD = .TRUE., N = NPOINT, but if NOFBD = .FALSE., N = NPOINT + a number of points between ir/2 and n (added in the sub~-
I. Caprini eta!. IA guide to analytic extrapolations
KSWICH
routine ANALYT, as explained above), integer control parameter acting on EXFUN, as explained above; in brief: if KSWICH = 0, the values C~(exp (i01)) are stored in the array CARL —
(J) if KSWICH ~ 0, the values C~(exp (i01)) are multiplied by the already existing CARL(J); putting KSWICH = 2 also causes the subroutine EXFUN to return in the array ERR(J) the “weighted errors” IC~(exp(i0,))I X ERR(J). ER the error level in the accuracy test (see the module EXFUN in part 1, where ER as ERROR). The above description already makes it clear how ANALYT acts: first, it normalizes the error channel to 1 at the last experimental point SO. There, if NOFBD = .FALSE., i.e. if a non-constant function bound FBOUND(S) is supposed to exist, this latter is also normalized to 1 at SO. The normalization constants EPS = ERROR (NPOINT) and BOUND = FBOUND(SO) [corresponding to and M of eqs. (1) and (2)] are returned and printed out (if NOFBD = .TRUE., BOUND as 1). They may then be changed by the user before calling the function EMZERO and EPZERO. In other words, ANALYT computes the function a(0) [and p(0)] of eqs. (1) and (2) at the points exp(i01) on the boundary of the unit v-disk on which the cut s-plane is mapped. By its very definition(see first footnote of section 2) v(s) brings the upper lip of the data cut F1 onto ~ = exp(iO), 0 <0 <7r/2. Hence, if no function bound is assumed (NOFBD = .TRUE.), all the U’s of interest lie between 0 and ir!2 and are the images of the data points SEXP(J), [THETA(J) = THETA1(SEXP(J), SO, Si, S2)]. If, on the contrary, p(0) * 1 (NOFBD = .FALSE.), some equally spaced THETA(J) lying between ir/2 and ii are added to the previous ones, and so their total number N increases from NPOINT to min(50 1, (3NPOINT —2)). Further, in order to compute the corresponding values of FBOUND(S), we have to resort to the function STHI(TH, SO, Si, S2), which is the inverse of the above THETA1 function. The values of a(0) and p(0) are then stored in the array ERR, while the initial (complex) data are stored —
311
in CARL(J); in view of eq. (12), CARL(J) is set to zero for all J’s between NPOINT and N. Now, all the input data for EXFUN are ready and the latter can be called on (using a dummy argument). EXFUN returns via COMMON/PWDR/(KSWICH was set equal to 2!) the weighted data C~(exp(i0i))CARL(I) in the old array CARL, and the “weighted errors” IC~(exp(i0i)I ERR(I) in the array ERR. The fact that the latter have to be closest to 1, enables ANALYT to check the efficiency of the weighting subprogram EXFUN: for LWRITE >4, both the input data and the conformal angles, as well as the deviation from 1 of the “weighted errors”, are printed. Summing up, where ANALYT is left, the situation is as follows: the conformal mapping angles and the corresponding data function weighted by C~(exp(i0)) are stored in the arrays THETA and CARL of COMMON/PWDR/; further, the Taylor coefficients of lfl(Cw(z)) are stored in the internal memory of EXFUN, permitting quick subsequent computations of C~(z)or C’~(z)for every z, when entering CW(Z) or CW1(Z). 3.3. Function subprogram EMZERO(EB, SZERO, KZ) Entry names: EMZERO real type function, EPZERO real type function. Purpose: to direct the computations leading to the solution of either eq. (15) or eq. (16) depending on the entry name called. Arguments: Since they have to be produced by the user’s program, they were already explained in section 3.1. To summarize, EB real and positive variable representing the input (e or M). SZERO complex variable, defining the position of the variable pole/zero (see below). KZ integer (key parameter), being —2, —1, 0, 1 or 2. Procedure: Once the function EMZERO or EPZERO is called, the internal parameter KEY is set equal to 1 or 2, respectively. EB should hold the value of (if EMZERO is called) or that ofM(if EPZERO is called). As already stated, EMZERO may be used either with the old or with new values of e ~ EPS) and M ( BOUND). These latter quantities — —
312
I. Caprini eta!. IA guide to analytic extrapolations
are important for MOEOO (see below), since the ratio e/M defines [see eq. (10)] the second weight C0(~, e/M) which enters [see(12)] the ~(exp(i0)) function, whose coefficients are computed by COEF. Before proceeding to the computation of ~, if KZ * 0, the values of C~(exp(i01))d(exp(i01)), contained in COMMON/PWDR/, are modified as follows: by multiplication with a Blaschke factor Bl.R(exp (iO)) [see(17)] with ~R = ~(Re(szero))if a real pole, located at Re(szem), is sought, i.e. if KZ is set = —1. Further, if KZ is set equal to —2 and (search of a pair 5zero at 5~ero), theof conjugate poles, located data is multiplied by B~ at 0(exp(i0)).B~(exp(i0)) where ~o = ~(5zero). similarly, if KZ = 1 (search of a real zero), or KZ = 2 (search of a pair of conjugate zeros), the data is divided b ‘ Bl’R’ or res r ectivel“ b ‘ B~oBl~o• * The value of ~o = ~(Szero)1S produced upon calling the complex function ZETA1(SZERO, SO, Si, S2). Then M0 or ~ is computed by the subroutine MOEOO, according to the value of the parameter KEY: if EMZERO is called (KEY = 1), eq. (15) is solved and EMZERO = M0(~0)is computed. if EPZERO is called (KEY = 2), eq. (16) is solved and EPZERO e00(~0)iscomputed. Before leaving EMZERO, if KZ was different from zero, the zero/pole built at the beginning of the program is destroyed by dividing/multiplying CARL(J) with B~Ror, respectively, with B~.0B~*. So the initial data are restored and COMMON/PWDR/ is ready for further calls of EMZERO/EPZERO bearing new values of BOUND and EPS. If LWRITE >0, the value of M0 or ~ is printed together with (if KZ *0) the position of the variable pole/zero. —
—
—,
3.6. Complex function EXFUN(Z), with ENTRY CW(Z) and CW1(Z) Z complex variable. These programs have the preparatory action already described in section 3.2. They produce, respectively, the conformal mapping v(s), then they link (both ways) the boundary of the unit disk and the cuts I~+ I’~,and they compute the C~(~) weight and its derivative ~ The two latter functions are quickly calculated for computed every z, once Taylor coefficients In(C~(~)) are andthe stored during the first of call of EXFUN. During the first call of EXFUN the C~-weighted data d~(see eq. (8)) are loaded in COMMON/PWDR2/. 3.7. The subroutine MOEOO(EOO, MO, KEY, NFOUR)
The method The MOEOO subroutine solves eqs. Id e’x 7 = 1
3.7.1.
—
0L
-
3.4. Complex function ZETA1(S, SO, 51, 52) S complex variable, SO, SI, S2 real constants.
3.5. Function THETA1(RS, SO, Si, 52) RS real variable, SO, Sl, S2 real constants.
18
I
‘d
—
The following subprograms have been discussed in part 1.
w’
(15) and (16):
‘M’ / j,y
=
1
19
OL W’~I
Here (respectively M) is the error parameter (or the bound scale factor) entering the Co-weight function. They are supposed to be known [e, for eqs. (3) and (4) and M for eqs. (5) and (6)], while the solutions x andy are the sought-for values forM0 and ~ respectively. Further, d~stands for the data with which MOEOO is presented, contained in COMMON/PWDR2/ and supposed to represent the boundary values of some analytic function on the unit circle, the corresponding angles being contained in the same The uniqueness of the solution of eqs. (18) and (19) rests upon the important remark that while ~ [d~ t] .
.
strictly increases with t = elM, c0 [d~ t] /t is (see appendix A) a strictly decreasing function oft, Hence, the points of intersection of the graphs of ~ [d~ e/x] 7 and e0 [d~ ; y/M] fy with the line z = 1, appear as in figs. 1 and 2, respectively, which considerably simplifies the solving procedure. The program works with either the quantity 0 [d~ e/x] /6, or with the quantity e~[d~ ;y/M] /y, according to the value of the control parameter KEY set by the subprogram EMZERO. The resulting equation is solved
I. Caprini eta!. IA guide to analytic extrapolations ~
_
Fig. 1. Graph of aoEd~e/x]/e.
by the chord * method. To get a first coarse approximation, a logarithmical interpolation is done for ln(e0 [d~ c/x] /e) as a function of ln x and for ln(e0 [d~ ; y/MI /y) as a function of ln y. When a value sufficiently close to 1 has been obtained, a second, finer, linear (not logarithmic) interpolation is performed: more (NFOUR) Fourier coefficients are taken into account, and, on the other hand, the integration intervals (controlled by the parameter GRAD) are finer. The computation stops when a preassigned error value is reached and/or if the value of results are exceedingly large **) (e.g. more than 1010).
3.7.2. Description of the module MOEOO(EOO, MO, KEY, NFOUR) EOO real variable; it represents an input variable (= e) if KEY = 1, or an output variable (~ e~) if KEY = 2. MO real variable; input ( M) if KEY = 2 or output (= M0) if KEY = 1. KEY integer variable, used to solve either the equation = o[d~ e/x] for given , finding in this way M0(e) (KEY = 1), or the equation y eo(d~y/M)for givenM, finding thus e00(M) (KEY = 2). NFOUR the maximum number of Fourier coefficients taken into account in NORM. * No spline functions interpolation methods have been used, since it is very hard to forecast the behaviour of the higher derivatives of these curves. Sometimes they have, indeed, **
a rather corned form. Instead of that, the program makes an extensive use of the already proved monotony property. Following are mvoived, KUhnelt’s the program suggestion emphasizes [7], iiautomatically large values ofM0 the logarithmic interpolation, setting NF = NFOUR. If extremely large values of the arguments are involved, the computation is stopped.
313
Fig. 2. Graph of e
0[d~y/M]/y.
ERROR (cardl48S) determines the precision of the final result; NF is the number of Fourier coefficient taken into account during the coarse interpolation. The MOEOO subprogram calls: the SUBROUTINE COEF that computes the Nth negative frequency Fourier coefficient of the weighted data function d(exp(i0)) defined in eq. (12). the SUBROUTINE COEF that computes the Nth quantity e~[d, e/M] which enters eqs. (18) and (19) using the Fourier coefficients produced by COEF. Quantities in common block: COMMON/PWDR1/LWRITE, GRAD if LWRITE < 0 nothing is printed; if LWRITE> 1 the final result is printed; if LWRITE> 2, and, owing to computing mistakes, the monotony properties of e~are violated, a warning message is printed. if LWRITE > 3 also the intermediate approximations are displayed. GRAD real parameter transmitted to the SUBROUTINE COEF, controlling the fineness of the integration intervals. Internal parameters:
—
—
— — —
—
Subroutine COEF(EML, NC, SUM) Purpose: To compute the Fourier coefficients [of index (—NC)] of the product of some given function d~(ex~iO)) with the outer weight function C0(exp 3.8.
-
(i0), elM) 10, e/M)I defined = 1 by ,
for —a <0
IC0(e I C~(e’°e/M)j
for —ir < ~ < —a
=
e/M,
and a < 0
(20)
314
1. Caprini eta!.
IA
guide to analytic extrapolations
Here a as THETJA(NPT), (see below). The function d~(exp(i0))is supposed to be of real type dw(e16) = d,(e~°)and to vanish identically between a and ir (i.e. on F2); owing to these two last conditions, the integration is performed only between O and a. Both the values of d~(exp(i0j))and the angles Oj (J = 1, NPT) are transmitted to COEF via COMMON/PWDR2/ Arguments: EML real variable transmitting the value of the ratio
Xk
Combining (21) and (22), we get: Xk+1
f
dX Co(eth, e/M) dw(eiO) e~1’~0
Xk
2 J0
xk+
r
w~ Xk J
XJX_IE dX
2
c/M which, along with the end point of F 1 ( a), defines C0(exp(iO), /M); namely EML as (—1/ 2ir) ln(/M). NC integer parameter, equal to minus the index of the Fourier coefficient C_NC, to be computed. SUM real output variable, equals ~ Common blocks:
COMMON/PWDR1 /LWRITE, GRAD COMMON/PWDR2/NPT, THETA(50l), DATA(5O1) LWRITE dummy argument. GRAD real argument (in degrees); if the difference between two subsequent angles exceeds 1.9 XGRAD degrees, this interval is automatically subdivided, NPT number of THETA(J) points where d~ (exp(iOj)) is given, THETA real array containing the angles where d~(exp(i0j))is given, DATA complex array holding the corresponding values of d~(exp(i0j)). Procedure: Since, not only exp(iNCO), but also the function C0(exp(iO), c/Al) has a rapidly varying phase (infinitely rapidly varying at the end point of F1), the conventional Fourier subroutines cannot be used. Indeed, around 0 = a [see eq. (10), which is valid for a = ir/2, as is the case in the present paper] the function C0(exp(iO), c/Al) behaves like exp(—iEML Xln(a—0)) multiplied by a slowly varying part S(0, EML): C0(e’°,c/M) = X_iES(X, E)
,
=
+ 1
Xj~ iE
3.9. Subroutine NORM(NN, C, ERROR, EPSIL) Purpose: It computes the Hermitian norm e~of the Hankel matrix:
Ic_i
c_2 c_3
c_2 C_3 I =
I
.
.
.
.
C_n
0
C_n
0
.
C3
-
.
.
.
c_n 0
~c_nO
.
I
I
-
c_NO
(22)
(23)
—
As in the case of the fX~X”dX of eq. (23), the integrals (24) can be computed explicitly. The importance of subdividing the integration intervals into finer ones (see the explanation of GRAD) is now clear: while nothing can be gained concerning the precision of d~(exp(i0))[whose values are known only for the angles 0 = THETA(I), (I = 1, NPT)], since exp(iNCO), S(X, E) or Co(exp(iO), c/Al) entering the coefficients Wj [appearingin eqs. (22) or (24)] are well known and calculable functions, the over-all precision may be considerably enhanced. This is especially the case when d~(exp(i0))itself is a slowly varying function.
2
e~°S(x,E)d~(e~°)~ EW~X’,
i~).
—
J
‘~
Once the point Xk0 is reached, beyond which the phase of C0 varies more slowly (actually much slower) than that of exp(iNCO), the usual Filon method is used: Cod~rather than exp(iNC0)Sd~,is now approximated by (22)-type parabolas, our integral being here written as weighted sums of the elementary integrals: fe_iNCXxJdx~ (J = 0, 1, 2) . (24)
(21)
where: X = a —0, E as EML as (—i/2sr) ln(e/Al). Reckoning all that, the program approximates the remaining factors of the integrand, in intervals (Xk, Xk+1) around X = 0, by the parabolas:
~
j~
0 .
0
0
JI
(25)
I. Caprini et al. IA guide to analytic extrapolations
by an iteration procedure. The process is terminated when a pre-assigned error level ERROR, is reached. Arguments: Input: NN C
the dimension of the matrix C real array, holding the NN coefficients C_K used to build the matrix ERROR the pre-assigned error level.
c.
Proof: Consider the relative error as (un) X0)/X0 —
Using the definition of~~we get NN—1 2’1] 1/2fl ~ = + i=1 ~ (x1/x0) Let us set S as + (X,/A 0)2fl. Then: —
~ I) =
+ (51/2fl)2fl —ii
and we obtain 2’7] / [1 + 51I2’~+ (5~2~7)2+
NN—i
fln
=
+
(X1/A0)
[ ~ i1 (
5~2fl)2~~—1]
A as ~+ C and taking the traces of the resulting matrices. Indeed, since by construction A is an Hermitian matrix, it can be diagonalized: 1 , (26) Ad =
(32)
-
Output: EPSIL the (approximate) Hermitian norm, COMMON/PWDR1/: LWRITE controls the written output: for LWRITE >5, full output is printed. If LWRITE >3 and the accuracy requirements are not met in the prescribed number of iterations, a warning message is printed. Hermitian of theeigenmatrix CisProcedure: defined as The the square rootnorm of thec~ largest value X~of the Hermitian matrix A as C~C.The algorithm consists of a successive squaring of the matrix
315
-
It is easy to see that S obeys the bounds 1
s~<(NN
—
l)/2” —b- 0
UAU
(33)
-
n —~
where
1x
0
0
Ad
1
0 x1
=
This completes the proof.
f
(27)
.
Assuming Xo strictly greater than the remaining eigenvalues (in fact the subroutine works on this hypothesis), the bound (33) can be substantially We define a quantity * improved. 2~/(TrA2~_1)2 (34) as Tr A After some straightforward algebraic manipulations, can be cast into the form: —
XNN_lj
Hence
Tr ~
=
A~+ A~+
...
+ A~_
1
.
(28)
+
As the trace of a matrix is an invariant under unitary
transformations, the above values of the traces stay true the original matrix too. Thus Tr A for = A 0 + A1 + + ANN_i , (29) ..-
2~= ~ + + + ~ Tr A Further, it can be shown that the quantity V 25’I2’~, 4n) as (Tr A ..
tends to the largest eigenvalue of A here by A0, A0 as when n ~*
4)
-
=
(30) (31)
CC~(denoted
=
1
...
[2x~’(xr—
+
A~i1
1 +
1) +
Q21/(X2n
2n—1 2 + ANN_i)
2
where Q Hence ~
*
is a positive quantity.
2xr~1(xr—1+
...
+
X~~
+1’... +
1)/(X~’
~ is supposed to go to zero as n grows. It is here that the hypothesis X 0 > Xi (i = 1,..., NN — 1) is essential. If Xo = Xi
then ~ etc.
—~
1/2, and if Xo = Xi
=
?~2then ~
-+~~
2/3,
I. Caprini et a!. IA guide to analytic extrapolations
316 =
2xr_i(TrA2hl_i
i~> 2X~~/Tr A2fl~i
—
xri)/(TrA2P~_l)2 ,
Thus a sequence of matrices A, (i = 1, 2, ...) is constructed, by the recurrence relation
—
2(A~~~_i/TrA2t2_l)2
A
An ~‘A~_1/TrA~_1 asA20f/TrA02’~
0 ~A,
n~i
The quantity u as Ar~l/TrA2 is related to the relative error s~ by the obvious relation _~
NN—i
u_i as ~ + ~ (X1/X0)2”’ = (1 + 7mn_1)21(>I). i=i We have thus got the inequality i.~>2u 2u2. The two solutions of the equation ~ = 2u 2u2 are: u 1 = (1 + ‘/1 2~)/2,u2 = (1 ~,/l 2~)/2. 2, u will have To obey the inequality to satisfy either 0 2u 2u 2, or u1
n = 1, 2 Also, we denote
(38) 2/(TrA)2 (39) -
Sp(n)asTrA~_1,n>2 ,
Sp(1)asTrA
—
—
—
With these notations it can be easily checked that
—
Sp(n). the= quantity ~ given by (34) can be expressed as (40) —
—
“.
_
—
The approximate largest eigenvalue given by (31) can be expressed by means of the normalized quantities Sp(n). To this end we shall apply successively the recur-
rence relation (38) starting from the last step: or i
1 Afl=T~2A~_1=2( 2)24_2=...
+~1—2~)]’I~~.
We get the bounds for s~n_i: 0< fln—i < [2/(1
+ ~1
—
2~)]1/2n_i — 1 (35) 7ln can be found from
The equations corresponding bound for the
i 2 ... (Tr A = Tr A~_1(TrAn_2) 0)2n_l ~ If we take the trace of both sides (first and last ones) noticing that Tr An = 1 (for n * 0) by definition
X 0(1
+ fln)
(Tr A2”)iI2~’
=
X0(l ~fln_i)
(38), we2fl_1(TrA~)2’~_2 get ... (TrA~_ 2(TrA~_ (Tr A~) 2) 1) =
(TrA2~~_i)uI2~~_i -
2n
Together with the definition recurrence relation for rj~: of ~, we obtain the I + 17,,
(1 + ti,,_i)(i
—
%~)i/
(36)
2n-
Thus the upper bound for ~,, becomes 0 <‘q,, < [4(1 ~)/(1 + ../i 2~)2]1/2~ I —
Tr the A ~“ approximation as (x(~)) Thus ~n) [see (31)] of the largest
—
—
(37)
eigenvalue A0 has the expression 2 Sp(2)u/22 ... Sp(n)”~. (41) = TrA Sp(l)” The relative error associated with this value is bounded from above by (max)
3.9.1. Programming considerations The program computes the traces of the consecutively squared matrices A = C~C.To avoid working with too large numbers (danger of overflow), renormalization is performed each time, dividing the matrix by its trace. *
Indeed for n
large, ~
—~
—
~)/(1 + ~Ji 2~)2]h/2fl i (42) [with ~ given by (40)]. When n is large, the two terms of the difference (42) are very close to each other. Therefore, to avoid loss of precision by round-off errors, we can use an equivalent form of (42): Denoting —
—
—
0, so that u
2 (because ~n
_
-*
0, while u goes to 1
i ~n--~°~0, as was shown above).
2~ (43)
______
Y as 4(1
—
~)/(1 + s~/1 2~)2 —
yy as yi/
I. Caprini eta!. IA guide to analytic extrapolations
we have the equalities YY 1 = y1/2’~ 1 = (Y —
—
+
—
1)/(1 + ~
+
weighted extrapolation (dispersion integral), the Poisson-weighted the values (at some dispersion given s) of integral, all analytic the centre,of functions
YY~+
yy2’~—i\ ‘-
~‘
The numerator is Y 1 ~2 + ‘1 2z~~ 4 id v ~45) The harmful compensation has thus been done explicitly and we are left with a formula suitable for a computer: 1 —2k)4 (1 2i 2n_1 ~(max)_—4~i(1 ~v / (46) The program works iteratively. When the bound for s~,,given by (46) becomes less than the preassigned error level ERROR, the program terminates and returns the value X~j’)given by (41) in the variable EPSIL. If after 11 iterations (A 1000) the given ERROR level cannot be reached, a message is printed “pathological case” and the program terminates. From the analysis made above, it is clear that such a situation can occur if two or more eigenvalues of the largest modulus are equal. Still, as was shown at the beginning of this description, the X~’)given by (41) offers an approximation to this common value, A relative error bound is given by N/2~[cf. (33)], which is clearly not as good as (46). —
—
—
it
—
+~~+‘~‘~‘
317
~
4. Outlook Part 1 deals with the analytic extrapolation of some data function [DATA(J), given in the points 5exp(~) lying on the cut between S2 and SO] to the interior points of the s-plane, cut along (_oo, Sl) and (S2, °°). Part 2 deals with the computation of the constants M 0 and 00. As explained in section 2, the latter are two important nonlinear functionals [seeeqs. (3)—(6)] which “measure” the “degree of anaiyticity” of the data function we are presented with (see problems B! a/B2a). They could be used as a sensitive detecting device in correlating in a holomorphic way low and high-energy data, in detecting and finding the position of poles (Bib, B2b) and/or zeros (Blc, B2c) of the scattering amplitude or of any meromorphic function. The complex functions (entries): CYEX, PNEX, CAEX, EXMO, EXEOO, EXEX and EXEO defined in section 3 of part i, compute respectively the Cauchy-
compatible with the initial data, the extremal holomorphic function corresponding to M 0, the extremal holomorphic function corresponding to 00, as well as the values of two other extremal extrapolations defined there. Further, the real functions EMZERO or EPZERO defined in part 2, return the values of the functionals M0 and 600 computed for the input data itself (if KZ is set to 0) or, if 1(2 * 0, for the latter Re(SZERO)(ifKZ—l/+l),orbyapairofsuch divided by a Blaschke factor having a pole/zero at factors having poles/zeros located at SZERO and SZERO (if KZ is set —2/+2). As repeatedly stated, in a normal run the user may call only the above functions (entries) together with the subroutine ANALYT. The subroutine ANALYT (SO, Sl, S2, NPOINT, SEXP, DATA, ERROR, FBOUND, NOFBND, EPS, BOUND) has a preparatory mission and has to be called only once, at the beginning of the program (the input variables were underlined; further, no common arguments are to be prepared by the user). The normalization constants EPS and BOUND are returned by ANALYT, but they may be redefined, at will, before using CYEX(S, EPS, BOUND) or the other EXEX entries, or before the subprograms EMZERO(EPS, SZERO, KZ) or EPZERO(BOUND, SZERO, KZ). However, if there is a need to save computer time, the remark 3.1.0 of section 3, part 1, should be observed. The memory requirements might be lowered considerably changing the dimensions (e.g. 501 181 or even less) or, if NFOUR will not exceed 35, by discarding the subroutine PSI. —~
5. Acknowledgements The authors are indebted to D. Atkinson, G. Auberson, A. Martin and N. Queen for reading the manuscript, for the long discussions we had together and for their numerous and valuable suggestions. Extremely precisious were also the suggestions of the early users of this program, G. Atkin, H. Kühnelt, D. Treleani and C. Verzegnassi, who kindly pointed out many shortcomings and made a number of improvements which were all included in the actual form of the program.
I. Caprini et al. IA guide to analytic extrapolations
318
Appendix A
analogy with (A.3), we shall write:
The fact that e0[d, c/x] and (l/y) c0[d, y/M] are (strictly) decreasing functions of x andy, respectively, is of great importance in solving eqs. (18) and (19) (see figs. 1 and 2). Before proceeding to the corresponding proofs, we shall remind the reader that c~ denotes the least deviation of a holomorphic function ~7(~)(analytic in the unit disk), from the (non-analytic!) boundary values ~(e~°;c/ill) asd(e’°)Co(eiO; c/At), (A. I)
~ [d;e”/M’] as inf
1?~e’°) d(eiO ; —
sup
“
—
0<0 <2~
(A.6) A. 1. Proof that o [d, c/M] is strictly decreasing withM Let M < Al”, and let fM(~)bethat holomorphic function which departs least from the weighted data function (A.I). [The function JM actually exists [3] and, moreover (see for instance ref. [5]), the difference fM(exp(iO)) d(exp(iO), c/ill) has constant modulus all over 0 ~Z0 ~ 2ir.] Then, since [see(A.2) and (A.5)] —
where d(exp(iO)) is * the “data function” (i.e. equals the measured amplitude on F1, and is equal to zero, by definition, on r2 but this latter fact is immaterial for the proofs which follow), while C0 is the weight function defined in (10): ICo(eiO; c/ill)I
=
~1, onF1, ~ei~, on F2.
ICoeiO; c/M~)/Co(eiO;c/ill) I
=
(1~
M’
< I ,
onF1, on I’2 (A.7)
(A.2)
we have 10) ~(e’°; e/M)I sup 0 ETM(e Co(eiO; c/ill’) 10 c/M)I 1 t7M(eie) ~(e —
by “deviation” we mean the largest value of theSince modulus of the difference between the two functions of interest [i.e. we use the L~norm, 117— diIL°° = = sup I7~exp(i0)) c~exp(i0),clM)I], c 0[d,
~,[d;/Ii~f]=
—
—
> supl 0
O~0~2ir
IC0(ei0;e/M)I
c/MI is defined by 10) d(eiO; e/M)I 0<0<2ir sup
ei0)IC0~~ c/M’) iO; c/ill’)I , (A.8) Co(ei6;/M) —d(e where the last equality involving d(exp(i0), e/M’) follows from the use of definition (A.4). Now, TM(exp(i0)) Co(exp(iO), c/M’)/Co(exp(iO), c/At) being also the boundary values of an analytic function in the unit disk, the last expression of (A.8) is certainly greater than or at most equal to the infimum: inf sup [7(eiO) ~(e’8,c/M”)I as ~ [d;c/M’] . (A.9) =
—
c~Ed; c/Al] as fE9 inf
sup 0
1?~e
(A.3) the infimum being taken over all functions f(~)analytic in ~I < 1. It is clear that e~assigns a number to every data function d(exp(iO)) (and to every ratio c/At’), i.e. it is a (nonlinear) functional on the (L~) functions defined on the boundary ~ = exp(iO) of the unit disk. In the following we shall be interested in evaluating 0 for different values of the ratio elM; this amounts to working with new weighted data functions, defined by
___________
j
—
0
More exactly, since the function)~‘which realizes the infimum (A.9), is such that )~,‘ ~(exp(i0), c/M’) —
~(eiO; e”/M’) as d(ei0) C
0(e’°;e”/M’), ICo(eiO; c”/M’)I
11 ,
~
,
on on F1 F2
, ,
(A.4)
has constant modulus along all r1 + F2, and since [owingto the similar property of IM combined with
(A.5)
the strict inequality (A.7)] tne last expression of (A.8) does not have this property, i.e.:
instead of those of eqs. (A.i) and (A.2). Then, in *
Actually the weighted data d~,but we shall drop the index w-
c0[d;e/M] ~ co[d;e/M’]
,
forM
(A.iO)
which completes the proofof the monotony of 0 on M.
I. Caprini eta!. IA guide to analytic extrapolations
A.2. Proofthat (1/c) c~[d, c/MI is strictly decreasing with Since 0 depends on M or only through the ratio elM, the previous proof is equivalent to the statement that, for constant M, ~ [d, elM] monotonically increases with c. Nevertheless, as will be proved here, this increase is slow enough, such that (1/c) 0 [d, c/MI is a decreasing quantity. To this end we shall define a problem which is in some respects dual to the initial one, in which the roles of M and are inverted. Define first ~he weight C0by 1C0(e’°;M/e I =
IM/e,
onF1 on F2
I, 1,
(Ail)
,
as well as the weighted data function 2’(e~°; M/e) = d(e’°)~o(eiO; M/). Beside the reversal of the roles of M and c, the unique change made is the inversion of F 1 and F2 (IC0 I equals 1 on F2, rather than on Ti), which amounts to the change of variable 0 -÷0 ir. But the infimum problem is invariant under this translation, so that 1(eiO ; M/e)I inf sup 17~(eiO) d
319
rather than d(exp(iO)). Hence c0[d’; c/M] = co[~!;M/c] -
(A.l6)
Now, since e~has the properties of a distance, we have ~,~ c/A’!] = Ac0 [d; c/MI so that ~,[d’; e/M] as
~
[~
d; c/M]
=
c~[d;c/M]
.
(A. 17)
Eq. (A.16) then reads: M —e0[d;e/M] =0[dM/e]
-
(A.18)
This completes the proof; indeed, since the actual form dof the data function is immaterial for the
proof of the monotony of cO[d’, t] with respect to with increases. other words, tdecreases = M/c, this means that theInright-hand side(Iof/)~ (A.1[d, 8) c/MI is a strictly decreasing function of c, at fixed M.
Appendix B; The two test programs
—
—
=
inf
sup
17”(e~°) d’(e’~°~ M/e)I —
We have looked for applications of physical interest where the analytic continuation should be used jointly with the EMZERO-program. The user might commute the two test-programs between them putting KTEST equal to 1 or 2 (card 1879). B.1. Subprogram RESID
0<6<2ir
as ~ [d;M/c]
where J(eiO) as d(e’(°_~))
,
(A.12) On the other hand, comparing eq. (A.l 1) with eq. (A.2) and remembering that an outer function is, up to a constant phase, completely determined by the boundary values of its modulus, we have ~‘
10M/e) 0(e
~
The first test program, RESID, is a classical cut-tointerior points analytic continuation, but in order to make the use of EMZERO necessary, false error widths were introduced in the data cards. Thus, one has first to guess the real errors: for this purpose one
has to call EPZERO which finds the minimal error width which makes the data compatible with analyticity. (Conversely, if the bound on the remainder of the
C 0(e’°;c/At),
(A.13)
up to a constant phase. Hence (up to a phase) 10 M/c) = ~ d(eiO) Co(eiO; c/Al), (A. 14) ~‘(e so that the left-hand side of (A. 12) is nothing but the usual co for the “data function” d’(e10) as~id(e’°),
(A.1 5)
cuts would have been uncertain, EMZERO should be called in order to find the smallest bound compatible with analyticity.) Of course, with these somewhat weaker assumptions, thehad analytic the optimality it would if the continuation program wereloses fed with correct errors. The subprogram RESID, which is called if KTEST is set to 1, computes the residua of a model amplitude having NP poles, situated at the (known) positions SP(J), J = 1, NP. The computed residua may then .,
320
I. Caprini et al. IA guide to analytic extrapolations
be compared with the actual values they have in the model amplitude. Since such problems occur frequently in elementary particle or nuclear physics, the subprogram RESID has been constructed so that it might readily be used in actual physical problems. For that it has to be fed with the following input information: A) cards containing: (a) the pole’s index 3 (a check parameter) and, (b) the pole’s position SP(J) (a complex number inside the cut plane); One card per pole, in format (II, 2F155). B) A blank card, C) The “experimental” data on the cut. First, (Cl), a card (format 2F 15.5) containing the value of Sl, the end of the left cut, and S2, the beginning of the right cut. Si might be infinite (put Si = 1 ElO), or, if only one cut is present, Si will be, of course, greater than S2. Then, (C2), one card per each experimental point, follow cards containing: (a) the position of the experimental point (the value of the “energy” Sexp), (b) the corresponding (complex) values of the measured, error affected, amplitude D(Sexp), and (c) the expected error width ERROR(Sexp); all together in format (4Fl 5.5). The data cards (C2) do not need to be put in order, since the data reading subroutine DATA rearranges them authomatically, according to the values of 5exp~The lowest value of 5exp has to coincide with the beginning S2 of the right hand cut, otherwise the program stops. Further, all the Sexp(I) must lie on the cut, i.e. S2 ~ Sexp(I); (if there is only one cut, i.e. if S2 < Si, the SexpO) should observe also the condition SexpU) < Si). The program finds itself the rightmost 5exp~which defines the values of SO. Since the amplitude has to be a real analytic function, the D corresponding to the lowest 5exp (i.e. to S2) has to be real; anyhow, in order to avoid possible mistakes, the data reading subroutine sets D(S2) forcibly equal to its real part. D) Finally, add a blank card: indeed, setting ERROR <10_b, a signal is sent to the program, which informs that all the relevant data have already been read. Further inputs: beside the data cards, a function RHO(S) defining the function bound on that part of the cut where the data are lacking, must also be provided. In the present test program, RHO(S) has been ‘
taken to be just the modulus of the model amplitude, AMP(S). Since our amplitude is not analytic (has poles), the information read by the data reading subroutine has first to be processes, before being loaded in ANALYT. This is done by multiplying the data with a product of Blaschke functions BLS(Sexp, SPW), which vanishes just at the poles SP(I) of the model amplitude. The so-modified holomorphic data may now be loaded by ANALYT. Since, as already said, in our case the error widths recorded in the data cards have purposely been falsed by a factor of 10, the value of EPS returned by ANALYT is false and it could be dangerous to use it in the actual extrapolations. In such a situation one would prefer to compute the smallest e still compatible with analyticity (this is done by EPZERO), and then work with an EPSI around (namely a bit larger) this minimal 00 = E00. The correspondingly weighted Cauchy and Poisson extrapolations (both are quick programs), as well as the (time consuming) central analytic continuation, are then performed at all the pole positions SP(I). The latter are now, indeed, regular points. The residua of the amplitude are reconstructed from these extrapolated values by division with the derivative of the Blaschke product. The results printed down should be compared by the reader with the actual residua of the model amplitude, which, in our example, are 5.0 and 2.5. A second extrapolation might be done then by the reader himself with the correct value of EPS (i.e. EPS 1 = EPS/1 0), as well as with the false one (take EPS1 = EPS), in order to evaluate the effect of the correctness of the input information on the quality of the output. Note: As explained in part 1, the error bounds (see the heading “Expected ERRORS” in the output) may be computed only for the Poisson. weighted and the central analytic continuation, not also for the Cauchy weighted one. Further these “expected errors” represent really the actual error bounds only if the information with which the program has been fed is really true (i.e. if the EPS1 entering the weights is really equal or greater then the true width normalization factor). In other words, they lose their meaning if the error-channel is not known and one simply takes EPS1 = 1 .25E00, but they retain their full
I. Caprini eta!. IA guide to analytic extrapolations
321
Table 1 Typical outputs of RESID (at Univac 1108) in various situations; as it stands, the program yields the output (A); CY weighted, PN Poisson weighted, CA Central Analytic weighted extrapolation Positions of the poles of the amplitude
The actual values of the residua
(0) Output when no errors are present (E00 = 0.00063; in fact e~ 0)
(A) With random and analyticity errors, using EPS1 = 1.25E00 (E00
SP(i)
= 8.
SP(2) =
9.
5.000
2.500
=
0.003 26)
4.984 PN = 4.994 CA = 4.958
CY = 5.236
CY = 2.504 PN = 2.501 CA = 2.513
CY = 2.338
CY =
PN = 5.3 14 CA = 5.091
PN = 2.297 CA = 2.392
force for EPS1 = EPS/1O ( the correct value of c) or EPS 1 = EPS( 10). The reader should notice how much larger might be the errors in this latter case compared to that one, where the correct c has been used. In table 1 we list some typical results, obtained: first (0) when “no errors at all’ were present (the program has been run once with error free data, but some analyticity errors were of course introduced by the discreteness of the data points, etc.; nevertheless, do notice the very low value of the corresponding —
then, with error affected data: (A) for EPS1 = l.25EO0, (B) for EPS1 = EPS/iO (the correct e), (C) for EPS1 = EPS (the false EPS). The errors contamed in the data recorded in the cards (see below the subroutine CPUNCH) were produced by the subroutine ERRORS, which mixes in a controllable way (in our case, half-to-half) random errors with systematic, non-analytic ones, as one wifi have if one neglects, as customary in nuclear physics, poles with very small residua. —
B.2. Subprogram CPUNCH In order to help the reader to experiment with his own model amplitudes, a card punching facility has alse been provided. Setting KTEST = 0, CPUNCH is called, and the subroutine CARDS jointly with the model amplitude AMP(S), the model error channel subroutine ERRORS and a random number subroutine
Cauchy
(B) With the same errors, correctly declared: EPS1 = true e = (false e)/10 (= EPS/lO) = 0.00998
(C) With the same errors, but falsely declared: EPS1 = false e = ( EPS) = 0.0998
CY = 4.96 1 PN = 5.13 1
CY =
1.60
PN = 2.56 (±9.8)
(±2.2)
CA = 4.816 (±0.83)
CA = 2.01 (±6.7)
CY = 2.450 PN = 2.349 (±0.83) CA = 2.497 (±0.43)
CY = 4.07 PN = 3.29 (±5.0) CA = 3.64 (±3.7)
RND, punches cards in the format read by the data reading subroutine of RESID. A small percentage (PERCNT = 10) of the data points are equally spaced, but, in order to match as much as possible real physical situations, the rest of them are spaced according to the speed with which the model amplitude varies (i.e. more points are placed there where the model amplitude varies quickly). As it stands, the punched errors were purposely (see above) falsified by a factor FALSE = 10. This is to be cured by setting FALSE = 1. If one would like to have data without errors, simply set KEY = 0. B 3 Subprogram PHASE The second test program PHASE is called if KTEST = 2. This program performs a special kind of cut-to-cut continuation, which is outside the scope of ANALY1’; indeed, the latter has been constructed merely for cut-to-interior points extrapolations. Namely, PHASE constructs an analytic function J(z) which approximates as well as possible the (errpr affected) data d(z) on parts (F1) of the cuts 1’, while fulfilling a modulus condition on the remainder, F2, of the cut F lfls)
—
d(s)I~1~ ce(s) on r1
with
-÷least(
eoo);
I. Caprini et al. IA guide to analytic extrapolations
322 =
low all the kinks of the data, which, of course, contain also errors. It is hence to be expected that the
cs(s),
on F2
=
F \ F1
.
.
(d(z), e(z) and 0(z) are given on F1 and F2, respectively). This sort of problems appears often in phase shift analyses: while both the real and the imaginary parts (Le. the complex d(z)) are (approximatively) known at low energies, at higher energies only the modulus (the square root of the differential cross sectionç called SIGMA in our program) is known. The problem is now to find Refls) and Imfls) also on F2. If phase shift ambiguities are present on Ti, there will be some more choices of the function d(s). EPZERO could be then successfully used, in order to distinguish among “good” (that d(s) which really corresponds to an analytic .fls)), and the “bad” choices. Indeed, “false” d(s)’s would lead to rather large minimal error widths e = ~ [d] “still compatible with analyticity” (large c00’s). The test program PHASE uses a model amplitudes FUNC(S) to produce data on F1. The errors are then introduced by means of a random number subroutine, RND. The cuts of FUNC extend from 0 to A = 5 (hence, since only one cut is present, S2 < Sl; S2 = 0, Si = A), while the “data” is given oiily between S2 = O and SO = 2 (asFi). The model amplitude has a resonance in the uniu~ownpart of the cuts, F2, where only its modulus, a = ~fl, is known. Indeed, as it stands FUNC has a second Riemann sheet pair of poles, placed at B ±iC, with B = 3, C = I. Of course, the reader might write for himself any other model-amplitudes; since all the data are produced internally, no data cards are needed. After “the data” have been loaded in ANALYT (the “function bound” being defined by a(z)), EPZERO is called in order to find the least errorchannel width (EO0) compatible with analyticity. Then f(z) is constructed by means of the special function EXEX(S, EPS, BOUND), which has the interesting property of saturating both the boundnes conditions (i.e. satisfying the modulus equality lt~S)Ir2= a(s)) and the error channel one, defined by EPS. Various extrapolations are done, beginning with EPS = EOO and continuing with some multiples EPS = R ** LL * EOO of the latter. Remark: If EPS is set equal to EOO, EXEX forces the analytic function constructed in this way to fol-
best results will be obtained not for LL = 0, but for some EPS a bit larger than E0O itself. To facilitate the judgement of the quality of the results, the (exact) model amplitude, as well as the constructed analytic functions are printed both in the data region I”~(where, of course, the deviations are small, of the order of EPS = R ** LL * EOO), as well as on the “unknown” part F2. (Some points arround S = S0, where the numerical stability of the program is weaker, were omitted.) In order to allow a quick check of the extrapolation, the program prints down also the relative mean error (on F2) of the amplitude as well as that of its modulus. Further, in order to prove how much EXEX might be better than other analytic continuation procedures, for some values of EPS, also CYEX(S, EPS, BOUND) has been called. (To call CYEX simply set the control parameter KEY = 1.) One should remember that the conventional dispersion relation corresponds to a totally unweighted Cuachy integral, Le. to CYEX computed EPS = BOUND = I (and with NOSGM = .TRUE., i.e. without the a-bound). Caution: it may happen that the value of E0O returned by EPZERO is slightly smaller (interpolation errors!) than that of the actual 00, but a warning statement is printed down by EXEX if one tries to use EXEX (or CAEX) with such an EPS smaller than the true COO. Indeed, in this case the moduli of the last PSI-coefficients will exceed 1, which infringes the correctness of the Blaschke recurrence. We have purposely chosen our test-function among many others such that this should actually happen, at UNIVAC 1108 (it is not at all a miracle that this does not happen when “the same” example is worked on IBM: in contradistinction with RESID where the data “were frosen” on cards, the “random” errors added to the data by RND are different for different cornputers. Of course, also the interpolation errors in the computation of EO0 might differ a bit, but this is a lesser effect, as one can see experiencing with RESID). Coming back to our question, it is of course natural that the prediction gotten with such a “false EPS” (less than the real coo) should be weaker than those obtained with slightly larger EPS’s. The user will notice (see also the above remark) that the
I. Caprini eta!. IA guide to analytic extrapolations
best results in our case are obtained for LL = 2, i.e. for EPS = 1 .58E0O. B.4. lIme consumption Playing with EXEX (or with CAEX, as in the first test program), the reader will notice that besides the calls of EMZERO/EPZERO, the only time consuming parts of the program correspond, as explained in remark 3.1.0 of part 1, to the first calls of EXEX/ CAEX for a new value of EPS. (Since the writing control parameter LWRITE has been set equal to 2, the reader could easely watch when ANALYT computes a new set of PSI coefficients.) All subsequent calls of EXEX/CAEX, for different values of s but the same pair of values (EPS, BOUND), consume considerably less time than the first one. We list here some typical run times, as one gets with IBM-370/3033 and with UNIVAC 1108: Compilation time: IBM: 13.4 s/UNIVAC: 35 s; the initial call of ANALYT (together with EXFUN): 4 s/35 s; a call of EPZERO or EMZERO: ii s/91 5; CYEX or PNEX: 0.18 sf1.5 s, per extrapolated point; the first call of CAEX or of EXEX: 75 sf635 s; the subsequent calls of CAEX or EXEX (for the same pair of values (EPS, BOUND), but for different extrapolation points s): 0.2 sf1.6 s, per point. As they stand, the first test program (RESID) needs 98 sf820 s, while the second one, PHASE, consumes 288 sf2398 s, if the extrapolations are done for all three different values of EPS (for a single set of extrapolations it needs 81 sf675 s)). The times needed in dealing with actual physical
323
problems are, of course, much shorter, since in both test programs, PHASE and RESID, the same extrapolation has been repeated several times in order to make comparisons possible. B.5. Computer compatibility This version has been run on an IBM computer (or, changing only the control cards, on an UNIVAC). For CDC computers, all the comment cards bearing CDC in the fields 1—3 have to be activated, while the subsequent IBM-specific card has to be inactivated, as explained in the comments at the beginning of the ANALYT deck.
References Martin, Scattering theory, unitarity, analyticity and crossing, Lecture Notes in Physics (Springer Verlag, Berlin, Heidelberg, New York, 1969) vol. 3. (2] A. Martin, ibid.; G. Auberson and N.N. Khun, Phys. Rev. D6 (1972) 2953; G. Mahoux, S.M. Roy and G. Wanders, Nuclear Phys. 70B (1974) 297; G. Auberson and L. Epele, Nuovo Ciniento 25A (1975) [1]
A.
453; (31 S. Ciulli and G. Nenciu, NuovoCimento 8 (1972) 735. [4] I. Caprini, S. Ciulli, C. Pomponiu and I. Sabba Stefl(nescu, Phys. Rev. D5 (1972) 1658. [5] S. Ciulli, C. Pomponiu and I. Sabba Stef~nescu,Phys. Rep. 17C (1975) 133. (6] S. Ciulli and G. Nenciu, J. Math. Phys. 14 (1973) 1675. [7] H. KOhnelt,
private communication.
I. Caprini et al. IA guide to analytic extrapolations
324
TEST RUN OUTPUT
TEST1 1
1
+ RESIDUUM, THE FIRST TEST PROGRAM + A CUT—TO—INTERIOR POINTS EXTRAPOLATION PROBLEM THE PROGRAM COMPUTES THE RESIDUA OF A MODEL AMPLITUDE HAVING NP POLES, BY MEANS OF OPTIMAL WEIGHTED CAUCHY, POISSON, AND CENTRAL ANALYTIC CONTINUATIONS.
THERE ARE NP=2 POLES SITUATED AT f~4ff~SP(1>
8.00000
.00000
4~+++++ SP(2) =
9.00000
.00000
S1~
.0000
S2=
10.00
SEXF’=
S0
RE(D)=
30.00
IM(D)=
N-
51
ERROR=
1 2
10,000 10.004
2.4878 2.4793
.00000 —. 15233
.25000 .25005
49 50 51
25,235 26,000 30.000
.29173 .27932 .22846
—1.0102 —1.0036 —.97580
.10474 .10377 .99820—01
CARLEMAN’S GHOST HAS BEEN CALLED! WITHIN 50 FOURIER COEFF. THE ACCURACY OF THE L2 NORM IS .561—03 WHILE THE REQUIRED ERROR WAS CARLEMAN’S GHOST DID HIS NASTY JOB, THE RELATiVE UNIFORM ERROR BEING .000292
.500—01
THE FACTORS WHICH MULTIPLY THE NORMALIZED ERROR—CORRIDOR AND OF THE NORMALIZED FUNCTION BOUND. ARE, RESPECTIVELY, EPS= .99820—01 AND BOUND. .99824
THE SUBROUTINE MOEOO IS COMPUTING E00
HAVING N .99824 AS INPUT, AFTER A NUMBER OF 6 (FINE> ITTERATIONS, EFSILONZERO HAVING BEEN COMPUTED WITH A RELATIVE IMPRECISION OF .318—01) THE VALUE OF EOO IS ,33636-02~ WITH AN APPROX. RELATIVE ERROR OF .288-01, WHILE THE FINAL VALUE FOR E00 ONE GETS BY EXTRAPOLATION. 151 EOO~ .32668—02 +++++++++++++++++++++++ THE CALCULATED VALUE OF E00 IS EQUAL TO .32668—02 EPS
.998-01
EOO—
.327-02
CAEX IS NOW COMPUTED WITH EPSNEW — WHILE EPSZERO .3924—02 EPS—
TABLE OF THE PS(K,J)’S .0266 .0393 —.0717
-.0020 —.0317 —.1271
—.0634 -.0590 .0642
-.0481 .0236 .1454
-.3858
.5308
-.2756
-.3582
.6236
—.4737
—.7752
.0000
.0000
— .2290
EPSI— .4083—02 .4083—02
.408—02
POUND
CORRESPONDINO TO A BOUNDNEW — AND BOUND —
.998 .9962+00 .9982+00
(COMPUTED BY PSITGR). .0082 .0476 —.0829
-.0030 -.0399 —.0997
—.0489 -.0591 .1672
-.0421 .0188 —.0180
-.0290 .0058 —.2571
-.0730 —.0804 .4419
-.0810 -.0438 —.3S71
.0004 .0248 —.0894
325
I. Caprini eta!. IA guide to analytic extrapolations WITH WEIGHTS CORRESPONDING TO EPS— .408—02, BOUND= .998 1 THE YIELD OF THE CAUCHY —WEIGHTED CONTINUATION FOR THE RESIDUUM OF THE SP(1) 8.00 .000 POLE ISI
OCY =
5.236
.9603—08 EXPECTED ERROR
WITH WEIGHTS CORRESPONDING TO EPS— .408—02, BOUND. .998 1 THE YIELD OF THE POISSON —WEIGHTED CONTINUATION FOR THE RESIDUUM OF THE SP(1)= 8.00 .000 POLE IS
WITH WEIGHTS CORRESPONDING TO EPS— .408—02, BOUND= .998 I THE YIELD OF THE C.ANALYT —WEIGHTED CONTINUATION FOR THE RESIDUUM OF THE SP(1)— 8.00 .000 POLE 151
OPN
GCA —
WITH WEIGHTS CORRESPONDING TO EPS— .408—02. BOUND— .998 1 THE YIELD OF THE CAUCHY —WEIGHTED CONTINUATION FOR THE RESIDUUM OF THE SP(2) 9.00 .000 POLE 1S
GCY —
5.314
5,091
2.338
7?
.9747—08 EXPECTED ERRORS
1.22
EXPECTED ERRORS
.311
.9337—08
.1310—07 EXPECTED ERRORS 7?
WITH WEIGHTS CORRESPONDING TO EPS— • 408—02, BOUND— .998 1 THE YIELD OF THE POISSON —WEIGHTED CONTINUATION FOR THE RESIDUUM OF THE SP(2> 9.00 .000 POLE 181
WITH WEIGHTS CORRESPONDING TO EPS— • 408—02. BOUND— .996 S THE YIELD OF THE C.ANALYT —WEIGHTED CONTINUATION FOR THE RESIDUUM OF THE SPC2) 9.00 .000 POLE IGI
GPN —
OCA —
2.297
2.362
.1287—07 EXPECT~ ERROR:
.1340—07 EXPECTED ERROR:
TEST
+++
THE
2
2—TN CASE:
)
+ PHASE. THE SECOND TEST PROGRAM + A CUT — TO — CUT EXTRAPOLATION OCCURIHG IN PHASE SHIFTS PROBLEMS. CONSTRUCTION OF AN ANALYTIC FUNCTION USING APPROXIMATIVE DATAON A PART OF THE CUTS. AND SUPPOSING THAT ITS MODULUS IS A KNOWN FUNCTION GIVEN ON THE REMAINDER OF THE CUT
EXTRAPOLATIONS WITH EPS= 1.26*6< 2>*E00=
THE FOLLOWING RESULTS ARE OBTAINED WITH +++ 8—
POINTS INSIDE THE
8
5—
5.059 5.050 • 1078—01 .2131—02
.1356-05 .5300-02
MODULUS MODULUS— ERR MOD REL ERR
5.059 5.050 • 9384—02 • 1855—02
EXACT FUNCTION— EXTRAP FUNCTION— ADS ERROR— REL ERROR—
5.687 5.643 .5549—01 • 9740—02
.3412 .3756
MODULUS= MODULUS= ERR MOD— REL ERR-
5.697 5.656 .4130—01 • 7249-02
.400 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
6.230 6.182 • 6080—01 • 9699-02
.7449 .7820
MODULUS— MODULUS— ERR MOD— REL ERR—
6.275 6.231 • 4328~O1 • 6897-02
6.767 6.719 .6050-01 .8797—02
1.227 1.263
MODULUS— MODULUS— ERR MOD— REL ERR
6.877 6.836 .4102-01 .5965—02
EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR REL ERROR—
7.310 7.262 .5959-01 • 7913—02
1.807 1.843
MODULUSMODULUS— ERR SlOG— REL ERR—
7,530 7.492 .3799—01 • 5045—02
1.000 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
7.859 7.811 .6187—01 • 7499—02
2.513 2.552
MODULUS— MODULUS— ERR MOD— REL ERR—
8.251 8.217 .3416—01 • 4 140—02
• 200
• 600
EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR— 8-
5
DATA REGION—CUT:
• 000
EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR— 8.
.23436—01
E X E X
• 800
.453
.157
I. Caprini et al. IA guide to analytic extrapolations
326 8-
S
S
8
S
1,20 EXACT FUNCTION— EXTRAP FUNCTION— ADS ERROR— REL ERROR—
8.405 8.366 • 5795—01 .6398—02
3.379 3.421
MODULUS— MODULUSERR MOD— REL ERR—
9.059 9.038 • 2049-01 • 2262—02
1.40 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
8,925 8.890 .5267—01 .5282—02
4.448 4.487
MODULUS— MODULUS— ERR MOl’— REL ERR—
9.972 9.959 • 1336—01 • 1339—02
1.60 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
9.374 9.352 • 4663—01 • 4236—02
5.774 5.815
MODULUS— MODULUS— ERR MOD— REL ERR—
11.01 11.01 — .2854—02 • 2592—03
1.80 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
9.669 9.654 .2371—01 • 1946—02
7.416 7.434
MODULUS— MODULUS— ERR MOD— REL ERR—
12.19 12,18 • 1058—02 • 8678-04
9.425 —21.36
MODULUS— MODULUS— ERR MOD— REL ERR—
2.00 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
+++ S
5—
5—
S—
S
S
S
S
5—
9.671 —2.194 32.99 2.443
13.50 21.47 —7.971 .5902
EXTRAPOLATIONS TO (CUT—)POINTS OUTSIDE THE DATA REGIOHI 2.60 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
5.436 5.403 • 7882 .4440—01
16.90 16.11
MODULUS— MODULUS— ERR MOD— REL ERR—
17.75 16.99 .7587 .4274—01
2.90 EXACT FUNCTION— EXTRAF FUNCTION— ABS ERROR— REL ERROR—
—.2098 —1,234 1.106 .5837—01
18.94 19.36
MODULUS— MODULUS— ERR MOD— REL ERR—
18.94 19.40 —.4544 • 2399—01
3.20 EXACT FUNCTION— EXTRAF FUNCTION— ABS ERROR— EEL ERROR—
—6.358 —6.257 • 2898 • 1564-01
17.40 17,13
MODULUS— MODULUS— ERR MOD— REL ERR—
18.52 18,23 • 2898 • 1564—01
3.50 EXACT FUNCTION= EXTRAF FUNCTION— ABS ERROR— REL ERROR—
—10.24 —10.87 .7839 .4694—01
13.19 12.73
MODULUSMOEIULUS ERR MOE’REL ERR-
16.70 16,73 —.3317-01 • 1986—02
3.80 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
-11.38 —11.53 .2002 • 1395—01
8.735 8.865
MODULUS— MODULUS— ERR MOD— EEL ERR—
14.34 14.54 —.1999 .1394-01
4,10 EXACT FUNCTION— EXTRAF FUNCTION— AES ERROR EEL ERROR—
—10.88 —10,68 .3268 .2705—01
5.245 4.985
MODULUS— MODULUS— ERR M00 REL ERR—
12.08 11.79 • 2900 .2401—01
4.40 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— REL ERROR—
—9.718 —9.725 .3800 .3757—01
2.802 2.422
MODULUS— MODULUS— ERR MOB— REL ERR—
10.11 10,02 .9233—01 .9129—02
4.70 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERROR— EEL ERROR—
-8.339 —8.329 • 2845 .3380—01
1.139 .8544
MODULUS— MODULUS— ERR MOD— REL ERR—
8,416 8.372 • 4372—01 .5195—02
5.00 EXACT FUNCTION— EXTRAP FUNCTION— ABS ERRORREL ERROR—
—6.722 —6.556 • 1658 .2467—01
MODULUS— MODULUS— ERR MOD— REL ERR—
6.722 6.556 .1658 .2467—01
.2012—05 —.2858—02
LL
2
EXEX:
THE AVERAGE REL.ERROR OF THE EXTRAPOLATED FUNCTION (FOR EPS— .2344—01) IS
—
.3340—01
LL
2
EXEX
THE AVERAGE REL.ERROR OF THE EXTRAPOLATED
—
.1792—01
MODULI
(FOR EPS— .2344—01) IS