Promotoren. Prof. Dr. Annie Cuyt. Prof. .... I am very grateful to my advisors, Annie Cuyt and Brigitte Verdonk for their ever ...... κA = κA(x) = lim εâ0 sup. â³x x â¤Îµ.
Faculteit Wetenschappen Departement Wiskunde-Informatica
Practical Rational Interpolation of Exact and Inexact Data Theory and Algorithms
Proefschrift voorgelegd tot het behalen van de graad van Doctor in de Wetenschappen aan de Universiteit Antwerpen, te verdedigen door Oliver SALAZAR CELIS
Promotoren Prof. Dr. Annie Cuyt Prof. Dr. Brigitte Verdonk
Antwerpen, 2008
Contents Nederlandstalige samenvatting
v
Acknowledgments
I
ix
Univariate Rational Interpolation
1 Classical rational interpolation 1.1 Problem statement . . . . . . . . . 1.2 Unattainability . . . . . . . . . . . 1.3 Non-normality and block structure 1.4 Discussion . . . . . . . . . . . . . . 2 Barycentric representation 2.1 Classical rational interpolation . . 2.2 Unattainability and non-normality 2.3 Pole free rational interpolation . . 2.4 Numerical stability . . . . . . . . . 2.5 Conclusion . . . . . . . . . . . . .
. . . .
1 . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
5 5 6 7 13
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
15 15 18 19 20 29
3 Interpolating continued fractions 3.1 Thiele continued fractions . . . . . . . . 3.2 Werner’s algorithm . . . . . . . . . . . . 3.3 Unattainability . . . . . . . . . . . . . . 3.4 Non-normality . . . . . . . . . . . . . . 3.5 Practical aspects and numerical stability
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
31 31 36 38 38 43
. . . . .
47 47 48 49 52 54
. . . . .
. . . . .
4 Asymptotic behavior 4.1 Interpolation at infinity . . . . . . . . . . . 4.2 Unattainability and non-normality . . . . . 4.3 Modification of Werner’s algorithm . . . . . 4.4 Connection with Thiele continued fractions 4.5 Illustrations . . . . . . . . . . . . . . . . . . iii
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
iv
Contents
5 Related algorithms 57 5.1 Staircase G-fractions . . . . . . . . . . . . . . . . . . . . . . . 57 5.2 Parameterizations . . . . . . . . . . . . . . . . . . . . . . . . 60
II
Multivariate Rational Approximation
69
6 Rational interpolation of vertical segments 6.1 Problem statement . . . . . . . . . . . . . . . . . . . 6.2 Linearization . . . . . . . . . . . . . . . . . . . . . . 6.3 Solution of the existence and representation problem 6.4 Algorithmic aspects . . . . . . . . . . . . . . . . . . 6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
73 73 75 78 83 85
7 Benchmarks 7.1 A univariate problem . . . . . 7.2 Bivariate problems . . . . . . 7.3 Higher dimensional problems 7.4 Guidelines . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
87 87 89 91 94
8 Case study: multidimensional recursive filters 8.1 Multidimensional recursive systems . . . . . . . 8.2 Rational interpolation of uncertainty intervals . 8.3 Design of stable IIR filters . . . . . . . . . . . . 8.4 Guaranteeing stability in the tolerance scheme 8.5 Conclusion . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
97 97 100 103 106 110
9 Conclusions and further research 9.1 Conclusions . . . . . . . . . . . . 9.1.1 Conclusions of Part I . . . 9.1.2 Conclusions of Part II . . 9.2 Further research . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
111 111 111 112 113
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
Appendix A Software 115 A.1 Univariate rational interpolation . . . . . . . . . . . . . . . . 115 A.2 Rational interpolation of vertical segments . . . . . . . . . . . 118 A.2.1 Enumerating over Nd . . . . . . . . . . . . . . . . . . . 122 Appendix B Filter Coefficients 129 B.1 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Nederlandstalige samenvatting Het centrale thema van deze thesis is rationale interpolatie van exacte en inexacte data. In het eerste deel wordt de numerieke implementatie van univariate rationale interpolatie met asymptotische informatie beschouwd. Een oneindige waarde wordt dus zowel in de onafhankelijke variabele als in de functiewaarde toegestaan. Alhoewel de theoretische aspecten van dit probleem reeds grondig bestudeerd zijn in de literatuur is er in de huidige wetenschappelijke rekenomgevingen geen robuuste numerieke implementatie beschikbaar die ook toelaat om asymptoten (zowel verticaal, schuin als horizontaal) op te leggen. In hoofdstuk 1 wordt het probleem van rationale interpolatie in ´e´en veranderlijke ge¨ıntroduceerd, waarbij ook oneindige functiewaarden worden beschouwd, maar zonder rekening te houden met het punt op oneindig, dat in hoofdstuk 4 wordt toegevoegd. Dit eerste hoofdstuk geeft inzicht in de mogelijke ontaarde gevallen die kunnen optreden. De numerieke eigenschappen van algoritmes voor de berekening van interpolerende rationale functies hangen ondermeer af van de gebruikte voorstelling voor de rationale functie. In hoofdstuk 2 wordt een specifieke voorstelling bekeken: de barycentrische vorm. De barycentrische vorm bezit een merkwaardige eigenschap die haar bijzonder aantrekkelijk maakt voor een numerieke implementatie, namelijk exacte interpolatie zelfs wanneer de berekeningen onderhevig zijn aan afrondingsfouten. We tonen echter aan dat de numerieke evaluatie van de barycentrische vorm buiten het interpolatieinterval zeer onnauwkeurig kan zijn, te wijten aan catastrofale cancellation. Deze vorm is dus numeriek niet geschikt voor interpolatie op oneindig. In hoofdstuk 3 stappen we daarom over naar een andere representatie, namelijk interpolerende kettingbreuken. Eerst wordt de constructie van Thiele kettingbreuken ge¨ıntroduceerd, die de basis vormt voor het meer geavanceerde algoritme van Werner. Bij toepassing van een pivotering strategie is reeds aangetoond dat dit algoritme achterwaarts stabiel is. Daarom is het een geschikt algoritme voor een numerieke implementatie. Met deze pivotev
vi
Nederlandstalige samenvatting
ring kunnen ook eenvoudig oneindige functiewaarden (verticale asymptoten of polen) toegelaten worden. In zijn oorspronkelijke vorm wordt een interpolatievoorwaarde op oneindig echter niet ondersteund. Het algoritme van Werner construeert een veralgemeende vorm van Thiele kettingbreuken. We bekijken ook de structuur van deze kettingbreuken van dichterbij. Vervolgens voegen we in hoofdstuk 4 de interpolatievoorwaarde op oneindig toe. Eerst geven we een voorwaarde die ons in staat stelt om te detecteren wanneer de interpolatievoorwaarde op oneindig niet vervuld kan worden als de interpolatiepunten zodanig geordend zijn dat de eindige data eerst en het punt op oneindig laatst is. Dan tonen we aan hoe voor deze ordening van de data het algoritme van Werner aangepast kan worden met de interpolatie voorwaarde op oneindig. Ter illustratie worden ook enkele voorbeelden gegeven. In hoofdstuk 5 tenslotte, bekijken we nog andere algoritmes die meer of minder gerelateerd zijn aan het algoritme van Werner. De kracht van deze technieken komt echter meer tot uiting in een symbolische dan in een numerieke rekenomgeving. In het tweede deel van deze thesis laten we asymptotische informatie achterwege, maar wordt de probleemstelling van het eerste deel sterk veralgemeend door zowel meerdere veranderlijken te beschouwen als ook onzekerheid in de functiewaarden toe te laten. In praktische applicaties zijn data uit metingen immers zelden exact. De conventionele manier om een rationale functie te vinden die data met onzekerheid benadert is door middel van een rationale kleinste-kwadraten (RLSQ) benadering. In hoofdstuk 6 wordt eerst de probleemstelling geformuleerd, meteen voor meerdere veranderlijken. We veronderstellen dat de onzekerheid in de onafhankelijke veranderlijken verwaarloosbaar is en dat voor elke observatie een onzekerheidsinterval kan gegeven worden dat de (onbekende) exacte waarde bevat. Om zulke data te benaderen gaan we op zoek naar rationale functies die al deze intervallen snijden. Vervolgens tonen we aan dat dit probleem kan geformuleerd worden als een kwadratisch programmeerprobleem (QP) waarvan de objectieve functie strict convex is. Indien het QP probleem een oplossing heeft, levert deze oplossing een unieke rationale functie op die alle onzekerheidsintervallen snijdt en die ook nog enkele bijkomende eigenschappen heeft. In vergelijking met een RLSQ benadering, dat inherent een niet-lineair optimalisatieprobleem is met een groot aantal lokale minima, is de QP formulatie aantrekkelijk. Om inzicht te krijgen in de mogelijkheden van de techniek zoals beschreven in hoofdstuk 6, wordt deze nieuwe methode in hoofdstuk 7 toegepast op ver-
Nederlandstalige samenvatting
vii
scheidene testproblemen. De verkregen resultaten illustreren de kracht van de nieuwe techniek en tonen aan dat de methode zeer goed schaalt naar hogere dimensies. Tot slot is hoofdstuk 8 een practische gevalstudie, waar het ontwerp van multidimensionale recursieve filters wordt beschouwd. Deze technologie wordt veelvuldig gebruikt in verscheidene domeinen, zoals beeldverwerking, video signaalfiltering, tomografie en verschillende rooster-gebaseerde methoden in wetenschappelijk rekenen. We tonen aan dat de herformulering van het probleem aan de hand van onzekerheidsintervallen veel van de klassieke nadelen overkomt. Hoofdstuk 9 besluit en indiceert mogelijkheden voor verder onderzoek.
Acknowledgments “ It is, at the end of the day, the individual moments of restlessness, of bleakness, of strong persuasions and maddened enthusiasms, that inform one’s life, change the nature and direction of one’s work, and give final meaning and color to one’s loves and friendships. ” I am very grateful to my advisors, Annie Cuyt and Brigitte Verdonk for their ever patient guidance during these four years. Annie’s insightful comments and her never ending source of ideas have always contributed in countless ways. Brigitte helped me tremendously to shape my, at times overly enthusiastic or unduly pessimistic, ideas. Above all, their kind encouragements gave me the necessary strength to complete this work. Special thanks go to Guido Smits (Dow Benelux), Katya Vladislavleva and Joris Van Deun for their interest in and useful comments on my work. I am also very happy to have been surrounded by my dear fellow colleagues from CANT and ECT. I owe much of what I have become to my courageous mother. Besides an indefinite number of virtues, she has learned me by example how optimism and a strong belief of hope can make the best out of any situation. I am also very grateful for the continuous support and concern over my wellbeing from my father, Bernadette and my dear sister Astrid. In addition, I will never forget the love and friendship of the family Van Coillie. Finally a warm thank you goes to my friends, among who I want to mention specifically (in lexicographical preference) Benjamin, Caroline, Fons, Katleen and Roeland for their friendship and support in a world that is more often not so rational.
July 2008. ix
Part I
A Practical Algorithm for Univariate Rational Interpolation with Asymptotic Information
1
Introduction In this first part the numerical implementation of univariate rational interpolation with asymptotic information is considered.
Motivation The classical problem of univariate rational interpolation dates back as far as Cauchy (1821) and Jacobi (1846) and has been studied by many authors [Sta87, AA86, Ant88, Cla78a, Wuy74, Mei70, CW88]. For a more historical and complete survey, see for example [Mei70, BGM96] and the references cited therein. Due to its long history, the many theoretical aspects of the problem itself are well understood [Gut89]. Nevertheless it is striking to notice that hardly any standard numerical library or scientific computing environment offers a robust implementation for rational interpolation. Even if an implementation is available, it may fail for some degenerate inputs without warning or requires to be restarted with a different ordering of the points. Also asymptotes, either vertical, horizontal or oblique, which are one of the main reasons to use rational functions are hardly ever supported. Due to such lack of support, users often rely on an ad hoc implementation, which is rarely the best choice. In this first part we focus on the numerical implementation of univariate rational interpolation. Since the theoretical aspects are well-known and fully unraveled in the literature, it is only natural to consider existing techniques and implementations. We have carefully selected some techniques and representations with special attention for their numerical properties. During this process it has always been the intention to keep the support for asymptotic information in mind if this was not included yet. The standard descriptions and most of the practical approaches do not discuss asymptotes.
Overview In Chapter 1, we start by introducing univariate rational interpolation. Some well-known theoretical results are given, allowing infinite function val3
4
Introduction
ues, but excluding the point at infinity, which is added in Chapter 4. Such a treatment is crucial for understanding the different aspects and possible degeneracies that are connected with the classical rational interpolation problem. Except for the straightforward method, no algorithm is given. In Chapter 2 a specific representation for interpolating rational functions is considered: the barycentric form. The barycentric form has a remarkable property which makes it attractive for numerical implementation, namely exact interpolation even in the presence of rounding errors. We review how classical rational interpolation fits into this representation and also present some other common uses of the barycentric formula. Then the numerical stability of the barycentric formula is considered. It turns out that, due to catastrophic cancellation, the evaluation of the barycentric form may give very inaccurate results when evaluated outside the interpolation interval. For the incorporation of asymptotic behavior (interpolation at infinity), this is unacceptable. For that reason we abandon the barycentric form of the rational interpolant and turn to another representation in Chapter 3 and consider interpolating continued fractions. First, the construction of a Thiele continued fraction is given. Such a continued fraction is the basis for a more advanced algorithm due to Werner. Werner’s algorithm constructs a more general form of a Thiele continued fraction and also deals with degenerate situations. It is one of the few algorithms for rational interpolation for which a stability analysis exists. If a special pivoting strategy is incorporated, then it has even been proven to be backward stable [GM80]. Therefore it is a suitable algorithm for numerical implementation. With the pivoting strategy, it also allows for poles (vertical asymptotes) to be prescribed, but in its standard form, interpolation at infinity (including horizontal and oblique asymptotes) is not supported. In Chapter 4 the interpolation condition at infinity is added. First a condition to detect degeneracy for the point at infinity is given if the points are ordered such that all finite data come first and the point at infinity is last. For this ordering of the data, we show how the algorithm of Werner can be modified to interpolate also at infinity. An illustration of the usefulness of interpolation at infinity is given. In the last Chapter, we review other algorithms for rational interpolation which are more or less related to Werner’s algorithm. The more practical algorithms are most useful in a symbolic environment rather than a numerical one. The results in this part have been presented partially in [SCLV05, SCV08].
1 Classical rational interpolation In this first Chapter we start by introducing some well-known theoretical results on rational interpolation, excluding the point at infinity, which is added in Chapter 4, but allowing infinite function values. Such a treatment is crucial for understanding the different aspects that are connected with the rational interpolation problem. We do not treat the problem in the same generality as in [VBB92, Gut93a, Gut93b], where also derivatives at interpolation points are taken into account.
1.1
Problem statement
Let Xn = {x0 , . . . , xn } be a set of n + 1 distinct complex numbers and f (x) be a given function. We allow f (x) to be unbounded in some points, such that poles can be prescribed. Let p(x) and q(x) be polynomials of degree at most ℓ and m respectively, with n + 1 = ℓ + m + 1 and such that the rational function r(x) = p(x)/q(x) is irreducible. The rational interpolation problem consists in finding r(x) for which the interpolation conditions r(xi ) =
p(xi ) = f (xi ) = fi q(xi )
i = 0, . . . , n
(1.1)
are satisfied. Define the following set of polynomial couples R(ℓ, m) = {(p(x), q(x)) | ∂p ≤ ℓ and ∂q ≤ m}. A non-trivial polynomial couple (p(x), q(x)) ∈ R(ℓ, m) satisfying the linearized interpolation conditions fi q(xi ) − p(xi ) = 0 if f (xi ) is finite i = 0, . . . , n. (1.2) q(xi ) = 0 if f (xi ) is ∞ 5
6
1. Classical rational interpolation
always exists. Indeed, when expanding p(x) and q(x) in terms of basis functions, such as the monomials, p(x) =
ℓ X
αk xk ,
q(x) =
k=0
m X
βk xk
k=0
then (1.2) reduces to a homogeneous system of linear equations in the unknown coefficients of p(x) and q(x). Since this system has one more unknown than its total number of linear equations, the linearized problem (1.2) always has a non-trivial solution. Moreover, for any two non-trivial solutions (p1 (x), q1 (x)) and (p2 (x), q2 (x)) of (1.2) in R(ℓ, m), the polynomial (p1 q2 − p2 q1 )(x) of degree at most ℓ + m = n vanishes at n + 1 distinct points: [(f q2 − p2 )q1 − (f q1 − p1 )q2 ] (xi ) = 0 if f (xi ) is finite i = 0, . . . , n. (p1 q2 − p2 q1 )(xi ) = 0 if f (xi ) is ∞ Therefore it must vanish identically and we have p1 (x)q2 (x) = p2 (x)q1 (x). Hence all solutions of (1.2) in R(ℓ, m) are equivalent and, up to a normalization, have the same irreducible form rℓ,m (x), which is called the rational interpolant of order (ℓ, m) for f (x). Let p0 (x) and q0 (x) denote the numerator and denominator of rℓ,m (x). For the notation not to become overloaded, the explicit dependence of ℓ and m in p0 (x) and q0 (x) is omitted.
1.2
Unattainability
It is well-known that the interpolating polynomial of degree at most n, interpolating n + 1 points Xn always exists and is unique. The condition ℓ + m = n is imposed in order to obtain this exact same analogy. It is true that the linearized rational interpolation problem (1.2) maintains the analogy to some extent, because it always has a solution and delivers the unique representation rℓ,m (x). However, in contrast with polynomial interpolation, the rational interpolation problem (1.1) is not always soluble and may give rise to unattainable points. An interpolation point is called unattainable for a non-trivial solution (p(x), q(x)) ∈ R(ℓ, m) of (1.2) if and only if q(xi ) = 0 = p(xi ) and, after cancellation of (x − xi ) in p(x)/q(x), in addition p(xi ) 6= f (xi ). q(xi )
1.3.
Non-normality and block structure
7
We say that a solution to the rational interpolation problem (1.1) exists if and only if p0 (x) and q0 (x) themselves satisfy the linearized interpolation problem (1.2) [Wuy74]. Denote the exact degrees of p0 (x) and q0 (x) by ℓ′ and m′ respectively. For rℓ,m (x) ≡ 0 let ℓ′ = −∞, m′ = 0 and for rℓ,m (x) ≡ ∞ let ℓ′ = 0, m′ = −∞. Define the defect of rℓ,m (x) by δ = min{ℓ − ℓ′ , m − m′ }. If p0 (x) and q0 (x) do not satisfy the conditions (1.2), unique polynomials p∗ (x) and q ∗ (x) that do satisfy (1.2) exist and are given by p∗ (x) = p0 (x)sℓ,m (x),
q ∗ (x) = q0 (x)sℓ,m (x),
(1.3)
where the deficiency polynomial [Cla78a] sℓ,m (x) =
s Y
(x − yj ),
j=0
with {y0 , . . . , ys } = {xk ∈ Xn | p0 (xk )/q0 (xk ) 6= f (xk )} is of degree s + 1, with 0 ≤ s + 1 ≤ δ. Such a solution is referred to as the minimum degree solution [SW86, Wuy74, Cla78a, Cla78b], because the degrees of p∗ (x) and q ∗ (x) cannot be lowered simultaneously anymore, unless a linearized interpolation condition is lost. From the minimal degree solution the characterization of unattainable points is straightforward: xi is unattainable if and only if p∗ (xi ) = 0 = q ∗ (xi ). Example 1.2.1. The following small example illustrates an unsolvable problem. Let xi = i and fi = 2 − (i mod 2) for i = 0, . . . , 4 and take ℓ = m = 2. Then a solution to the linearized problem (1.2) is p(x) = 2x2 − 8x + 6 = 2(x − 1)(x − 3) and q(x) = x2 − 4x + 3 = (x − 1)(x − 3) and r2,2 (x) = 2. Therefore x1 and x3 are unattainable. Here p(x) and q(x) correspond to the minimum degree solution with deficiency polynomial s2,2 (x) = (x−1)(x−3).
1.3
Non-normality and block structure
While the homogeneous system resulting from (1.2) delivers an explicit solution to the linearized interpolation problem, it is not considered to be a
8
1. Classical rational interpolation
valuable computational tool for three reasons. First of all, the condition number of Vandermonde-like matrices grows exponentially with n [GI87], such that the obtained coefficients of p(x) and q(x) may be very inaccurate. Changing to orthogonal basis polynomials is necessary for improving the conditioning of the problem. Second, there is the normalization. Usually, an a priori normalization is agreed upon for one of the coefficients in the numerator or denominator polynomial. Although an appropriate normalization can always be found, choosing an inappropriate normalization for the problem at hand may cause the linear system to be inconsistent. Third, if the homogeneous system is not of full rank and the nullspace is therefore multidimensional, finding a representation for the minimal degree solution from a basis for the nullspace is not obvious. If the obtained couple (p(x), q(x)) is not the minimum degree solution, then it may happen that both p(xi ) = q(xi ) = 0 for some xi ∈ Xn , while after cancellation of (x − xi ) nonetheless p(xi )/q(xi ) = fi . This complicates the practical detection of unattainable points.
Example 1.3.1. As an example, consider the data xi = i + 1 and fi = 1/xi for i = 0, . . . , 4 and let ℓ = m = 2. The rational interpolant for these data is rℓ,m (x) = 1/x. Let us consider a solution of (1.2) in classical powerform. A popular normalization is β0 = 1. With this normalization, the linear system (1.2) is inconsistent, although the rational interpolation problem has a solution. Without normalization, the system (1.2) for these data is rank deficient by one, and its kernel (or nullspace) is therefore two dimensional. All solutions of (1.2) are parameterized as follows α2 = 0 = β0 , α1 = β2 , α0 = β1 . Hence all solutions of (1.2) are polynomials of the form p(x) = α0 + α1 x and q(x) = x(α0 + α1 x). If we choose for example α0 = −α1 6= 0, then both p(x) and q(x) contain the factor (x − 1) = (x − x0 ). Although x0 is not unattainable, both p(x0 ) and q(x0 ) vanish.
Due to such difficulties, solving (1.2) directly is not recommended. A more convenient alternative are recursive algorithms that build up consecutive interpolants along a path in the table of rational interpolants, which is defined below. In a strictly formal sense, consider the infinite, fixed sequence {xn }∞ n=0 . For different values of ℓ + m = n, the rational interpolants of order (ℓ, m)
1.3.
Non-normality and block structure
9
for f (x) may be ordered in a table r0,0 (x) r1,0 (x) r2,0 (x) r3,0 (x) .. .
r0,1 (x) r0,2 (x) . . . r1,1 (x) r1,2 (x) . . . r2,1 (x) ... r3,1 (x) ... .. .
where rℓ,0 (x) are the polynomial interpolants for f (x), and r0,m (x) are the inverse polynomial interpolants for 1/f (x). An entry of the table is called normal if it occurs only once in the table. However, a rational interpolant may appear in several locations of the table. The set of these locations is called a block. Unlike in the Pad´e case, where a block is always square, here the blocks are unions of squares which do not need to be interconnected. Such blocks complicate recursive computations. The basic result on the block structure of rational interpolants is essentially due to Claesens [Cla78a, Cla78b]. We follow the slightly different (but equivalent) formulation given by Gutknecht [Gut89]. In addition to the defect δ, define the eccentricity of rℓ,m (x) ǫ = max{ℓ − ℓ′ , m − m′ } − δ and note that ℓ + m = ℓ′ + m′ + 2δ + ǫ. For establishing the block structure, only the following Proposition is needed. We recall the proof using our notation. Proposition 1.3.1 (Gutknecht [Gut89]). If the rational interpolant rℓ,m (x) 6≡ 0, ∞ has eccentricity ǫ > 0, then for j and k satisfying ℓ′ + δ ≤ j ≤ ℓ′ + δ + ǫ and m′ + δ ≤ k ≤ m′ + δ + ǫ: p0 rj,k (x) = (x). q0 Proof. We prove equivalence with the minimum degree solution p∗ (x)/q ∗ (x) associated with rℓ,m (x). By definition, the minimum degree solution satisfies the linearized interpolation conditions (1.2) and ∂p∗ ≤ ℓ′ + δ . ∂q ∗ ≤ m′ + δ We also know that we can always find non-trivial polynomial couples (p(x), q(x)) ∈ R(ℓ′ + δ + s, m′ + δ + t),
s, t = 0, . . . , ǫ
10
1. Classical rational interpolation
that solve fi q(xi ) − p(xi ) = 0 if f (xi ) is finite q(xi ) = 0 if f (xi ) is ∞
i = 0, . . . , ℓ′ + m′ + 2δ + s + t.
Now consider the polynomial (p∗ q − q ∗ p)(x).
(1.4)
Either 0 ≤ s + t ≤ ǫ. Then (1.4) has at least ℓ′ + m′ + 2δ + s + t + 1 distinct zeros, but is of degree at most max{s, t} + ℓ′ + m′ + 2δ ≤ ℓ′ + m′ + 2δ + s + t. Or ǫ < s + t ≤ 2ǫ. In the latter case (1.4) has at least ℓ + m + 1 = ℓ′ + m′ + 2δ + ǫ + 1 distinct zeros, but is of degree at most max{s, t} + ℓ′ + m′ + 2δ ≤ ℓ′ + m′ + 2δ + ǫ. In both cases, (1.4) is a polynomial which must vanish identically. Thus p(x)/q(x) and p∗ (x)/q ∗ (x) are equivalent.
Figure 1.1: Illustration of a block. Proposition 1.3.1 is illustrated in Figure 1.1. From a sequential application of the Proposition then follows that the block consists of a series of squares which do not need to be connected, but which are all symmetric around the diagonal passing through the entry (ℓ′ , m′ ). As a corollary of the proof of Proposition 1.3.1, the degree of the deficiency polynomial sℓ,m(x) is directly related to the shape of the block [Gut89].
1.3.
Non-normality and block structure
11
Due to the equivalence of all the minimum degree solutions inside a block, all the entries rλ,µ (x) that lie in the intersection of the antidiagonal {rλ′ ,µ′ (x) | λ′ + µ′ = n} belonging to xn , and the block of rℓ,m (x), have the same deficiency polynomial, say sn (x). Now if rℓ,m (x) also interpolates in xn+1 , then the deficiency polynomial for the block elements on the next antidiagonal does not change, i.e. sn+1 (x) = sn (x). Hence the number of block elements on the next antidiagonal grows with one. On the other hand if rℓ,m (x) does not interpolate in xn+1 , then the deficiency polynomial for the block elements on the next antidiagonal becomes sn+1 (x) = (x − xn+1 )sn (x) and therefore the block has to become smaller by one. If there is only one single block element on the xn -antidiagonal and rℓ,m (x) does not interpolate in xn+1 , then the block disappears, but it may reappear whenever the defect δ becomes larger than ∂sn+1 again [Gut89]. It is worth noting that the rational interpolant rℓ,m (x) itself does not depend on the ordering of the points in Xn , but the entries above the antidiagonal belonging to xn heavily do. In the special case where the points are well ordered, i.e. all attainable interpolation points come before all unattainable ones, a block can be characterized as follows. Proposition 1.3.2 (Wuytack [Wuy74]). For rℓ,m (x) 6≡ 0 or ∞, let t ∈ N be such that 1. p0 (xi )/q0 (xi ) = f (xi )
i = 0 . . . , ℓ′ + m ′ + t
2. p0 (xi )/q0 (xi ) 6= f (xi )
i = ℓ′ + m′ + t + 1, . . . , ℓ + m
then 1. for j and k satisfying ℓ′ ≤ j ≤ ℓ′ + t and m′ ≤ k ≤ m′ + t: rj,k (x) =
p0 (x) q0
2. ℓ ≤ ℓ′ + t and m ≤ m′ + t. The main difference with Proposition 1.3.1 is that the upper-left corner of the block of Proposition 1.3.2 lies exactly at (ℓ′ , m′ ) and because all attainable points come first, the block never grows again once it starts to shrink. Hence it is a proper square of maximal size. For a different ordering of the points in Xn this need clearly not be the case.
12
1. Classical rational interpolation
If the rational interpolant rℓ,m (x) is the constant zero or the constant infinity function, a slight modification of Proposition 1.3.1 is needed, because these blocks are unbounded in the following way. Again the proofs are given in our notation. Proposition 1.3.3 (Gutknecht [Gut89]). If the rational interpolant rℓ,m (x) ≡ 0, then for j and k satisfying 0 ≤ j ≤ ℓ and m ≤ k: rj,k (x) ≡ 0. Proof. For rℓ,m (x) ≡ 0, we have p0 (x) ≡ 0, q0 (x) 6≡ 0. Consider the minimum degree denominator q ∗ (x) 6≡ 0 associated with rℓ,m (x), which satisfies fi q ∗ (xi ) = 0 if f (xi ) is finite i = 0, . . . , ℓ + m q ∗ (xi ) = 0 if f (xi ) is ∞ and is of degree ∂q ∗ ≤ m. We know that we can always find a non-trivial polynomial couple (p(x), q(x)) ∈ R(j, k) for j and k satisfying 0 ≤ j ≤ ℓ and m ≤ k, such that fi q(xi ) − p(xi ) = 0 if f (xi ) is finite i = 0, . . . , j + k. q(xi ) = 0 if f (xi ) is ∞ Consider the polynomial −q ∗ p(x) which has at least m + j + 1 ≤ j + k + 1 distinct zeros −q ∗ p(xi ) = 0 if f (xi ) is ∞ i = 0, . . . , j + k [(f q − p)q ∗ − (f q ∗ )q] (xi ) = 0 if f (xi ) is finite but is of degree at most m + j. Therefore it must vanish identically. But q ∗ (x) 6≡ 0, hence p(x) ≡ 0. An analogous and in fact a symmetric result holds for the constant infinity block. Proposition 1.3.4 (Gutknecht [Gut89]). If the rational interpolant rℓ,m (x) ≡ ∞, then for j and k satisfying ℓ ≤ j and 0 ≤ k ≤ m: rj,k (x) ≡ ∞.
1.4.
Discussion
13
Proof. For rℓ,m (x) ≡ ∞, we have p0 (x) 6≡ 0, q0 (x) ≡ 0. Consider the minimum degree numerator p∗ (x) 6≡ 0 associated with rℓ,m (x), which satisfies −p∗ (xi ) = 0 if f (xi ) is finite i = 0, . . . , ℓ + m p∗ (xi ) 6= 0 if f (xi ) is ∞ and is of degree ∂p∗ ≤ ℓ. We know that we can always find a non-trivial polynomial couple (p(x), q(x)) ∈ R(j, k) for j and k satisfying ℓ ≤ j and 0 ≤ k ≤ m, such that fi q(xi ) − p(xi ) = 0 if f (xi ) is finite i = 0, . . . , j + k. q(xi ) = 0 if f (xi ) is ∞ Consider the polynomial p∗ q(x) which has at least ℓ + k + 1 ≤ j + k + 1 distinct zeros, but is of degree at most ℓ + k. Therefore it must vanish identically. But p∗ (x) 6≡ 0, hence q(x) ≡ 0. The difference in the shape of the blocks of the zero and infinity function is due to the fact that the defect δ grows differently [Gut89]. For the zero interpolant, δ is constant in the columns of the table, while for infinity, δ is constant in the rows of the table.
1.4
Discussion
So far we have described well-known results concerning the table of rational interpolants. Except for the direct method, which implies solving a homogeneous linear system, we have not yet given an algorithm to compute a rational interpolant. A practical algorithm should be able to deal with rational interpolation problems that are not of full degree or do not have a solution. There are several ways to achieve this. Recognizing unattainable points is essential. From Example 1.3.1 it should be clear that simply evaluating the numerator and denominator in every xi ∈ Xn and checking for common zeros is not necessarily exclusive. Another aspect is numerical stability. The numerical properties of algorithms to compute rational interpolants are heavily influenced by the chosen representation for the rational interpolant. In the next Chapters we consider several representations and algorithms.
2 Barycentric representation In this Chapter, we consider a specific representation for the rational interpolant: the barycentric form. This form stems from the Lagrange representation of interpolating polynomials. Several authors [BM97, SW86] praise its properties, both numerical and analytic. The barycentric form indeed possesses a remarkable property which makes it attractive for implementation, namely exact interpolation even in the presence of rounding errors during the computation of the coefficients of the barycentric form. First, we review the barycentric form in classical rational interpolation. The representation turns out to be advantageous for revealing common factors and unattainable points, although some care must be taken in correctly interpreting this result. Besides classical rational interpolation, we also review some other popular uses of the barycentric form, in particular a pole free rational interpolant in barycentric form with high approximation orders. Lastly, we examine the numerical properties of the barycentric representation more closely. A careful analysis shows that the barycentric form is not suited for use outside the interpolation interval. Basically, the evaluation of the barycentric formula may suffer from catastrophic cancellation for large x.
2.1
Classical rational interpolation
Any rational function rn (x) of degree at most n in numerator and denominator, interpolating the n + 1 points in Xn can be written in the barycentric form [BBM05] n X ui fi x − xi i=0 . (2.1) rn (x) = n X ui x − xi i=0
15
16
2.
Barycentric representation
The set Un = {u0 , . . . , un } contains the barycentric weights with respect to Xn . Throughout this Section it is assumed that f (xi ) = fi is always bounded. If some f (xi ) are unbounded, i.e. there are prescribed poles, a straightforward modification is proposed in [Ber97]. By definition of the form (2.1), the interpolation property rn (xi ) = fi is automatically fulfilled for arbitrary nonzero weights. Hence with respect to interpolation of the given data, the barycentric form is immune to rounding errors in the computation of the weights, at least as long as the weights remain nonzero. A rational function of the form (2.1) does not quite match the notion of a rational interpolant as introduced in Chapter 1, because the corresponding degrees of numerator and denominator exceed the prescribed degrees and do not satisfy the relation n = ℓ + m. Nevertheless, the weights can be defined such that rn (x) does satisfy these degree conditions. We adopt the space saving abbreviations ℓ(x) =
n Y
(x − xj ),
j=0
ℓi (x) =
n Y
(x − xj ).
j=0,j6=i
Let the Lagrangian representation of the minimum degree denominator (1.3) be given by n n X X wi ℓi (x) = ℓ(x) qi (2.2) qi q ∗ (x) ≡ ℓi (xi ) x − xi i=0
i=0
q ∗ (x
where qi = i ) and 1/wi = ℓi (xi ). Combining (2.2) with the Lagrange form of the minimum degree numerator (1.3) that interpolates p∗ (xi ) = fi qi , p∗ (x) ≡
n X i=0
n
fi qi
X wi ℓi (x) = ℓ(x) fi qi ℓi (xi ) x − xi i=0
a closed formula for the weights of the rational function (2.1) is then ui = wi qi
i = 0, . . . , n.
(2.3)
In the special case that q ∗ (x) ≡ 1, hence qi = 1 (i = 0, . . . , n), then (2.1) reduces to the barycentric form of the interpolating polynomial of degree n. Several authors [BM97, SW86, ZZ02] derive homogeneous systems of linear equations that express conditions to obtain the minimal degree solution (1.3) in barycentric form. Unlike in (1.2) these conditions are not interpolation conditions, which are already automatically fulfilled for nonzero values of the weights, but correspond to simple degree conditions. Because
2.1.
Classical rational interpolation
17
the barycentric form does not readily reflect the actual numerator and denominator degrees, these methods basically determine a denominator q(x) of degree ∂q ≤ m using a basis other than the Lagrange basis and restore the connection with the Lagrangian basis afterward. For example Schneider and Werner [SW86] first compute a denominator in a Newton basis with respect to Xm ⊆ Xn . For the resulting linear system of which the coefficient matrix is a divided-difference matrix (or L¨owner matrix) a stable solver is proposed in [Gem96]. Only in a second phase the barycentric weights with respect to Xn are computed from these Newton coefficients using an algorithm from [Wer84]. A more direct approach is due to Berrut et al. [BM97]. Using monomial basis functions, conditions for the weights are derived such that rn (x) = p(x)/q(x) satisfies ∂p ≤ ℓ and ∂q ≤ m. A very similar approach is due to Zhu et al. [ZZ02] who directly determine function values q0 , . . . , qn of a denominator of degree ∂q ≤ m from the same degree conditions, but now by considering the Newton representation. A slightly different, but related approach is due to Antoulas and Anderson [AA86]. They start from the following implicit form of (2.1) n X i=0
ui
rn (x) − fi =0 x − xi
(2.4)
and investigate the algebraic structure of the problem of parameterizing all interpolating rational functions of minimal complexity. Here, the complexity of a rational function rn (x) = p(x)/q(x) is understood as max{∂p, ∂q}. This problem formulation is further considered in Section 5.2. Instead of the full barycentric form (2.4), Antoulas and Anderson [AA86] start from a lower complexity barycentric representation 1 [Ber00] rn′ (x) of rn (x) n′ X rn′ (x) − fi =0 (2.5) ui x − xi i=0
n′
where < n. When specifying rn′ (x), it is implicitly assumed that Xn is ordered such that the first n′ + 1 points are those appearing in (2.5). For rn′ (x) to interpolate also in the remaining points Xn \ Xn′ , a non-trivial weight vector u = (u0 , . . . , un′ )T must exist in the kernel of the (n − n′ ) × (n′ + 1) L¨owner matrix L with entries Lj,i = 1
fj − fi xj − xi
i = 0, . . . , n′ ; j = n′ + 1, . . . , n.
This nomenclature is not used explicitly in [AA86].
18
2.
Barycentric representation
It is shown in [AA86] that the rank of such a matrix, for n′ large enough, is related to the degree of the minimal degree interpolating rational function. Explicit conditions are stated for which this minimal degree interpolant is unique (up to a multiplicative constant). Otherwise there follows a parameterization of all minimal and nonminimal interpolating rational functions in the form (2.4). Although the approach in [AA86] is mainly of theoretical importance, it shows an alternative approach to the rational interpolation problem by relaxing the degree requirements ℓ + m = n. We come back to this way of formulation the rational interpolation problem in Section 5.2.
2.2
Unattainability and non-normality
An advantage of the barycentric representation (2.1) is that it exposes common factors of the form (x − xi ), xi ∈ Xn directly. Multiplication of the numerator and denominator by ℓ(x) reveals that a common zero of the form (x − xi ), xi ∈ Xn can only occur if and only if ui = 0. In the case where the weights are determined by the condition ℓ + m = n, even more can be said. Since the weights ui are defined following (2.3), i.e. from the Lagrangian representation of the numerator and denominator polynomials, and because wi 6= 0, one can immediately derive from (2.3) that ui = 0 if and only if qi = 0. Hence ui = 0 is a necessary condition for an unattainable point. However, it is not a sufficient condition, i.e. the point xi need not be unattainable unless the Lagrangian denominator (2.2) is truly the minimum degree solution. Since all of the aforementioned approaches [SW86, BM97, ZZ02] basically solve a homogeneous system of dimension ν × (ν + 1) where ν depends on n, ℓ and m, they suffer from the same difficulties as explained in Example 1.3.1. That is, they can only guarantee to deliver the minimal degree solution if and only if the corresponding coefficient matrix has full rank, hence if and only if the kernel of the homogeneous system is one-dimensional. In the degenerate case of a multidimensional kernel, the denominator is not guaranteed to be minimal anymore and the obtained rational function may contain redundant common factors of the form (x − xi ), without indicating unattainability. In order to find a minimal, unique solution again, Berrut et al. [BM97] propose to modify the original problem by simultaneously increasing the numerator degree and decreasing the denominator degree until the coefficient matrix has full rank again. This last approach clearly solves a problem which is different from the original one.
2.3.
Pole free rational interpolation
2.3
19
Pole free rational interpolation
Because the interpolation property is fulfilled for arbitrary nonzero weights, other conditions [BBN99, BM00, AA86] can be imposed on an interpolant in barycentric form. As alternative for the condition ℓ + m = n, we already mentioned the approach of [AA86]. Another condition can be a pole free approximation. Real poles are both the blessing and the curse of rational interpolation. It may happen that unwanted real poles creep into the interpolation interval and ruin the approximation. The barycentric formula allows for a simple characterization of the poles. Throughout this Section, it is assumed that the elements of the set Xn are indexed such that a = x0 < x1 < . . . < xn = b.
(2.6)
Proposition 2.3.1 ([SW86, BM97]). The barycentric weights ui of an irreducible rational function r(x) = p(x)/q(x) which interpolates in x0 , . . . , xn and which has no poles in the interval [a, b] oscillate in sign. Proof. From the Lagrangian representation of p(x) and q(x) follows that ui = q(xi )wi (i = 0, . . . , n). Since the wi oscillate in sign for the supposed ordering of the xi (see for example [Sti63, p.218]) and q(x) does not change sign in [a, b], also the ui oscillate in sign. An attractive pole free rational interpolation scheme is proposed by Floater and Horman [FH07]. They construct an interpolant by blending polynomials in the following way. For d (0 ≤ d ≤ n) fixed, let pi (x) (i = 0, . . . , n − d) be the polynomial of degree ∂pi ≤ d that interpolates in xi , . . . , xi+d . The interpolant considered in [FH07] is n−d X
λi (x)pi (x) i=0 , n−d X
(2.7)
λi (x)
i=0
where
(−1)i . (x − xi ) · · · (x − xi+d ) The interpolant (2.7) has some very attractive properties. It is shown in [FH07] that for every d (0 ≤ d ≤ n), the interpolant (2.7) has no real poles and for d ≥ 1 it has approximation order O(hd+1 ) as h → 0, where λi (x) =
h=
max (xi+1 − xi )
0≤i≤n−1
20
2.
Barycentric representation
as long as f (x) ∈ C d+2 [a, b]. In its pure form, (2.7) is expensive to evaluate, but multiplying the numerator and denominator by ℓ(x) shows that (2.7) is actually a rational function of degree at most n and n−d in numerator and denominator respectively. Hence (2.7) can also be written in the more convenient barycentric form (2.1). The weights for the barycentric form rn (x) of (2.7) are defined explicitly as follows ui =
X
j
(−1)
j∈Ji
j+d Y
k=j,k6=i
1 , xi − xk
(2.8)
where I = {0, . . . , n}, Ji = {j ∈ I | i − d ≤ j ≤ i}. Because (2.7) has no real poles, the weights as defined by (2.8) oscillate in sign [FH07]. The parameter d gives rise to a whole family of interpolants with no poles and high approximation orders. In theory, the approximation error decreases as d increases. In practice it is seen [FH07] that due to finite precision arithmetic, the numerically computed approximation may not behave accordingly. We explain and discuss the numerical properties of the barycentric formula in more detail in the next Section. Nevertheless, for moderate values of d, the interpolant (2.7) performs very well even for large n. Hence the method of Floater and Horman is definitely the method of choice if the goal is to obtain a guaranteed polefree approximation over a closed interval.
2.4
Numerical stability
The main advantage of the barycentric formula is that it reconstructs the function values exactly for arbitrary nonzero weights. Hence perturbations of the weights due to finite precision computations do not influence the exact interpolation property. In this Section we are concerned with the numerical evaluation of the barycentric formula (2.1). For the polynomial case (ui = wi ), Higham [Hig04] shows that the evaluation of the barycentric formula is not forward stable in general but that forward stability depends on the choice of the interpolation points.
2.4.
Numerical stability
21
From the bound for the forward error given in [Hig04] already becomes clear that the barycentric form of the interpolating polynomial may not be suited for extrapolation outside the interpolation interval. For polynomials this conclusion is of little importance, because extrapolation by polynomials is generally not a good idea. For rational functions, the situation is somewhat different, because they are particularly suited for extrapolation. Hence an accurate evaluation of the rational function (2.1) as x goes to infinity is mandatory. Due to the similarity to the polynomial case, it is to be expected that also the barycentric representation (2.1) of a rational function behaves in a similar way. In order to add more weight to this argument, we extend the analysis of Higham [Hig04] for the interpolating polynomial in barycentric form to arbitrary rational functions in barycentric form. The generalization is straightforward and leads to a similar forward error. The intention is to formulate an upper-bound for the forward error of the barycentric formula which holds independently of the algorithm that has been used for the computation of the barycentric weights. This upper-bound allows us to identify what may cause inaccuracy in the numerical evaluation of the barycentric formula, in particular when x goes to infinity. For what follows, we assume that the weights are computed using a e backward stable algorithm, which is a natural assumption. An algorithm A for a problem A is backward stable if for all inputs x from a normed vector e space of data, A(x) = A(e x) for some x e with ke x − xk = O(ǫmach ). kxk
Here O denotes the O-notation [GKP94, p.243] and ǫmach represents the (machine) unit round off. If a problem is solved using a backward stable e then the forward error is connected to the backward error by algorithm A, the condition number κA . Let △A = A(e x) − A(x) △x = x e − x,
the relative condition number for A at x, is then defined as k△Ak kxk . ε→0 k△xk kAk k△xk ≤ε
κA = κA (x) = lim sup
(2.9)
kxk
The norm on the vector space of solutions may be different from the norm on the vector space of data, but for simplicity both are here denoted by k · k.
22
2.
Barycentric representation
e is backward stable then the forward error satisfies If the algorithm A e kA(x) − A(x)k = O(κA (x) ǫmach ). kA(x)k
e computed by a backward stable algorithm Let u = (u0 , . . . , un )T . Weights u e U satisfy ke u − uk = O(κU ǫmach ) kuk
or equivalently uei = ui (1 + δui ),
|δui | = O(κU ǫmach ).
Here κU represents the condition number associated with the problem of computing the barycentric weights, which could be the condition number of the involved coefficient matrix or just a constant for given weights. Further we follow the standard model of floating point arithmetic [Hig02], f l(x op y) = (x op y)(1 + δ)±1 ,
|δ| ≤ ǫmach , op ∈ {+, −, ∗, /}
for any two floating point numbers x and y. Relative error counters are denoted by
(1 + θk ) =
k Y
(1 + δj )ρj
|δj | ≤ ǫmach , ρj = ±1
j=1
with the corresponding upper-bound |θk | ≤ γk =
kǫmach 1 − kǫmach
where kǫmach ≤ 1 is assumed. It is also assumed that the given x, xi and fi are exact floating-point numbers. With these considerations we have the following.
2.4.
Numerical stability
23
Proposition 2.4.1. The computed value ren (x) of (2.1) satisfies ren (x) =
=
! ui fi (1 + θ3i )(1 + δui ) (1 + θnNum ) x − xi i=0 ! (1 + θ1 ) n X ui i Den (1 + θ2 )(1 + δui ) (1 + θn ) x − xi
n X
i=0 n X
ui i fi (1 + θn+4 )(1 + δui ) x − xi
i=0 n X i=0
ui i (1 + θn+2 )(1 + δui ) x − xi
.
Proof. The treatment of the numerator and denominator are completely analogous. Therefore we only consider the numerator. Each term in the summation in the numerator of ren (x) satisfies fl(
ui (1 + δui ) u ei fi (1 + δ∗ )(1 + δ/ ) fi ) = x − xi (x − xi )(1 + δ− ) ui fi (1 + θ3i )(1 + δui ) = x − xi
The factors (1 + θnNum ) and (1 + θ1 ) account for the total summation and the division respectively. Before we can give the final forward error, we also need the following. Proposition 2.4.2. 1 n ≤ X u i i (1 + θn+2 )(1 + δui ) x − xi i=0
n X ui x − xi 1 i=0 2 n ) + O(ǫ 1 + ǫ (n + 2 + O(κ )) U mach mach n X u X u i i x − xi x − xi i=0
i=0
24
2.
Barycentric representation
Proof. 1 n X u i i (1 + θn+2 )(1 + δui ) x − xi i=0
1 = n n X ui X ui i i + (θ + δui + θn+2 δui ) x − xi x − xi n+2 i=0
=
i=0
1 n X ui i i n (θ + δ + θ δ ) u u n+2 n+2 i i X u x − x i i 1 + i=0 n X ui x − xi i=0 x − xi i=0
1
1 ˛ ˛ ≤ n ˛X ˛ n X ˛ ˛ u u i i i i ˛ (θn+2 + δui + θn+2 δui )˛˛˛ ˛ ˛ x − xi x − xi ˛ ˛ i=0 1 − i=0 ˛ ˛ ˛ ˛X n ˛ ˛ u i ˛ ˛ ˛ ˛ ˛ ˛ x − xi ˛ ˛ i=0
From 1 ˛ ˛ ˛ ˛ n ˛X ˛ ui i i ˛ ˛ (θ + δ + θ δ ) ˛ ˛ u u n+2 n+2 i i ˛ ˛ x − x i ˛ i=0 ˛ 1 − ˛ ˛ ˛ ˛X n ˛ ˛ u i ˛ ˛ ˛ ˛ ˛ ˛ ˛ i=0 x − xi ˛ j n X ui i i (θ + δ + θ δ ) u u n+2 n+2 i i ∞ X i=0 x − xi , =1+ n X u i j=1 x − xi i=0
using the upper-bound
i θn+2 ≤ γn+2 =
∞
X (n + 2)ǫmach = (n + 2)k ǫkmach 1 − (n + 2)ǫmach k=1
2.4.
Numerical stability
25
and with slight abuse of notation |δui | = O(κU ǫmach ) = ǫmach O(κU ), we also have that n n X X ui ui i i (θ + δ + θ δ ) ui n+2 ui x − xi x − xi n+2 i=0 n ≤ ǫmach (n + 2 + O(κU )) i=0 n X u X ui i x − xi x − xi i=0
i=0
+ O(ǫ2mach ).
Collecting appropriate terms in ǫmach and O(ǫ2mach ) finishes the proof. The main result of this Section is the following.
Proposition 2.4.3. The relative forward error for the computed value ren (x) of (2.1) satisfies n X ui f i x − xi |rn (x) − ren (x)| ≤ ǫmach (n + 4 + O(κU )) i=0 n |rn (x)| X ui fi x − xi i=0 n X ui x − xi + O(ǫ2mach ) (2.10) + ǫmach (n + 2 + O(κU )) i=0 n X ui x − xi i=0
Proof. We have
n n X X ui u i i fi (1 + θn+4 )(1 + δui ) x − xi x − xi ren (x) i=0 i=0 . ≤ n n rn (x) X u X ui i i (1 + θn+2 )(1 + δui ) fi x − xi x − xi i=0
i=0
Since n n X X ui u i i fi (1 + θn+4 )(1 + δui ) ≤ fi x − xi x − xi i=0
i=0
n X ui 2 + ǫmach (n + 4 + O(κU )) x − xi fi + O(ǫmach ) i=0
26
2.
Barycentric representation
and application of Proposition 2.4.2 yields, n X ui x − xi f i ren (x) ≤ 1 + ǫmach (n + 4 + O(κU )) i=0 n rn (x) X u i fi x − xi i=0
n X ui x − xi + O(ǫ2mach ) + ǫmach (n + 2 + O(κU )) i=0 n X u i x − xi i=0
from which the result is immediate.
We can give an interpretation for the factors appearing in the right hand side of the inequality (2.10). Indeed, it immediately follows from the following Proposition that they are a measure for the amount of cancellation in the summation in the numerator and denominator of (2.1). Proposition 2.4.4. Let v = [v0 , . . . , vnP ]T . The condition number κΣ of the problem of computing the sum S(v) = ni=0 vi is given by Pn |vi | . κΣ = Pi=0 n | i=0 vi |
Proof. If a problem A is differentiable, then the condition number (2.9) can be evaluated at x by means of the derivative of A [TB97]. Since the Jacobian matrix of S is ∂S ∂S J= ··· = [1 · · · 1] ∂v0 ∂vn and if we take the k · k1 norm, then kJk1 = 1 so that the condition number κΣ is given by Pn |vi | kJk1 = Pi=0 . κΣ = n kS(v)k1 /kvk1 | i=0 vi | Let us denote the condition numbers of the problems of evaluating the
2.4.
Numerical stability
27
numerator and denominator of rn (x) at x respectively by n n X X ui ui x − xi x − xi f i i=0 , κDen . κNum (x) = i=0 Σ (x) = n Σ n X ui X ui f i x − xi x − xi i=0
i=0
Then (2.10) can simply be rewritten as
|rn (x) − ren (x)| Num ≤ ǫmach (n + 4 + O(κU )) kΣ (x) |rn (x)|
Den + ǫmach (n + 2 + O(κU )) kΣ (x) + O(ǫ2mach )
This formula immediately gives insight into what causes inaccuracy in the numerical evaluation of the barycentric formula when x goes to infinity. For sufficiently large x 6∈ [a, b], the values of x − xi for all i = 0, . . . , n are positive and tend to be similar. If the weights ui are all positive (or negative), no cancellation occurs for large x. But note that it follows from Proposition 2.3.1 that the weights ui P oscillate in sign when no poles occur Den (x) may grow within the interpolation interval! If ni=0 ui ≈ 0, then kΣ arbitrarily and cancellation may become catastrophic for large x. What is worse, once cancellation occurs for some z large enough it necessarily occurs also for all x > z. Example 2.4.1. To illustrate that in practice the evaluation of the barycentric formula can go terrible wrong already for moderate values of x, we have sampled the function f (x) = 5 + e−x at equidistant points xi = 0.1i for i = 0, . . . , 10 and constructed the barycentric form of the rational interpolant r5,5 (x) for these points. The rational interpolant r5,5 (x) was computed symbolically in Maple using the continued fraction algorithm of the next Section, from which the minimum degree denominator q ∗ (x) was retrieved symbolically. The weights were also computed in Maple from (2.3). From these weights, the barycentric formula has been evaluated numerically in Matlab with the code provided in Berrut [BT04]. In Figure 2.1(a), the evaluation of the barycentric form of the rational interpolant r5,5 (x) is shown within the interpolation interval, together with the interpolation data (dots). In Figure 2.1(b), the same rational interpolant is evaluated over the larger interval [0, 12]. Outside the interpolation interval the evaluation is dominated by cancellation errors and is completely useless.
28
2.
6
Barycentric representation
6 5.8
5.9
5.6
5.8 5.4
5.7
5.2 5
5.6
4.8
5.5
4.6
5.4 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
(a) Inside the interpolation interval 1.1
4.4 0
4
6
8
10
12
(b) Outside the interpolation interval 1.1
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
2
1
2
3
4
5
(c) ǫmach (n +
6
7
8
4)κNum (x) Σ
9
10
0
1
2
3
4
5
(d) ǫmach (n +
6
7
8
9
10
2)κDen Σ (x)
Figure 2.1: Illustration of catastrophic cancellation in the evaluation of the barycentric formula. Figures 2.1(a) and 2.1(b) show the numerical evaluation of the rational interpolant r5,5 (x) in barycentric form inside and outside the interpolation interval respectively. Inside the interpolation interval, also the interpolation data are shown (dots). Outside the interpolation interval, catastrophic cancellation occurs. Figures 2.1(c) and 2.1(d) show the impact of the condition numbers of the numerator and the denominator for growing x. The horizontal line marks the boundary where all significant digits are lost.
2.5.
Conclusion
29
The explanation readily follows from the condition numbers κNum (x) and Σ Figures 2.1(c) and 2.1(d) show the impact of these condition numbers on the forward error for different x and double-precision ǫmach = 2−53 . Both condition numbers grow quickly as x becomes larger. Approximately at x ≈ 10.3 all significant digits are lost in the numerator. The denominator performs only marginally better and also here all significant digits are inevitably P lost. The (normalized) barycentric weights are given below. Note that | ni=0 ui | ≈ ǫmach . κDen Σ (x).
i 0 1 2 3 4 5 6 7 8 8 10
2.5
ui 1.799994560009356e−03 −1.894648100213035e−02 8.971766981319866e−02 −2.516883287385409e−01 4.632301940698410e−01 −5.844578164633316e−01 5.119485388605266e−01 −3.074128189179774e−01 1.211061867925419e−01 −2.826482829236917e−02 2.967689318231945e−03
Conclusion
In conclusion, constructing a rational interpolant in its barycentric form has some practical advantages. Most notably is the exact interpolation property, which is not affected by changes in the weights as long as the weights remain nonzero. Therefore it is a very powerful representation which easily allows one to impose other conditions besides interpolation conditions. The polefree rational approximant as described in Section 2.3 is just one example. However, as we have shown in Section 2.4, the evaluation of the barycentric formula may suffer from catastrophic cancellation outside the interpolation interval. Therefore its use is basically limited to a closed interval and should not be used for extrapolation over a large interval. Hence it is also not suited for numerical interpolation at infinity. Therefore we turn to a different representation in the next Chapter.
3 Interpolating continued fractions In this Chapter we focus on a continued fraction representation of the rational interpolant. First Thiele continued fractions are introduced. If the data are ordered such that such a continued fraction can be constructed, then it allows for a simple characterization of unattainable points. Next Werner’s algorithm [Wer79] is considered. This algorithm constructs a more general form of Thiele continued fractions and reorders the points in such a way that larger blocks can be handled. The degree structure of the convergents of these continued fractions is unraveled. Since the reordering also causes intermediate values to be bounded, the construction can be combined with a pivoting strategy which makes it a suitable technique for a numerical implementation [GM80].
3.1
Thiele continued fractions
Let us start by introducing Thiele continued fractions, which form the basis for the more advanced algorithms that produce Thiele-type continued fractions. Without loss of generality, we assume that ℓ = m or ℓ = m + 1, that is we only consider interpolants on the main staircase {r0,0 (x), r1,0 (x), r1,1 (x), r2,1 (x), r2,2 (x), r3,2 (x), . . .} .
(3.1)
If the order of Xn is such that every two consecutive elements on this main staircase are different (see also Proposition 5.2.1), then a Thiele continued fraction can be constructed which is of the form x − x0 x − x1 x − xn−1 + + ··· + . (3.2) R0 (x) = b0 + b1 b2 bn 31
32
3.
Interpolating continued fractions
If the bi 6= ∞ are given by (3.5) then this continued fraction has the property that its i-th convergent is equivalent with the i-th element on the staircase (3.1) (i = 0, . . . , n) [CW88]. The quantities bi 6= ∞ are called inverse differences and are defined recursively. First, denote the tails of (3.2) by Rj (x) = bj + x − xj , j = 0, . . . , n − 1 Rj+1 (x) (3.3) Rn (x) ≡ bn . If Rj+1 (xj ) 6= 0 then it is allowed to set bj = Rj (xj ), which motivates the following recurrence R0 (xk ) = f (xk ) xk ∈ Xn xk − x j (3.4) xk ∈ Xn \ Xj Rj+1 (xk ) = Rj (xk ) − bj from which the inverse differences are obtained R0 (x0 ) xi − xi−1 bi = Ri (xi ) = Ri−1 (xi ) − Ri−1 (xi−1 )
if i = 0 if i > 0
.
(3.5)
Here we have introduced the inverse differences in a less conventional way. But doing so allows for a simple interpretation. In each step, bi is the r0,0 (x) interpolant for the first point of the reduced set Xn \ Xi−1 with function values Ri (xk ), xk ∈ Xn \ Xi−1 . The block structure in the table of rational interpolants for such a r0,0 (x) interpolant is easy to analyze: whenever bi equals Ri (xi+1 ), then r0,0 (x) ≡ bi is the upper-left corner of a growing block. Note that in such a case bi+1 = ∞. But bi 6= ∞ is clearly a necessary condition for (3.2) to be interpolating. Therefore it is assumed that each subproblem may not lie in the upper-left corner of a growing block. This is equivalent to the assumption that Xn is ordered such that every two consecutive elements on the main staircase are different, i.e. consecutive elements should not lie in the same block. Hence, when each subproblem does not lie in a growing block, two consecutive convergents of (3.2) are always different. Obviously this does not mean that all convergents of (3.2) are different. The special block structure in the table of rational interpolants required for the construction of Thiele continued fractions is illustrated in Figure 3.1. This discussion immediately motivates a dynamical ordering when confronted with blocks. For example the modified Thatcher-Tukey algorithm by Graves-Morris and Hopkins [GMH81] does exactly this. For i > 0 the
3.1.
Thiele continued fractions
33
Figure 3.1: Illustration of the required block structure in the table of rational interpolants for the construction of Thiele continued fractions. The stars represent the entries on the main staircase. Two blocks are shown which represent different rational interpolants. Some entries on the diagonal staircase lie in the same block, but two consecutive entries are always different. data are reordered so that Ri−1 (xi ) 6= Ri−1 (xi−1 ) and Ri−1 (xi ) 6= ∞. In the next Section we discuss the more general algorithm of Werner, which also automatically reorders the points, but in such a way that all intermediate values remain bounded. Note that we allow bi = 0 such that also infinite function values are supported. However, the choice f (x0 ) = b0 = ∞ is not allowed. This follows immediately from the condition bi 6= ∞, but it is worth noting that it is also consistent with the assumed ordering of Xn . If f (x0 ) = ∞ ≡ r0,0 (x), then it follows from the shape of the constant infinity block (Proposition 1.3.4) that also r1,0 (x) ≡ ∞, which contradicts the assumption that consecutive elements should lie in different blocks. Even when an appropriate ordering is used for Xn , hence every bi 6= ∞, then the interpolation property R0 (xi ) = f (xi ) for xi ∈ Xn need not hold. In other words, the inverse differences may be computed from (3.5) and turn out to be finite, but the implicit assumption Rj+1 (xj ) 6= 0 may not be satisfied. The next Proposition says that whenever such a situation occurs, then the rational interpolation problem itself does not have a solution. Proposition 3.1.1. If the interpolating continued fraction (3.2) is constructed from (3.5) and is such that bi 6= ∞ (i = 0, . . . , n), then the n-th
34
3.
Interpolating continued fractions
convergent of R0 (x) = U0 (x)/V0 (x) is irreducible except for factors of the form (x − xj ) with xj ∈ Xn−1 unattainable. These factors are characterized by Rj+1 (xj ) = 0 ⇔ xj is unattainable . Proof. We denote by Ri (x) =
Ui (x) , Vi (x)
i = 0, . . . , n
the tails Ri (x) in vector form. Then (3.3) readily becomes bj x − x j Uj+1 (x) Rj (x) = = Tj (x)Rj+1 (x), j = 0, . . . , n − 1. 1 0 Vj+1 (x) Assuming that bi 6= ∞ (i = 0, . . . , n), we first show that the only common factors of R0 (x) are of the form (x − xj ), with xj ∈ Xn−1 . Assume that R0 (x) has a common factor (x − α) with α ∈ / Xn−1 . For α∈ / Xn−1 , every Tj (α) is not singular, so that we may write 0 bn −1 −1 Rn (α) = = Tn−1 · · · T0 R0 (α) = , 1 0 which is a contradiction. Hence α ∈ Xn−1 . This means that R0 (x) is irreducible up to common factors of the form (x − xj ) and by construction interpolates every xj for which Rj+1 (xj ) 6= 0. If R0 (x) contains the factor (x−xj ) in numerator and denominator, then 0 −1 −1 Rj (xj ) = Tj−1 · · · T0 R0 (xj ) = 0 and also Rj (xj ) = Tj Rj+1 (xj ) =
bj Uj+1 (xj ) Uj+1 (xj )
0 = . 0
Hence the numerator Uj+1 (x) of Rj+1 (x) vanishes at xj . Because bn 0 −1 −1 Rn (xj ) = = Tn−1 · · · Tj+1 Rj+1 (xj ) 6= , 1 0 it cannot be the case that also Vj+1 (xj ) = 0, such that Rj+1 (xj ) = 0. Analogously, if Rj+1 (xj ) = 0 then 0 R0 (x) = T0 · · · Tj−1 Rj (xj ) = . 0
3.1.
Thiele continued fractions
35
Hence, we have
0 R0 (xj ) = ⇔ Rj+1 (xj ) = 0, 0
j = 0, . . . , n − 1.
What remains to be shown is that, if R0 (x) contains the factor (x − xj ) in numerator and denominator, then xj is indeed unattainable. Again by contradiction, let Rj+1 (xj ) = 0 and assume that the following limit exists lim R0 (x) = f (xj ) ⇔ lim Rj (x) = lim x→xj
x→xj
x→xj
bj Uj+1 (x) = bj Uj+1 (x)
For the first limit to exist, also the last limit must exist. In addition (x − xj )Vj+1 (x) lim Rj (x) = bj ⇔ lim bj + = bj x→xj x→xj Uj+1 (x) (x − xj )Vj+1 (x) = 0. ⇔ lim x→xj Uj+1 (x) but Vj+1 (xj ) 6= 0 and lim
x→xj
x − xj 6= 0, so that we have a contradiction. Uj (x)
In contrast to solving a homogeneous system, this property makes the continued fraction representation attractive, because it allows for a simple characterization of unattainable points. However, a special ordering is still assumed for the points Xn . In the next Section, we consider a more general form of Thiele continued fractions combined with a dynamical ordering of the points. The gain is both mathematical and numerical. On the one hand, the reordering allows to navigate through a table with more complicated blocks. On the other hand, the computation of (3.4) becomes numerically more robust. Example 3.1.1. To illustrate Proposition 3.1.1, consider again the data xi = i for i = 0, . . . , 4 and fi = 2 − (i mod 2). With this ordering, the Thiele continued fraction is x−0 x−1 x−2 x−3 + + + . 2+ −1 0 −1 0 Clearly x3 = 3 is unattainable. Because the tail x−2 x−3 R2 (x) = 0 + + −1 0 evaluated at x1 gives R2 (x1 ) = 0, also x1 = 1 is unattainable. Note that R2 (2) = 0, but x2 = 2 is not unattainable. For the ordering x0 , x2 , x4 , x1 , x3 , no Thiele continued fraction can be constructed.
36
3.
3.2
Interpolating continued fractions
Werner’s algorithm
Werner [Wer79] suggests a recursive method, based on successive continued fraction reductions and reordering of the data, such that the intermediate computations always remain bounded and such that insolubility of the problem can be detected. For the description of the algorithm it is assumed that 1. ℓ ≥ m. If ℓ ≤ m, then we may swap the roles of ℓ and m and consider rm,ℓ (x) which interpolates 1/f (xi ), xi ∈ Xn . 2. f (xi ) 6= 0, ∞ for xi ∈ Xn . We come back to the case f (xi ) = 0, ∞ in Section 3.5. The algorithm recursively constructs a continued fraction representation of a rational function R0 (x) R0 (x) = b0 (x) +
a0 (x) a1 (x) an′ −1 (x) + + ... + , b1 (x) b2 (x) bn′ (x)
n′ ≤ n
(3.6)
by applying continued fraction reductions of the form Rj (x) = bj (x) +
aj (x) Rj+1 (x)
j = 0 . . . , n′ − 1,
where the polynomials aj (x) and bj (x) are determined by the interpolation conditions. Algorithm 3.2.1 clarifies the roles of bj (x) and aj (x). The algorithm has two different stopping criteria: in step 3a when all interpolation data have been processed, or in step 3(b)i in which case there are unattainable points. The second stopping criterion is motivated by the following Proposition. Proposition 3.2.1 (Werner [Wer79]). Let b(x) be the polynomial of degree ∂b ≤ γ = ℓ − m that interpolates x0 , . . . , xγ . If there exists an integer k ≥ ℓ + 1 such that b(xi ) = 0
for i = γ + 1, . . . , k − 1
b(xi ) 6= 0
for i = k, . . . , ℓ + m,
then the polynomials p∗ (x) and q ∗ (x) given by (x − xk ) . . . (x − xℓ+m ) if ∗ q (x) = 1 if
k−1 mj then rj = 1 is possible. However, the choice rj = 1 then forces rj+1 = 0, because rj = 1 implies ℓj+1 − mj+1 = mj − ℓj + kj = 0. On the other hand, if ℓj = mj then necessarily rj = 0 so that kj = ℓj − mj + 1 = 1. Because now ℓj+1 − mj+1 = mj − ℓj + kj = 1, the choice rj+1 = 1 is possible. Hence subsequent values rj and rj+1 may in fact be restricted to 0 ≤ rj + rj+1 ≤ 1. This was also pointed out by Gutknecht [Gut89]. The value of rj also affects the position in the table of rational interpolants of the irreducible form of the j-th convergent of the resulting continued fraction. It is not difficult to check (in analogy to Proposition 3.4.4) that with rj = 0 for all j, the irreducible form of the convergents of the continued fraction generated by Algorithm 3.2.1 occupy an entry in the table of rational interpolants on the diagonal passing through (ℓ − m, 0). The resulting continued fraction is appropriately called a diagonal fraction. Whenever
3.4.
Non-normality
39
rj = 1, then the j-th convergent deviates from this diagonal. Hence, allowing 0 ≤ rj + rj+1 ≤ 1 introduces an undesirable freedom which may lead to awkward degenerate situations [Gut89]. In order to avoid such randomness and to connect easily with Thiele continued fractions, we restrict ourselves here to continued fractions of the form (3.6) generated by Algorithm 3.2.1, such that subsequent values rj and rj+1 satisfy rj + rj+1 = 1.
(3.9)
It follows from Proposition 3.4.4 that with this choice, the irreducible form of subsequent convergents of the resulting continued fraction occupy entries in the table of rational interpolants on two neighboring diagonals. The only possible freedom left is the choice of which two diagonals, but this is fully determined once r0 is chosen. The resulting continued fractions are staircase fractions. Nevertheless, we refer to such continued fractions as Thiele-Werner continued fractions, because in case ℓ = m or ℓ = m + 1 and no extra points are interpolated in step 3 (hence always kj = γj + 1), these continued fractions reduce to a Thiele continued fraction. It is worth noting that Werner [Wer79] originally claimed that rj = 0 should be fixed for the continued fraction (3.6) to be a classical Thiele continued fraction. Let us examine some properties of convergents of Thiele-Werner continued fractions. This knowledge provides more insight into the particular structure of these continued fractions. First we introduce some notation. Let R0 (x) be a continued fraction of the form (3.6). Denote for every polynomial bi (x) (i = 0, . . . , n′ ), its exact degree by ∂bi ≤ γi = ℓi − mi − ri and for every polynomial aj (x) (j = 0, . . . , n′ − 1) its exact degree by ∂aj = kj . Furthermore, let ci denote the coefficient of xγi in the polynomial bi (x). For convenience, we introduce an alternative but equivalent characterization of Thiele-Werner continued fractions. Proposition 3.4.1. R0 (x) is a Thiele-Werner continued fraction if and only if kj = γj + γj+1 + 1, j = 0, . . . , n′ − 1. Proof. It follows from (3.8) and the definition of γj (j = 0, . . . , n′ − 1) that kj = ℓj − mj+1 = γj + mj + rj − ℓj+1 + γj+1 + rj+1 = γj + γj+1 + rj+1 + rj Hence kj = γj+1 + γj + 1 if and only if rj + rj+1 = 1.
40
3.
Interpolating continued fractions
Let us denote the convergents of a Thiele-Werner continued fraction in vector form by Ai (x) , i = 0, . . . , n′ . Bi (x) The following Propositions describe the exact degrees ∂Ai and ∂Bi of Ai (x) and Bi (x). Proposition 3.4.2. The exact degree ∂Ai of the numerator Ai (x) of the i-th convergent of a Thiele-Werner continued fraction satisfies
∂Ai
i X i γh + ≤ 2 =
h=0 i X h=0
if i even
i+1 γh + 2
(3.10) if i odd
and Ai (x) is monic if i is odd. If i is even, equality is attained in (3.10) if Pi/2 and only if h=0 c2h 6= 0, in which case this is the highest degree coefficient of Ai (x). Proof. The proof is by induction. For i = 0, it is trivial that A0 (x) = b0 (x) has degree ∂A0 ≤ γ0 and equality is achieved if the highest degree coefficient c0 6= 0. For i = 1, A1 (x) = b0 (x)b1 (x) + a0 (x). Because b0 (x)b1 (x) is a polynomial of degree at most ∂b0 + ∂b1 < ∂a0 = k0 = γ0 + γ1 + 1, A1 (x) is monic of degree ∂A1 = γ0 + γ1 + 1. Assume that the hypothesis holds for j = 0, . . . , i − 1. It follows from the three-term recurrence that Ai (x) = bi (x)Ai−1 (x) + ai−1 (x)Ai−2 (x), where A−1 (x) = 1 and A0 (x) = b0 (x). For i even, we have ∂(bi (x)Ai−1 (x))
= ≤ ∂(ai−1 (x)Ai−2 (x)) ≤ = Hence ∂Ai ≤
Pi
i h=0 γh + 2 ,
∂bi + Pi
Pi−1
h=0 γh i γ h=0 h + 2
+
γi + γi−1 + 1 + Pi i h=0 γh + 2 .
(i−1)+1 2
Pi−2
h=0 γh
+
i−2 2
and equality is attained if and only if the highest Pi/2 degree coefficient of Ai (x) satisfies h=0 c2h 6= 0.
3.4.
Non-normality
41
For i odd, we have ≤ ≤ ∂(ai−1 (x)Ai−2 (x)) = =
∂(bi (x)Ai−1 (x))
Thus ∂Ai =
Pi
h=0 γh
+
i+1 2
Pi−1
i−1 h=0 γh + 2 i−1 h=0 γh + 2 P γi + γi−1 + 1 + i−2 h=0 γh Pi i−1 h=0 γh + 2 + 1.
∂bi + Pi
+
i−1 2
and Ai (x) is monic.
Proposition 3.4.3. The exact degree ∂Bi of i-th convergent of a Thiele-Werner continued =0 if i X i = if γh + 2 ∂Bi h=1 i X i−1 γh + ≤ if 2
the denominator Bi (x) of the fraction satisfies i=0 i > 0 even
(3.11)
i odd
h=1
and Bi (x) is monic if i is even. If i is odd, equality is attained in (3.11) P(i+1)/2 if and only if h=1 c2h−1 6= 0, in which case this is the highest degree coefficient of Bi (x). Proof. The proof is by induction on i. The case i = 0 where B0 (x) = 1 is trivial. For i = 1, it is also trivial that B1 (x) = b1 (x) which is of degree ∂B1 ≤ γ1 and equality is achieved if c1 6= 0. For i = 2, B2 (x) = b1 (x)b2 (x) + a2 (x). Because b1 (x)b2 (x) is a polynomial of degree at most ∂b1 + ∂b2 < ∂a2 = γ2 + γ1 + 1, B2 (x) is a monic polynomial of degree ∂B2 = γ2 + γ1 + 1. Assume that the hypothesis holds for j = 0, . . . , i − 1. It follows from the three-term recurrence, that Bi (x) = bi (x)Bi−1 (x) + ai−1 (x)Bi−2 (x), where B−1 (x) = 0 and B1 (x) = 1. For i even, ≤ ≤ ∂(ai−1 (x)Bi−2 (x)) = = ∂(bi (x)Bi−1 (x))
Hence ∂Bi =
Pi
h=1 γh
+
i 2
Pi−1
(i−1)−1 h=1 γh + 2 i − 1 γ + h=1 h 2 P γi + γi−1 + 1 + i−2 h=1 γh Pi i . γ + h=1 h 2
∂bi + Pi
and Bi (x) is monic.
+
i−2 2
42
3.
Interpolating continued fractions
For i odd, we have ∂(bi (x)Bi−1 (x))
= ≤ ∂(ai−1 (x)Bi−2 (x)) ≤ =
Hence ∂Bi ≤
Pi
i−1 2 ,
Pi−1
i−1 h=1 γh + 2 i−1 h=1 γh + 2 P γi + γi−1 + 1 + i−2 h=1 γh Pi i−1 h=1 γh + 2 .
∂bi + Pi
+
(i−2)−1 2
and equality is attained if and only if the P(i+1)/2 highest degree coefficient of Bi (x) satisfies h=1 c2h−1 6= 0. h=1 γh
+
An almost immediate consequence of Propositions 3.4.2 and 3.4.3 is the following. Proposition 3.4.4. The irreducible form of the i-th convergent of a ThieleWerner continued fraction occupies an entry in the table of rational interpolants • on the diagonal starting at (γ0 , 0) if i is even. • on the diagonal, starting at (γ0 + 1, 0) if i is odd. Proof. Let (P P i even ( ih=0 γh + 2i , ih=1 γh + 2i ) (k, l) = Pi i+1 Pi i−1 ( h=0 γh + 2 , h=1 γh + 2 ) i odd
By construction (Ai (x), Bi (x)) ∈ R(k, l) and satisfies the linearized interpolation conditions for at least k0 + . . . + ki−1 + γi + 1 = (γ0 + 2
i X
γh + i) + 1 = k + l + 1
h=1
points out of Xn . Hence it is necessarily equivalent with the minimum degree solution (p∗ (x), q ∗ (x)) in R(k, l) for these data. The particular block structure after reordering the points for the construction of Thiele-Werner continued fractions, is illustrated in Figure 3.2. Another aspect is the connection between the degrees of the tails Ui (x) Ri (x) = ∈ R(ℓi , mi ), Vi (x) and the degrees of the convergents. They are related as follows.
3.5.
Practical aspects and numerical stability
43
Figure 3.2: Illustration of the block structure in the table of rational interpolants after reordering the points for the construction of Thiele-Werner continued fractions. The stars represent the entries on a block staircase. Two blocks are shown which represent different rational interpolants. Proposition 3.4.5. ℓ0 = ℓ, m0 = m and for i > 0 ℓi = ℓ − ∂Ai−1 , mi = m − ∂Bi , if i = even ℓi = m − ∂Bi−1 , mi = ℓ − ∂Ai , if i = odd Proof. Clearly ℓ0 = ℓ, m0 = m and from (3.8) for i > 0 ℓi = mi−1 =
ℓ − k0 − k2 − . . . − ki−2 if i = even m − k1 − k3 − . . . − ki−2 if i = odd.
After substitution of kj = γj+1 + γj + 1 (j = 0, . . . , i − 1), the result is immediate.
3.5
Practical aspects and numerical stability
The main computational steps of the algorithm involve value transformations of the form Rj+1 (xi ) =
aj (xi ) , Rj (xi ) − bj (xi )
xi ∈ Sj+1
44
3.
Interpolating continued fractions
and checking for additional points that are interpolated by bj (x). Both steps are realized efficiently by considering the Newton form of the interpolating polynomial with its remainder term. Let Rj (x) = bj (x) + Rj [x0 · · · xγj x](x − x0 ) · · · (x − xγj ), then bj (x) also interpolates in some xi ∈ Sj \{x0 , . . . , xγj } (step 3) if and only if the divided difference Rj [x0 · · · xγj xi ] = 0. If bj (x) does not interpolate any additional points, hence kj = γj + 1, then aj (x) = (x − x0 ) · · · (x − xγj ) and we have Rj [x0 · · · xγj xi ] =
Rj (xi ) − bj (xi ) , aj (xi )
xi ∈ Sj+1
which implies Rj+1 (xi ) =
1 , Rj [x0 · · · xγj xi ]
xi ∈ Sj+1 .
When additional points xγj+1 , . . . , xkj −1 are interpolated, then Rj+1 (xi ) =
(xi − xγj+1 ) · · · (xi − xkj −1 ) , Rj [x0 · · · xγj xi ]
xi ∈ Sj+1 .
(3.12)
Hence both the reductions in step 3(b)ii and checking for additional interpolated points are based on the same quantities and therefore do not require any extra calculations. Algorithm 3.2.1 is one of the few algorithms for rational interpolation of which a stability analysis exists. It is clear that the algorithm relies heavily on the computation of divided differences. It is also well-known that the accuracy of computing divided differences is influenced by the ordering of the points [Hig02, p.111]. It is therefore natural to exploit the remaining freedom in the choice for the points x0 , . . . , xγj (step 2 in the description of the algorithm) to avoid error build up as much as possible. GravesMorris [GM80] argues to choose the interpolation points xk for 0 ≤ k ≤ γj in each step such that the divided differences satisfy Rj [x0 · · · xk ] =
min
xi ∈Sj \{x0 ,...,xk−1 }
|Rj [x0 · · · xk−1 xi ]| .
(3.13)
ef (xi ) with xi ∈ Sj , the value actually obtained for Rf (xi ) Denote by R j j when computed from (3.12). The superscript f emphasizes the dependence of (3.12) on the function values f (xi ) = fi . With the ordering (3.13), which
3.5.
Practical aspects and numerical stability
45
has some similarities to pivoting in Gaussian elimination, it has been shown by Graves-Morris [GM80] that e0f (xi ) = Re0f (xi ), R
xi ∈ S0
with e f a perturbed version of f where e fi − fi ≤ (6 · 2n − 5)ǫmach |fi | .
(3.14a)
(3.14b)
Although somewhat pessimistic, (3.14) indeed shows that the algorithm is backward stable. Without pivoting, formula (3.12) has not been proven backward stable. The strategy (3.13) basically avoids division by small numbers in (3.12) as much as possible. Since division by a small number is often a source of large roundoff errors, the strategy (3.13) makes perfect sense. In addition, recall that Algorithm 3.2.1 also removes the zero (or almost zero) divided differences in each iteration. Note that a backward error bound says something about which problem actually has been solved. It is not a forward error, which says how accurate the continued fraction evaluation is. It is well-known that the backward evaluation of a continued fraction is numerically stable in a lot of cases [JT74, CVdC85, VDC81]. Comparing (3.4) with (3.12) suggests that the construction of Thiele continued fractions can also be combined with the pivoting strategy. However, if the minimal divided difference is zero, then an inverse difference becomes infinite, which is not allowed. For the same reason, also the modified Thatcher-Tukey algorithm by Graves-Morris and Hopkins [GMH81] cannot be combined with (3.13). The numerical merit of Werner’s algorithm exactly lies in the fact that (3.13) cannot be zero. Besides numerical advantages, the pivoting strategy (3.13) also allows us to handle infinite (poles) and zero function values in a straightforward way. Note that the possibility f (xi ) = 0, ∞ for xi ∈ Xn was originally excluded. However, with the ordering (3.13), zero function values will always be treated first, i.e. they will be interpolated by b0 (x). In addition, infinite function values will never be treated first, but due to the value transformation (3.12), they will be treated second, i.e. they are interpolated by b1 (x). Hence, with this ordering the polynomials bj (x) 6≡ ∞ are always well defined, even when f (xi ) = 0, ∞ for some xi ∈ Xn . Only in these points can it be the case that R0 (xi ) = 0, ∞ for xi ∈ S0 and possibly also R1 (xi ) = 0 for xi ∈ S1 , but thereafter always Rj (xi ) 6= 0, ∞ for xi ∈ Sj (j > 1). Therefore the impact of such values on the entire recursion is minimal. One can think of their treatment as an automatic preprocessing step.
4 Asymptotic behavior In the previous Chapter a numerical algorithm for rational interpolation is given that can deal with vertical asymptotes (poles). In this Chapter, we add the possibility to interpolate at infinity and show how the algorithm of Werner can be extended in a natural way to handle this data. If a special ordering is imposed, i.e. the point at infinity is considered the last interpolation point, then the structure of a Thiele-Werner continued fraction can be exploited in a straightforward way to interpolate also at infinity.
4.1
Interpolation at infinity
By an interpolation condition at infinity we mean that the first nonzero term in the Laurent expansion at infinity of the rational interpolant rℓ,m (x) matches the first nonzero term of the Laurent expansion at infinity of f (x). For a rational interpolant in classical power form rℓ,m (x) =
α0 + α1 x + . . . + αℓ xℓ β0 + β1 x + . . . + βm xm
the first (nonzero) term of the Laurent expansion at infinity is αℓ′ ′ ′ xℓ −m βm′ where αℓ′ and βm′ (ℓ′ ≤ ℓ and m′ ≤ m) denote the nonzero highest degree coefficients of the numerator and denominator of rℓ,m (x) respectively. Let the first (nonzero) term of the Laurent expansion at infinity of f (x) be given by ξxk (k ∈ Z, ξ 6= 0). Then rℓ,m (∞) = f (∞) ⇔
αℓ′ = ξ 6= 0 and ℓ′ − m′ = k. βm′ 47
(4.1)
48
4. Asymptotic behavior
In the sequel, we let ℓ − m = k and consider rational interpolants rm+k,m (x) with m + k ≥ 0. Hence, we are interested in determining an irreducible rational function rm+k,m (x) for which an interpolation condition (4.1) at infinity and interpolation conditions (1.1) at finite points X2m+k−1 are given. It may be assumed that m > 0, i.e. rm+k,m (x) is truly rational. Otherwise rk,0 (x) is a polynomial and the problem is trivial. Note that if m > 0 and m + k ≥ 0, then X2m+k−1 6= ∅, i.e. there is at least one finite interpolation point. For practical considerations, as before, we may also assume that m + k ≥ m, hence k ∈ N. If m + k < m then we consider rm,m+k (x) = 1/rm+k,m (x) which interpolates rm,m+k (xi ) =
4.2
1 , f (xi )
xi ∈ X2m+k−1 ∪ {∞}.
Unattainability and non-normality
A non-trivial polynomial couple (p(x), q(x)) ∈ R(m + k, m) that satisfies the linearized finite interpolation conditions (1.2) for X2m+k−1 and also αm+k − ξβm = 0
(4.2)
always exists, because there are only 2m + k + 1 conditions for the 2m + k + 2 unknowns α0 , . . . , αm+k and β0 , . . . , βm . In addition, for any two non-trivial polynomial couples (p1 (x), q1 (x)) and (p2 (x), q2 (x)) in R(m + k, m) that satisfy (4.2)–(1.2), the polynomial (p1 q2 − p2 q1 )(x) is of degree at most 2m + k − 1 — due to (4.2), the coefficient of the term x2m+k is zero — and vanishes at 2m + k points X2m+k−1 . Therefore it must vanish identically and we have p1 (x)q2 (x) = p2 (x)q1 (x). Hence all solutions of (4.2)–(1.2) are equivalent and have the same irreducible form rm+k,m (x). As in the case of rational interpolation involving only finite data, the original non-linear problem (4.1)–(1.1) need not have a solution. We say that the point at infinity is unattainable if and only if rm+k,m (∞) 6= f (∞). Because there is no such thing as a deficiency polynomial including the point at infinity, the complete block structure for rational interpolation problems involving conditions at infinity is more complex than the one given in Chapter 1 and is fully described by Gutknecht [Gut93a]. Here we assume that the ordering of the data is such that all finite interpolation data X2m+k−1 come first and that the point at infinity is always last. With this consideration we can say the following concerning two subsequent entries on a staircase in the table of rational interpolants through the diagonals starting at (k, 0) and (k + 1, 0).
4.3.
Modification of Werner’s algorithm
49
Proposition 4.2.1. For m + k > 0 and k ≥ 0, let (p(x), q(x)) 6≡ (0, 0) ∈ R(m+k, m) satisfy the linearized interpolation conditions (1.2) for X2m+k−1 and let (p∗ (x), q ∗ (x)) ∈ R(m + k, m − 1) be the minimum degree solution for X2m+k−1 . Then ∂p∗ < m + k
⇒
p∗ (x)q(x) = q ∗ (x)p(x).
Proof. If ∂p∗ < m + k then the polynomial (p∗ q − q ∗ p)(x) is of degree ∂(p∗ q − q ∗ p) ≤ 2m + k − 1. Hence it must vanish identically for it has more than 2m + k − 1 distinct zeros X2m+k−1 . Proposition 4.2.1 says that if the minimum degree solution for the finite data X2m+k−1 in R(m + k, m − 1) is not of full numerator degree, then any non-trivial polynomial couple in R(m + k, m) that also satisfies (1.2) for the data X2m+k−1 is equivalent with this minimum degree solution. This implies that the sought polynomial couple in R(m + k, m) which also satisfies the interpolation condition at infinity exists if and only if the minimum degree solution in R(m + k, m − 1) for X2m+k−1 , when not of maximal numerator degree, already behaves asymptotically as required.
4.3
Modification of Werner’s algorithm
In this Section, a modification of the algorithm of Werner is given that determines the existence of and constructs a rational function R0 (x) that satisfies the interpolation conditions for X2m+k−1 ∪ {∞} with k ≥ 0. The recursion itself remains the same. The only essential change we make to the algorithm of Werner, is to modify the termination steps 3a and 3(b)i and fix the initialization. The main idea is to apply the recursion of Algorithm 3.2.1 to the finite data X2m+k−1 first and treat the point at infinity last. In this way a rational function in R(m + k, m) results that also satisfies the interpolation condition at infinity. From Proposition 4.2.1 it can be detected when the point at infinity cannot be interpolated. Crucial are of course also Propositions 3.4.2 and 3.4.3 which express the exact degree properties of convergents of a Thiele-Werner continued fraction. The highest degree coefficient in the numerator (respectively in the denominator) of an odd (respectively even) convergent is normalized to 1. In case the convergent is of full degree, a formula is given for the highest degree coefficient in the numerator (respectively
50
4. Asymptotic behavior
the denominator) of an even (respectively odd) convergent. This knowledge is exploited to ensure interpolation at infinity. Proposition 4.3.1 (k ≥ 0). Algorithm 4.3.1 constructs a Thiele-Werner continued fraction which interpolates at infinity or detects that infinity is unattainable. Proof. The recursion is clearly analogous to the one of Algorithm 3.2.1. The only steps that need explanation are the initialization and the termination steps. Consider the initialization first. The notation Sˆ0 and S0 merely serves to distinguish between finite interpolation points and the point at infinity, which is treated last. The choice ℓ0 = m + k and m0 = m indicates the target degrees. Clearly r0 = 0 is always possible and γ0 = ℓ0 − m0 − r0 = k, so that the algorithm constructs approximants of which the irreducible form are entries in the table of rational interpolants on the diagonals (k, 0) and (k + 1, 0) respectively. Recall from Propositions 3.4.2–3.4.3 and 3.4.5, that the exact degrees of the numerator and denominator of an even convergent of a Thiele-Werner continued fraction with γ0 = k satisfy, ∂Aj ≤ ∂Bj + k
(4.4a)
∂Bj = m − mj
(4.4b)
where equality holds if and only if c0 + c2 + · · · + cj 6= 0. For an odd convergent we have ∂Aj ≥ ∂Bj + k + 1
(4.5a)
∂Aj = m + k − mj
(4.5b)
where equality holds if and only if c1 + c3 + · · · + cj 6= 0. Due to the recursion it is almost trivial that in each step γj +1 ≤ #Sˆj and clearly γj + 1 (interpolation) conditions are necessary for the construction of the polynomial bj (x). In step 2a these are obtained from the finite data. In step 2b however, there are only γj = ℓj + mj finite data left. The remaining interpolation condition is at infinity. If bj (x) is constructed following (4.3) then R0 (x) with Rj (x) = bj (x) interpolates at infinity according to (4.1). Indeed, γj = ℓj − mj − rj = ℓj + mj implies that both mj = 0 and rj = 0. Hence due to the initialization r0 = 0 and from (3.9) follows that j is even. So that c0 + c2 + · · · + cj = ξ 6= 0 is the highest degree coefficient of Aj (x) by construction, and from (4.4) we know that ∂Aj = m − mj + k = m + k ∂Bj = m − mj = m.
4.3.
Modification of Werner’s algorithm
51
Algorithm 4.3.1 Werner’s algorithm with interpolation at infinity (k ≥ 0) 0. (Initialization) Let the set Sˆ0 = S0 ∪{∞} = X2m+k−1 ∪{∞} containing 2m + k + 1 points and function values R0 (xi ) = f (xi ) (xi ∈ Sˆ0 ) be given. Set j = 0, ℓj = m + k, mj = m and r0 = 0. 1. Set γj = ℓj − mj − rj (with rj + rj+1 = 1) 2. (a) If #Sj ≥ γj + 1 then choose γj + 1 points out of Sj and call them x0 , . . . , xγj . Compute bj (x), the polynomial of ∂bj ≤ γj such that bj (xi ) = Rj (xi ) for 0 ≤ i ≤ γj . (b) Else #Sj = γj (#Sˆj = γj + 1). Compute bj (x), the polynomial of ∂bj ≤ γj such that bj (xi ) = Rj (xi ),
xi ∈ Sj
cj = ξ − (c0 + c2 + . . . + cj−2 ).
(4.3a) (4.3b)
The recursion stops with kj = γj + 1 and Rj (x) = bj (x). 3. Determine additional points (possibly none) in Sj \ {x0 , . . . , xγj } that are also interpolated by bj (x) and call them xγj +1 , . . . , xkj −1 . Hence kj ≥ γj + 1 corresponds to the total number of points out of Sj where bj (x) interpolates. Let Sj+1 = Sj \ {x0 , . . . , xkj −1 },
Sˆj+1 = Sj+1 ∪ {∞}.
(a) If kj ≥ ℓj + 1 then the recursion stops with Rj (x) = bj (x) and the points in Sj+1 are unattainable. i. For j even, if c0 + c2 + . . . + cj 6= ξ then also the point at infinity is unattainable. ii. For j odd, also the point at infinity is unattainable. (b) Else kj < ℓj + 1. Then set aj (x) = (x − x0 ) . . . (x − xkj −1 ) aj (xi ) , xi ∈ Sj+1 Rj+1 (xi ) = Rj (xi ) − bj (xi ) and ℓj+1 = mj , mj+1 = ℓj − kj . Set j ← j + 1 and go to step 1.
52
4. Asymptotic behavior
Since Bj (x) is monic, the point at infinity is properly interpolated. In case of termination in step 3a, then kj ≥ ℓj + 1 and ℓj + mj − kj points remain in Sj+1 . Let Y s(x) = (x − xi ) xi ∈Sj+1
p∗ (x)
and consider the polynomials = Aj (x)s(x) and q ∗ (x) = Bj (x)s(x) which solve (1.2) for X2m+k−1 . If j is even then from (4.4) we have ∂p∗ = ∂Aj + ∂s ≤ m + k − mj + ℓj + mj − kj = m + k − (kj − ℓj ) ∂q ∗ = ∂Bj + ∂s = m − mj + ℓj + mj − kj = m − (kj − ℓj ) If j is odd then from (4.5) we have ∂p∗ = ∂Aj + ∂s = m + k − mj + ℓj + mj − kj = m + k − (kj − ℓj ) ∂q ∗ = ∂Bj + ∂s ≤ m − 1 − mj + ℓj + mj − kj = m − 1 − (kj − ℓj ) In both cases (p∗ (x), q ∗ (x)) ∈ R(m + k, m − 1) and solves (1.2) for X2m+k−1 . Hence by construction it is the minimum degree solution of the rational interpolant rm+k,m−1 (x) for X2m+k−1 . Since kj ≥ ℓj + 1, also ∂p∗ < m + k so that Proposition 4.2.1 applies. For j odd, ∂p∗ − ∂q ∗ ≥ k + 1, hence the point at infinity cannot be interpolated. For j even, the point at infinity is interpolated if and only if c0 + c2 + · · · + cj = ξ. Note that the resulting Thiele-Werner continued fraction R0 (x) does not need to be irreducible, unless it passes the last denominator check of Werner.
4.4
Connection with Thiele continued fractions
Algorithm 4.3.1 is valid for arbitrary k ≥ 0. For k = 0, it delivers a Thiele continued fraction if and only if in each step no extra points are interpolated. For k = 1 however, the resulting fraction R0 (x) is not a Thiele continued fraction even if in each step no extra points are interpolated. The subsequent convergents of R0 (x) are constructed such that their irreducible form are entries in the table of rational interpolants on the diagonals (k, 0) and (k + 1, 0) respectively, whereas the irreducible form of subsequent convergents of a Thiele continued fraction lie on the main staircase, hence on the diagonals (0, 0) and (1, 0). By a slight modification of the algorithm, convergents of R0 (x) can be constructed to lie on the diagonals (k − 1, 0) and (k, 0) respectively. In view
4.4.
Connection with Thiele continued fractions
53
Algorithm 4.4.1 Werner’s algorithm with interpolation at infinity (k > 0) 0. (Initialization) Let the set Sˆ0 = S0 ∪{∞} = X2m+k−1 ∪{∞} containing 2m + k + 1 points and function values R0 (xi ) = f (xi ) (xi ∈ Sˆ0 ) be given. Set j = 0, ℓj = m + k, mj = m and r0 = 1. 1. Set γj = ℓj − mj − rj (with rj + rj+1 = 1) 2. (a) If #Sj ≥ γj + 1 then choose γj + 1 points out of Sj and call them x0 , . . . , xγj . Compute bj (x), the polynomial of ∂bj ≤ γj such that bj (xi ) = Rj (xi ) for 0 ≤ i ≤ γj . (b) Else #Sj = γj (#Sˆj = γj + 1). Compute bj (x), the polynomial of ∂bj ≤ γj such that bj (xi ) = Rj (xi ), xi ∈ Sj 1 cj = − (c1 + c3 + . . . + cj−2 ). ξ The recursion stops with kj = γj + 1 and Rj (x) = bj (x). 3. Determine additional points (possibly none) in Sj \ {x0 , . . . , xγj } that are also interpolated by bj (x) and call them xγj +1 , . . . , xkj −1 . Hence kj ≥ γj + 1 corresponds to the total number of points out of Sj where bj (x) interpolates. Let Sj+1 = Sj \ {x0 , . . . , xkj −1 },
Sˆj+1 = Sj+1 ∪ {∞}.
(a) If kj ≥ ℓj + 1 then the recursion stops with Rj (x) = bj (x) and the points in Sj+1 are unattainable. 1 i. For j odd, if c1 + c3 + . . . + cj 6= then also the point at ξ infinity is unattainable. ii. For j even, also the point at infinity is unattainable. (b) Else kj < ℓj + 1. Then set aj (x) = (x − x0 ) . . . (x − xkj −1 ) aj (xi ) , xi ∈ Sj+1 Rj+1 (xi ) = Rj (xi ) − bj (xi ) and ℓj+1 = mj , mj+1 = ℓj − kj . Set j ← j + 1 and go to step 1.
54
4. Asymptotic behavior
of Proposition 3.4.4 it is not difficult to see that we need to choose γ0 = m + k − m − r0 = k − 1 for k > 0, hence r0 = 1. But it is interesting to notice how this affects the interpolation condition at infinity. The recursion remains basically the same, only the roles of numerator and denominator and of odd and even swap. This is made explicit by the analogue of Proposition 4.2.1 for two subsequent entries on a staircase in the table of rational interpolants through the diagonals starting at (k − 1, 0) and (k, 0). Proposition 4.4.1. For m, k > 0, let (p(x), q(x)) 6≡ (0, 0) ∈ R(m + k, m) satisfy the linearized interpolation conditions (1.2) for X2m+k−1 and let (p∗ (x), q ∗ (x)) ∈ R(m + k − 1, m) be the minimum degree solution for X2m+k−1 . Then ∂q ∗ < m
⇒
p∗ (x)q(x) = q ∗ (x)p(x).
Proof. If ∂q ∗ < m then the polynomial (p∗ q − q ∗ p)(x) is of degree ∂(p∗ q − q ∗ p) ≤ 2m + k − 1. Hence it must vanish identically for it has more than 2m + k − 1 distinct zeros X2m+k−1 . For completeness the description for constructing entries on the diagonals (k − 1, 0) and (k, 0) is given in Algorithm 4.4.1. Compared to Algorithm 4.3.1, only the initialization (r0 = 1) and the termination steps 3a and 2b are different. The proof for the correctness is almost identical to Proposition 4.3.1 and is therefore omitted. Remark that Proposition 4.4.1 should be used instead of Proposition 4.2.1.
4.5
Illustrations
In this Section an example of a solvable and an unsolvable problem is given. Example 4.5.1. To illustrate a nontrivial unsolvable problem, consider the function f (x) = x arctan( x1 ) which has a Laurent expansion at x = ∞ of the form 1 1 1 1 f (x) = 1 − 2 + 4 − 4 + 6 + . . . 3x 5x 7x 9x Hence we may want to approximate f (x) by a rational function of the form rm,m (x) including interpolation at infinity. For m = 3 and the linearly spaced data X5 = {−0.5, −0.3, −0.1, 0.1, 0.3, 0.5},
4.5.
Illustrations
55
the point at infinity is unattainable. This can be seen from a solution of the linearized problem (4.2)–(1.2). The coefficient matrix is of full rank, hence the kernel is one dimensional. From (4.2)–(1.2) we find α1 = α3 = β1 = β3 = 0 and polynomials satisfying the linearized conditions (4.2)–(1.2) are for instance given by p(x) = 0.00936 + 0.61249x2 + 0x3 q(x) = 0.09742 + 0.78439x2 + 0x3 . The ratio of the (nonzero) highest degree coefficients of p(x) and q(x) is 0.78086 6= 1, hence the point at infinity is not properly interpolated. Another way to see this is in view of Proposition 4.2.1. The rational interpolant rm,m−1 (x) for X2m−1 in Thiele-Werner continued fraction form (r0 = 1) is r3,2 (x) = 0.14711 +
(x + 0.1)(x − 0.1) (x + 0.3)(x − 0.3) + . 0.3380 0.63375
It is not necessary to expand r3,2 (x) in powerform to decide that the numerator of r3,2 (x) is not of full degree. This follows directly from the fact that the last convergent of the continued fraction is even and from Propositions 3.4.2-3.4.3 and 4.4.1. Since 0.14711 + 0.63375 = 0.78086 6= 0 6= 1 is the highest degree coefficient of A2 (x) and noting that ∂A2 = ∂B2 + k = m − 1 − mi + k < m + k leads to the same conclusion. Example 4.5.2. Now consider the function f (x) = x2 arctan( x1 ) sampled at equidistant points in [−0.5, 0.5]. The rational interpolant r3,2 (x) constructed from the finite data X5 = {−0.5, −0.3, −0.1, 0.1, 0.3, 0.5} is shown in Figure 4.1(a) (dashed line). Clearly, r3,2 (x) does not extrapolate very well. But knowing that f (x) has a Laurent expansion at x = ∞ of the form f (x) = x −
1 1 1 1 + 3 − 5 + 7 + ... , 3x 5x 7x 9x
let us construct a r3,2 (x) = rm+k,m (x) rational interpolant which also interpolates at infinity. Hence m = 2 and k = 1. The r3,2 (x) rational interpolant for the data X5 = {−0.5, −0.25, 0, 0.25, 0.5} ∪ {∞} is shown in Figure 4.1(b) (dashed line), which is now almost indistinguishable from f (x) (full line). The Thiele-Werner continued fraction representation of r3,2 (x) obtained from Algorithm 4.4.1 is r3,2 (x) = 0 +
(x − 0) (x + 0.5)(x − 0.5) (x − 0.25)(x + 0.25) + + . 1.80644 −0.15489 −0.80644
56
4. Asymptotic behavior
Note that the second convergent is the r2,2 (x) rational interpolant for the finite data X4 = {−0.5, −0.25, 0, 0.25, 0.5}. The third convergent is obtained by interpolation at infinity, hence from the relation 11 − 1.80644 = −0.80644. 4
4
3
3
2
2
1
1
0
0
−1
−1
−2
−2
−3
−3
−4 −4
−3
−2
−1
0
1
2
3
(a) Without asymptotic information
4
−4 −4
−3
−2
−1
0
1
2
3
4
(b) With asymptotic information
Figure 4.1: Rational interpolants with and without interpolation at infinity for f (x) = x2 arctan( x1 ) (full line). The dots represent the chosen interpolation data. In Figure 4.1(a) the r3,2 (x) rational interpolant is shown (dashed line) without imposing interpolation at infinity. Figure 4.1(b) shows the r3,2 (x) rational interpolant (dashed line) with interpolation at infinity.
5 Related algorithms There are many other algorithms for rational interpolation, some of which do not rely on reordering of the points. Without the intent of being exhaustive, we elaborate on the continued fraction algorithm of Gutknecht [Gut93a] and the recursions given by Van Barel and Bultheel [VBB92], which are both to some extent related to the algorithm of Werner.
5.1
Staircase G-fractions
Gutknecht [Gut89] describes an algorithm that builds a continued fraction representation, similar to the one obtained by the algorithm of Werner, but keeping the order of the data fixed at all times. The partial numerators and partial denominators of this so called staircase G-fraction, are polynomials which are determined in a completely analogous way by continued fraction reductions. But, whereas Werner reorganizes the points such that, locally, the block is square and of maximal size, Gutknecht gives conditions which are based on the block structure to jump over blocks that are not necessarily square. For sake of comparison, we describe the algorithm of Gutknecht in a similar way as the algorithm of Werner in Section 3.2. The original algorithm also deals with infinite sequences, such that the recursion can be continued at infinitum, but here we are only interested in a particular interpolant. Hence we restrict the description to finite sequences. We redefine the sets Sj as (finite) sequences of which the order is now fixed and let the points in ℓj +mj Sj be indexed by {xi }i=0 in each recursion step. For rj + rj+1 = 1, the description is given in Algorithm 5.1.1. Clearly, the polynomials bj (x) and aj (x) have the same roles as in the algorithm of Werner. Only kj is defined more implicitly to deal with local non-square blocks, but it has an analogous meaning, i.e. kj represents the 57
58
5. Related algorithms
Algorithm 5.1.1 Construction of staircase G-fractions [Gut89] 0. (Initialization) Let the sequence S0 = {xi }ℓ+m i=0 containing ℓ + m + 1 points and function values R0 (xi ) = f (xi ) (xi ∈ S0 ) be given. Set j = 0, ℓj = ℓ, mj = m. 1. Set γj = ℓj − mj − rj (with rj + rj+1 = 1). 2. Let x0 , . . . , xγj be the first γj + 1 points out of Sj . Compute bj (x), the polynomial of degree ∂bj ≤ γj such that bj (xi ) = Rj (xi ) for 0 ≤ i ≤ γj . 3. (a) If bj (xγj+1 ) 6= Rj (xγj+1 ) then set kj = γj + 1. (b) Else bj (xγj+1 ) = Rj (xγj+1 ). Determine the largest kj such that the rk,k−γj −1 (x) rational interpolant of Rj (x) on x0 , . . . , x2k−γj −1 ,
2k − γj − 1 ≤ ℓj + mj
is equal to bj (x) for all k with γj < k ≤ kj − 1. (c) If 2kj − γj − 1 ≥ ℓj + mj + 1 then the recursion stops with Rj (x) = bj (x). (d) Else Sj+1 = Sj \ {xi ∈ Sj : bj (xi ) = Rj (xi ), 0 ≤ i ≤ 2kj − γj − 2} Y aj (x) = (x − xi ) xi ∈Sj \Sj+1
Rj+1 (xi ) =
aj (xi ) , Rj (xi ) − bj (xi )
xi ∈ Sj+1 .
and ℓj+1 = mj , mj+1 = ℓj − kj . Set j ← j + 1 and go to step 1.
5.1.
Staircase G-fractions
59
total number of points among x0 , . . . , x2kj −γj −2 that are truly interpolated by bj (x). Example 5.1.1. Let bj (x) be the upper-left corner of a block of the shape as shown in Figure 5.1(a). Hence bj (x) already interpolates in x0 , . . . , xγj and because the block is growing, also in xγj +1 . According to Figure 5.1(a), the rk,k−γj −1 (x) rational interpolant of Rj (x) in x0 , . . . , x2k−γj −1 is equal to bj (x) for γj < k ≤ kj − 1 = γj + 2. Hence kj = γj + 3 is the total number of points among x0 , . . . , xγj +4 that are interpolated by bj (x). In Figure 5.1(a) besides x0 , . . . , xγj only xγj +1 and xγj +3 are truly interpolated by bj (x). For the purpose of illustration only, we note that once a block is determined of which the upper left corner is known, then one can always reorder the data a posteriori such that the block becomes square (cf. Proposition 1.3.2). If x0 , . . . , xγj +4 are for instance reordered as follows x0 , . . . , xγj , xγj +1 , xγj +3 , xγj +2 , xγj +4 then the points become well ordered and the block becomes square as shown in Figure 5.1(b). Algorithm 5.1.1 does not reorder the data.
(a) Unordered data
(b) Ordered data
Figure 5.1: Illustration of the effect of reordering of the data on the block emanating from bj (x). On the left, a non-square block is shown. The stars represent the rk,k−γj −1 (x) rational interpolants of Rj (x) on x0 , . . . , x2k−γj −1 with γj < k. On the right, the points are reordered such that the block becomes square.
60
5. Related algorithms
In comparison to Algorithm 3.2.1 there is only one stopping criterion in step 3c. There is more to say about the condition 2kj − γj − 1 ≥ ℓj + mj + 1
(5.1)
than meets the eye. Actually, (5.1) implicitly combines both termination steps of Werner’s algorithm. First of all, if the sequence Sj is ordered such that no block emanates from bj (x) (step 3a of Algorithm 5.1.1) and no more data remain, i.e. kj = γj + 1 = ℓj + mj + 1 then equality holds in (5.1). On the other hand, for the recursion to be continued, kj < ℓj + 1 is necessary. If 2kj − γj − 1 < ℓj + mj + 1 then by the definition of γj holds kj < ℓj + 1. Analogously, if too many points are interpolated, i.e. kj ≥ ℓj + 1, then again by the definition of γj holds 2kj − γj − 1 ≥ ℓj + mj + 1. Hence (5.1) is an appropriate stopping condition. Also unattainable points are characterized more implicitly than in Algorithm 3.2.1. This clarifies the difference in objectives of both algorithms: in its current form Algorithm 5.1.1 is only concerned with the construction of a staircase G- fraction. In conclusion, the recursion without reordering is mainly of theoretical importance. A practical numerical implementation could for instance be based on the transformation (3.12). But then it should include a pivoting strategy as in Section 3.5. Since Algorithm 5.1.1 yields exactly the same intermediate and final results if the order of the sequence S0 results from an application of Werner’s algorithm, Algorithm 3.2.1 can be seen as a practical, numerical version of Algorithm 5.1.1. Interpolation at infinity is not considered in [Gut89].
5.2
Parameterizations
There is a whole other class of very general recursive methods, which we briefly discuss here. Without going in too much detail into the theory underlying the approaches, the idea is to look for polynomial couples (n(x), d(x)) of minimal degree that satisfy a number of (linearized) interpolation conditions. For the most general concept of minimal degree we follow Van Barel and Bultheel [VBB92]. Define the shift parameters (s1 , s2 ) ∈ N×N with s1 s2 = 0 and the (s1 , s2 )-degree α of (n(x), d(x)) as α = max{∂n + s1 , ∂d + s2 }. For given shift parameters (s1 , s2 ) , a given sequence {xi }ji=0 and a function f (x), the problem is to find a polynomial couple (n(x), d(x)) of minimal
5.2.
Parameterizations
61
(s1 , s2 )-degree ≥ 0 such that the linearized rational interpolation conditions f (xi )d(xi ) − n(xi ) = 0,
i = 0, . . . , j
(5.2)
are satisfied. We already briefly touched this kind of problem setting in Section 2.1, where the barycentric form was used by Antoulas and Anderson [AA86] for obtaining a solution for (5.2) of minimal (0, 0)-degree. In the discussion here we restrict ourselves to one particular, so-called single step method, where one is interested to compute a sequence of neighboring entries in the table of rational interpolants (or in case of blocks, a maximal subsequence) [BL97]. In each step one more interpolation condition is added, hence each time 0 ≤ j is increased by one. It is shown in [VBB92, VBB90] that all polynomial couples (n(x), d(x)) of a certain (s1 , s2 )-degree ≤ α that satisfy (5.2) can be parameterized by two polynomial couples vj (x) = (nj,v (x), dj,v (x)) and wj (x) = (nj,w (x), dj,w (x)). Therefore (vj (x), wj (x)) is called a basic pair. Denote by Ri vj and Ri wj the linearized residual at xi of the polynomial couple vj (x) and wj (x) respectively Ri vj = f (xi )dj,v (xi ) − nj,v (xi ) Ri wj = f (xi )dj,w (xi ) − nj,w (xi ). The steps to obtain a possible choice for such a basic pair are given in Algorithm 5.2.1. For each 0 ≤ j, a basic pair (vj (x), wj (x)) is constructed from a basic pair (vj−1 (x), wj−1 (x)) of the previous level. In each step, both vj (x) and wj (x) solve the linearized rational interpolation problem for {xi }ji=0 or equivalently Ri vj = 0,
i = 0, . . . , j
Ri wj = 0,
i = 0, . . . , j.
The algorithm is such that the polynomial couple vj (x) is always of minimal (s1 , s2 )-degree ≥ 0. In fact vj (x) is a minimal degree solution for some rational interpolant in the table of rational interpolants. Hence, vj (x) need not be irreducible, but if vj (x) contains common factors, they are unattainable points. It is also shown in [VBB92, VBB90] that all solutions of the (non-linear) rational interpolation problem of minimal (s1 , s2 )-degree are also parameterized by a linear combination of vj (x) and wj (x). Example 5.2.1. Let us consider (s1 , s2 ) = (0, 0) and the case of a normal table of rational interpolants, i.e. without blocks. Figure 5.2 illustrates
62
5. Related algorithms
Algorithm 5.2.1 Single step parameterization algorithm [VBB92] Input: a sequence {xi }∞ i=0 , a function f (x) and shift parameters (s1 , s2 ). Output : In each step j = −1, 0, 1, . . ., a basic pair (vj+1 (x), wj+1 (x)) that parameterizes all solutions of minimal (s1 , s2 )-degree ≥ 0. (Initialization) Set j = −1 and nj,v (x) nj,w (x) 1 0 vj (x) wj (x) = = dj,v (x) dj,w (x) 0 1 if s1 ≤ s2 then δj,v δj,w = s1 s2 else δj,v δj,w = s2 s1 . (Main loop) for j = −1, 0, 1, 2, · · · if Rj+1 vj = 0 then 1 0 Vj+1 (x) = 0 x − xj+1 δj+1,v δj+1,w = δj,v δj,w + 1 Rj+1 wj else let hj+1 = and Rj+1 vj −hj+1 x − xj+1 Vj+1 (x) = 1 0 δj+1,v δj+1,w = δj,w δj,v + 1 if δj+1,v > δj+1,w then 0 1 Vj+1 (x) = Vj+1 (x) 1 0 0 δj+1,v δj+1,w = δj+1,v δj+1,w 1 else Vj+1 (x) = Vj+1 (x). vj+1 (x) wj+1 (x) = vj (x) wj (x) Vj+1 (x)
1 0
5.2.
Parameterizations
63
Algorithm 5.2.1. Each time that a new (linearized) interpolation condition is added, all rational interpolants on the next antidiagonal solve the linearized rational interpolation problem for {xi }j+1 i=0 . The solutions of minimal (s1 , s2 )degree α are those rational functions of (s1 , s2 )-degree α that intersect this antidiagonal and for which α is minimal.
(a) (0, 0)-degree ≤ 2
(b) (0, 0)-degree ≤ 3
Figure 5.2: Illustration of (s1 , s2 )-degree with (s1 , s2 ) = (0, 0) if there are no blocks in the table of rational interpolants. The rational interpolants that satisfy (5.2) for {xi }4i=0 lie on the antidiagonal shown in Figure 5.2(a). The rational interpolants of (0, 0)-degree = 2 are marked with bold dashed lines. The rational interpolant of minimal (0, 0)-degree ≤ 2 that also satisfies (5.2) for {xi }4i=0 is indicated with a star. In Figure 5.2(b) the rational interpolants of minimal (0, 0)-degree ≤ 3 that satisfy (5.2) for {xi }5i=0 are shown (stars). Algorithm 5.2.1 constructs the rational interpolant below the diagonal (dashed line). For the data {xi = i + 1}5i=0 and function values {f (xi )}5i=0 = {4, 8, 7, 5, 1, 6} Algorithm 5.2.1 returns 2108 − 16951 v6 (x) w6 (x) = 1
1173 55 x−6 x−5 − 92 x − 4 155 0 1 0 1 0 1 12 x−3 4 x−1 5 4 x−2 1 0 1 0 1 0
64
5. Related algorithms
or in full v6 (x) = (23874 − 36493x + 9996x2 − 737x3 , 894 − 2082x + 348x2 ) w6 (x) = ((x − 6)(2114 − 2643x + 433x2 ), (x − 6)(194 − 249x + 31x2 ). Hence, v6 (x) is of minimal (s1 , s2 )-degree 3. Compared to Figure 5.2(b) v6 (x) is the rational interpolant marked with a star below the diagonal. The other rational interpolant of minimal (s1 , s2 )-degree 3 above the diagonal, which is also shown in Figure 5.2(b), is for instance obtained from the linear combination (n(x), d(x)) = 433 737 v6 (x) + w6 (x) where 1 (989334 − 2556105x + 465651x2 ) 737 1 d(x) = (−470766 + 342550x − 169911x2 + 22847x3 ). 737 For the remainder of this Section we let (s1 , s2 ) = (0, 0), which limits the construction of vj (x) to entries on the main staircase. At first sight, Algorithm 5.2.1 may seem very different from the continued fraction algorithms discussed in the previous Chapters. Nevertheless, it need not be too surprising that there is a close connection between these algorithms due to the uniqueness of the rational interpolant. We elaborate further on the connection with the construction of Thiele continued fractions. To this end, the recurrence (3.4) is extended to deal with an infinite sequence {xi }∞ i=0 as follows R0 (xk ) = f (xk ) k≥0 xk − xi . (5.3) Ri+1 (xk ) = k≥i Ri (xk ) − Ri (xi ) n(x) =
To avoid any notational confusion between Rj (xi ) and the residuals Ri vj and Ri wj , we introduce a new notation and write instead of (5.3) ϕ0 (xk ) = f (xk ) k≥0 xk − xi . (5.4) ϕi+1 (xk ) = k≥i ϕi (xk ) − ϕi (xi )
The interpolating Thiele continued fraction for {xi }j+1 i=0 is then the (j + 1)-th convergent of ϕ0 (x0 ) +
x − x0 x − x1 x − x2 + + + ··· ϕ1 (x1 ) ϕ2 (x2 ) ϕ3 (x3 )
(5.5)
where it is assumed that the inverse differences ϕi (xi ) 6= ∞. This is for instance satisfied if every two consecutive rational interpolants on the main staircase are different.
5.2.
Parameterizations
65
Proposition 5.2.1 says that, if two consecutive rational interpolants on the main staircase are different, then their minimum degree solutions cannot satisfy any extra linearized interpolation conditions simultaneously anymore. Proposition 5.2.1. Let {xi }∞ i=0 be a sequence of distinct points. If the j+1 minimal degree solutions vj (x) ∈ R(⌈ 2j ⌉, ⌊ 2j ⌋) and vj+1 (x) ∈ R(⌈ j+1 2 ⌉, ⌊ 2 ⌋) for {xi }ji=0 and {xi }j+1 i=0 respectively, are such that nj,v (x)dj+1,v (x) − nj+1,v (x)dj,v (x) 6≡ 0. Then for any i > j Ri vj+1 = 0 ⇒ Ri vj 6= 0. Proof. Since the polynomial nj,v (x)dj+1,v (x)−nj+1,v (x)dj,v (x) 6≡ 0 of degree j j+1 at most max{⌈ 2j ⌉ + ⌊ j+1 2 ⌋, ⌊ 2 ⌋ + ⌈ 2 ⌉} ≤ j + 1 already vanishes at j + 1 points xk (0 ≤ k ≤ j) Rk vj+1 dj,v (xk ) − Rk vj dj+1,v (xk ) = 0, it cannot be that both Ri vj+1 and Ri vj simultaneously vanish at other points xi (i > j). Hence if the sequence {xi }∞ i=0 is ordered such that every two consecutive rational interpolants on the main staircase are different, then we have from Proposition 5.2.1 that for each j, Rj+1 vj 6= 0. So that the combined recursion for the basic pairs simplifies to v−1 (x) w−1 (x) = 1 0 0 1 . (5.6) v (x) w (x) = −h v (x) + w (x) (x − x )v (x) j+1 j+1 j+1 j j j+1 j In this case, the inverse differences (5.4) and the residuals are Ri vj and Ri vj are related as follows.
Proposition 5.2.2. If the sequence {xi }∞ i=0 is ordered such that every two consecutive rational interpolants on the main staircase are different, then for i > j Ri wj j = −1, 0, 1, . . . . ϕj+1 (xi ) = − Ri vj Proof. The proof is by induction on j. In the trivial case (j = −1, i > j), −
f (xi ) Ri w−1 =− = f (xi ) = ϕ0 (xi ). Ri v−1 −1
66
5. Related algorithms
In the general case, for i > j > −1, application of (5.6) gives − =−
f (xi )dj,w (xi ) − nj,w (xi ) Ri wj =− Ri vj f (xi )dj,v (xi ) − nj,v (xi )
f (xi )(xi − xj )dj−1,v (xi ) − (xi − xj )nj−1,v (xi ) . f (xi )(−hj dj−1,v (xi ) + dj−1,w (xi )) − (−hj nj−1,v (xi ) + nj−1,w (xi ))
Since hj =
Rj wj−1 , Rj vj−1
from the induction hypothesis, we have −hj = ϕj (xj ). Hence −
Ri wj (xi − xj )Ri vj−1 =− . Ri vj Ri wj−1 + ϕj (xj )Ri vj−1
If Ri vj−1 6= 0 then −
(xi − xj ) Ri wj−1 − ϕj (xj ) − Ri vj−1 (xi − xj ) = = ϕj+1 (xi ). ϕj (xi ) − ϕj (xj )
Ri wj = Ri vj
In case that Ri vj−1 = 0, first note that −Ri wj /Ri vj is well defined. After all, from contraposition of Proposition 5.2.1 follows Ri vj−1 = 0 ⇒ Ri vj 6= 0. From the induction hypothesis we may write (xi − xj ) ϕj (xi ) − ϕj (xj ) (xi − xj ) = =0 Ri wj−1 − − ϕj (xj ) Ri vj−1 Ri wj . =− Ri vj
ϕj+1 (xi ) =
Here also −Ri wj−1 /Ri vj−1 is well defined. Since Ri wj−1 = (xi −xj−1 )Ri vj−2 and from Proposition 5.2.1 follows Ri vj−1 = 0 ⇒ Ri vj−2 6= 0. When restricting the recursion (5.6) to the polynomial couple vj+1 (x) which solves the linearized rational interpolation problem for {xi }j+1 i=0 , one obtains
5.2.
Parameterizations
67
Proposition 5.2.3. If the sequence {xi }∞ i=0 is ordered such that every two consecutive rational interpolants on the main staircase are different, then vj+1 (x) is equal to the (j + 1)-th convergent of (5.5) for j = −1, 0, 1, . . .. Proof. We show that both vj+1 (x) and the (j + 1)-th convergent of (5.5), satisfy the same recursion relation. From the three term recurrence relation of continued fractions, the (j + 1)-th convergent of (5.5) satisfies Aj+1,v (x) ϕj+1 (xj+1 )Aj,v (x) + (x − xj )Aj−1,v (x) = Bj+1,v (x) ϕj+1 (xj+1 )Bj,v (x) + (x − xj )Bj−1,v (x) with
( A−1,v (x) = 1, A0,v (x) = ϕ0 (x0 ) = f (x0 ),
B−1,v (x) = 0 B0,v (x) = 1.
The polynomial couple vj+1 (x) satisfies (5.6), which can also be written as nj+1,v (x) −hj+1 nj,v (x) + (x − xj )nj−1,v (x) = dj+1,v (x) −hj+1 dj,v (x) + (x − xj )dj−1,v (x) with
(
n−1,v (x) = 1, d−1,v (x) = 0 n0,v (x) = f (x0 ), d0,v (x) = 1.
From Proposition 5.2.2, we have −hj+1 = −
Rj+1 wj = ϕj+1 (xj+1 ), Rj+1 vj
which shows that both recursions are identical. Hence the recursion (5.6) is nothing less than the classical three term recurrence relation applied to a Thiele continued fraction. Of course if the points are ordered differently, then such a representation need not exist. It is shown in [VBB92] that also derivatives, poles and conditions at infinity can be incorporated by defining appropriate residuals. Also an alternative is given to deal with unattainable points: if some points are unattainable a parameterization of all solutions of minimal (s1 , s2 )-degree for the nonlinear interpolation problem is also given by linear combinations of the elements of the obtained basic pair. Therefore the approach is very attractive. However the entire parameterization is more useful in a symbolic environment than in a numerical implementation. For instance, extra conditions are needed to decide on a candidate out of all solutions.
68
5. Related algorithms
Example 5.2.2. Let us reconsider Example 3.1.1 where xi = i and fi = 2 − (i mod 2) for i = 0, . . . , 4. Algorithm 5.2.1 returns 0 x−4 −1 x − 3 0 x−2 v5 (x) w5 (x) = 1 0 1 0 1 0 −1 x − 1 2 x 1 0 1 0 or in full v5 (x) = (2(x − 1)(x − 3), (x − 1)(x − 3)) w5 (x) = ((6 − 6x + x2 )(x − 4), (3 − 2x)(x − 4)). The polynomial couple v5 (x) of minimal (0, 0)-degree 2 satisfies the linearized conditions (5.2), but is not irreducible. If we take for instance the linear combination v5 (x) + w5 (x), then the polynomial couple (−18 + 22x − 8x2 + x3 , −9 + 7x − x2 ) of minimal (0, 0)-degree 3 is obtained, which also satisfies the linearized conditions (5.2) but is now irreducible. Hence by increasing the maximum allowed degree, the problem of unattainability disappears. However, also uniqueness is lost: we can take any linear combination of v5 (x) and w5 (x) as long as no extra common factors are introduced. Besides single step methods, there exist more general recurrences which can follow arbitrary paths in the table of rational interpolants of arbitrary stepsizes. See for example [BL00, BL97, Gut93a, Gut93b] and the references cited therein. These methods have not been considered here. The idea is to jump over singular or nearly singular blocks by using a heuristic look ahead strategy so that only well-conditioned subproblems are solved. The success of these so-called weakly stable algorithms depends mainly on how well the condition number of the coefficient matrices can be estimated without explicitly constructing the matrices. In the Pad´e case effective estimates are found [CM93], because the coefficient matrices involved are particularly structured, i.e. they are either Hankel or Toeplitz matrices of which good estimates for their condition numbers exist. In the context of rational interpolation, it is still an open question how to find sharp estimates for the condition number of the coefficient matrices.
Part II
Multivariate Rational Approximation
69
Introduction In this second part, we disregard asymptotic behavior, but generalize the setting of the first part considerably by considering the multivariate case and allowing uncertainty in the function values.
Motivation In many applications, observations are prone to imprecise measurements. When constructing a model based on such data, an approximation rather than an interpolation approach is needed. The conventional way to find a rational function approximating such data is by means of a rational least squares approximation. Here a new approach is proposed.
Overview In Chapter 6 the new problem is formulated, immediately for the multivariate case. It is assumed that the uncertainty in the independent variables is negligible and that for each observation an uncertainty interval can be given which contains the (unknown) exact value. To approximate such data we look for rational functions which intersect all uncertainty intervals. We show that this problem can be solved by a quadratic programming problem with a strictly convex objective function, yielding a unique rational function which intersects all uncertainty intervals and satisfies some additional properties. Compared to rational least squares approximation which is inherently a nonlinear optimization problem where the objective function may have many local minima, this makes the new approach attractive. The problem statement is independent of the number of variables, hence truly multidimensional. To illustrate the applicability of the technique developed in Chapter 6, this new method is applied to several benchmark problems in Chapter 7. The obtained results indicate that the method scales very well to higher dimensional problems. 71
72
Related algorithms
Chapter 8 is a case study, where the design of multidimensional recursive filters is considered. A technology which is required in many diverse areas, including image processing, video signal filtering, tomography and different grid-based methods in scientific computing. It is shown that reformulation of the problem using uncertainty intervals overcomes many of the classical drawbacks. Chapters 6 and 7 are based on [SCV07]. Chapter 8 is based on [SCL08].
6 Rational interpolation of vertical segments In many applications, observations are prone to imprecise measurements. When constructing a model based on such data, an approximation rather than an interpolation approach is needed. Very often a least squares approximation is used. Here we follow a different approach. A natural way for dealing with uncertainty in the data is by means of an uncertainty interval. We assume that the uncertainty in the independent variables is negligible and that for each observation an uncertainty interval can be given which contains the (unknown) exact value. To approximate such data we look for functions which intersect all uncertainty intervals. In the literature [Mar91, MPSS96, MB82] this problem is studied for polynomials, or more generally for functions which are linear in the unknown coefficients. Here we study the problem for a particular class of functions which are nonlinear in the unknown coefficients, namely rational functions. We show how to reduce the problem to a quadratic programming problem with a strictly convex objective function, yielding a unique rational function which intersects all uncertainty intervals and satisfies some additional properties. Compared to rational least squares approximation which reduces to a nonlinear optimization problem where the objective function may have many local minima, this makes the new approach attractive.
6.1
Problem statement
To approximate noisy or imprecise data, very often a least squares approach is used. The idea here is to deal with uncertainty in another, very natural way: by means of an uncertainty interval. We assume that the uncertainty 73
74
6. Rational interpolation of vertical segments
in the independent variables is negligible and that for each observation, an uncertainty interval can be given which contains the (unknown) exact value. We study the problem of approximating these data with a rational function which intersects the given uncertainty intervals. Both the problem statement and the algorithm that we develop to solve it can be written down for any number of independent variables. For ease of notation, we consider the bivariate instead of the general high dimensional case. Consider the set of n + 1 vertical segments Sn = {(x0 , y0 , F0 ), (x1 , y1 , F1 ), . . . , (xn , yn , Fn )},
(6.1)
where Fi = [f i , f i ] are real finite intervals with f i < f i (i = 0, . . . , n) and none of the points (xi , yi ) ∈ R2 coincide. Let Nℓ and Dm be two finite subsets of N2 of the form Nℓ = {(i0 , j0 ), . . . , (iℓ , jℓ )}, Dm = {(d0 , e0 ), . . . , (dm , em )},
(6.2) (6.3)
with which we associate the bivariate polynomials p(x, y) =
ℓ X
ak xik y jk ,
k=0
q(x, y) =
m X
(6.4) dk ek
bk x y .
k=0
Further, denote the irreducible form of p(x, y)/q(x, y) by rℓ,m (x, y) and let Rℓ,m (Sn ) = {rℓ,m (x, y) | rℓ,m (xi , yi ) ∈ Fi , q(xi , yi ) > 0, i = 0, . . . , n}. (6.5) As we see in the next Section, changing the conditions on the sign of q(xi , yi ) does not change the nature of the problem. Therefore there is no loss of generality in describing the problem with the conditions q(xi , yi ) > 0. For given segments Sn and given sets Nℓ and Dm , we are concerned with the problem of determining whether Rℓ,m (Sn ) 6= ∅.
(6.6)
We call this the existence problem. In addition to the existence problem, finding a representation for Rℓ,m (Sn ) is referred to as the representation problem. Whereas in classical rational interpolation ℓ and m are chosen so that ℓ + m + 1 = n + 1, here we pursue ℓ + m ≪ n.
6.2.
Linearization
75
A problem similar to (6.5)-(6.6) has already been studied in [MB82]. Instead of considering rational models rℓ,m (x, y) in (6.5), the authors consider models which are linear in the unknown coefficients. Although we solve a linearized version of (6.5)-(6.6), our problem does not reduce to the one described in [MB82] since our solution set is unbounded while the solution set in [MB82] is bounded. We discuss the connection of [MB82] with our work in more detail in Section 6.3. Without the intent of being exhaustive, we also mention the interval approach of Markov [Mar91, MPSS96]. This approach applies only to a special case of the problem (6.5)-(6.6), where instead of multivariate rational functions rℓ,m (x, y), univariate polynomials are considered to approximate univariate data. The method is based on the interval Lagrange representation of the interpolating polynomial. An algorithm is given that reliably solves the existence problem after performing a number of interval intersections which is combinatorial in the number of data points. With respect to the representation problem, piecewise upper and lowerbounds are provided for the univariate polynomials which satisfy the special case of (6.5)-(6.6). These are found after yet another combinatorial number of interval intersections. Due to its computational complexity, this approach is limited to low degree polynomials and small datasets. Least squares approximation is the conventional way to model noisy or uncertain data. For non-linear models in general and rational models in particular, the least squares problem may have many local minima and the quality of the computed model therefore highly depends on the provided starting value. This is illustrated numerically in Section 6.4. In contrast, we prove in Section 6.3 that the existence and representation problem (6.5)-(6.6) reduce to solving a quadratic programming problem of which the objective function is strictly convex. Hence our problem has a unique solution, if it exists.
6.2
Linearization
The interpolation conditions rℓ,m (xi , yi ) ∈ Fi
i = 0, . . . , n,
in (6.5) amount to fi ≤
p(xi , yi ) q(xi , yi )
≤ f i , i = 0, . . . , n.
(6.7)
76
6. Rational interpolation of vertical segments
Under the assumption that q(xi , yi ) > 0, i = 0, . . . , n, we obtain the following homogeneous system of linear inequalities after linearization −p(xi , yi ) + f i q(xi , yi ) ≥ 0 , i = 0, . . . , n. (6.8) p(xi , yi ) − f i q(xi , yi ) ≥ 0 There is no loss of generality in assuming that q(x, y) is positive in the interpolation points: the interpolation conditions (6.7) can be linearized for arbitrary non-zero q(xi , yi ), without changing the nature of the problem. For ease of notation, let λ = (a0 , . . . , aℓ , b0 , . . . , bm )T and k = ℓ + m + 2. We denote by U the (2n + 2) × k matrix −xi00 y0j0 . . . −xi0ℓ y0jℓ f 0 xd00 y0e0 . . . f 0 xd0m y0em .. .. .. .. . . . . −xi0 y j0 . . . −xiℓ y jℓ f xd0 y e0 . . . f xdm y em n n n n n n n n 0 U = i0n j0 iℓ jℓ d0 e0 dm em . −f 0 x0 y0 . . . −f 0 x0 y0 . . . x0 y0 x0 y0 .. .. .. .. . . . . xin0 ynj0 . . . xinℓ ynjℓ −f n xdn0 yne0 . . . −f n xdnm y0em In the sequel, we abbreviate (6.8) to U λ ≥ 0 and denote
Lℓ,m (Sn ) = { λ ∈ Rk | U λ ≥ 0 }.
(6.9)
Geometrically, the set (6.9) is the intersection of a finite number of closed half spaces, whose boundary hyperplanes pass through the origin in Rk . We assume that U has full column rank k, such that Lℓ,m(Sn ) is a pointed polyhedral convex cone with apex in the origin [Gru67, GT56]. A property of polyhedra that is important for the sequel is full-dimensionality. A polyhedron P ⊆ Rk is said to be full-dimensional if it contains k + 1 points x0 , . . . , xk such that the vectors x1 − x0 , x2 − x0 , . . . , xk − x0 are linearly independent. A polyhedron P ⊆ Rk determined by the linear inequalities U λ ≥ 0 is full-dimensional if and only if it contains a point λ for which U λ > 0. Such a point is called an interior point. It follows immediately that if the linear inequalities determining the polyhedron do not contain any (implicit) equality constraints, then the polyhedron is full-dimensional [NW88]. Hence, if any of the vertical segments Fi is such that f i = f i , the polyhedron Lℓ,m(Sn ) is not full-dimensional. But assuming that all Fi are such that f i < f i , as we have done, is not enough to guarantee that Lℓ,m (Sn ) is full-dimensional. The linearized version of the existence problem (6.6) consists in determining whether
6.2.
Linearization
77
Lℓ,m (Sn ) 6= {0}.
(6.10)
Accordingly, the linearized representation problem is concerned with finding a non-zero element λ in Lℓ,m(Sn ). Two important remarks need to be made before solving the linearized existence and representation problem. First, observe that if λ ∈ Lℓ,m (Sn ), then also tλ ∈ Lℓ,m (Sn ) for any t > 0 and all points on the ray tλ = t(a0 , . . . , aℓ , b0 , . . . , bm )T lead to the same rational function. Hence finding a rational function satisfying (6.8) corresponds to finding a ray tλ with λ ∈ Lℓ,m(Sn ). It is clear that when solving the linearized problem, no normalization can be imposed a priori on the coefficients of the rational function. Imposing such a normalization, say b0 = 1, adds an additional constraint to the system (6.9) which potentially causes loss of solutions. For example, if the unnormalized cone (6.9) lies in an orthant where b0 < 0, the intersection with the hyperplane b0 = 1 is empty, so that the normalized problem has no solution. Such dependence on the chosen normalization is undesirable. Second, it is well-known from the theory of rational interpolation that solutions of the linearized problem (6.8) not necessarily solve the original problem (6.7) due to the possibility that, for some i ∈ {0, . . . , n}, p(xi , yi ) = 0 = q(xi , yi ).
(6.11)
Such points (xi , yi ) are called unattainable [AC93]. If we assume that the cone Lℓ,m (Sn ) is full-dimensional, then (6.10) and (6.6) are equivalent, in other words Lℓ,m (Sn ) 6= {0} ⇔ Rℓ,m (Sn ) 6= ∅. Indeed, in this case, a point in the interior of Lℓ,m (Sn ) exists for which the inequalities (6.8) are strict and hence the coefficients of the corresponding rational function are such that for none of the interpolation points (6.11) is satisfied. Therefore (6.10) implies (6.6). Observe that Rℓ,m (Sn ) 6= ∅ always implies Lℓ,m (Sn ) 6= {0}, even if Lℓ,m (Sn ) is not full-dimensional. In the next Section, we investigate the linearized representation problem and provide an algorithm to compute a ray tλ 6= 0 with λ ∈ Lℓ,m (Sn ), if such a λ exists. The computed ray is such that the corresponding rational function contains no unattainable points and satisfies certain properties that are important from the point of view of numerical stability. We assume that the cone Lℓ,m (Sn ) is full-dimensional, so that (6.6) and (6.10) are equivalent.
78
6.3
6. Rational interpolation of vertical segments
Solution of the existence and representation problem
Throughout this Section, we denote by uj the j-th row (j = 1, . . . , 2n + 2) of U . Unless specifically mentioned otherwise, the norm k · k is Euclidean. The algorithm we develop, simultaneously solves the linearized existence problem (6.10) and, if a solution exists, computes a non-zero λ ∈ Lℓ,m(Sn ) in such a way that λ satisfies certain essential properties, which we discuss next. From the point of view of numerical stability, a rational function passing closely through the centers of the intervals Fi is more appropriate. Computing rational functions with this property is also consistent with the maximum likelihood assumption of standard regression techniques that the noise is normally distributed with zero mean (see for example Chapter 13 of [MC04] and Section 15.1 of [PTVF92]). Adopting this view, we need to avoid points λ which are not interior points of Lℓ,m (Sn ). Indeed, for any non-interior point λ, the corresponding rational function exactly fits at least one of the bounds of the interval data. Another consideration are unattainable points. Because unattainable points necessarily imply that the corresponding inequalities in (6.8) are equalities, they must occur on a boundary hyperplane of the polyhedral cone. In order to avoid solutions λ yielding unattainable points, we again look for rays that lie strictly in the interior of the polyhedral cone. The ray (or direction) that we aim for has maximal depth. Such a ray is called a Chebyshev direction. In what follows, we state precisely what that means and show how such a ray can be computed. Denote the Euclidean ball of radius r and center λ by B(λ, r) = {λ + h
| khk ≤ r}.
Let P ⊂ Rk be a bounded polyhedron (a polytope) and let λ ∈ P . We recall from [BV04] that the depth of λ with respect to P is defined by depth(λ, P ) = dist(λ, Rk \ P ) = =
inf
z∈Rk \P
kλ − zk
max r,
B(λ,r)⊂P
(6.12)
and that a Chebyshev center [BV04] of a polytope P ⊂ Rk is given by λc = argmax depth(λ, P ) λ∈P
(6.13)
6.3.
Solution of the existence and representation problem
79
In words, a Chebyshev center of a polytope P is every point λc ∈ P for which the distance to the exterior of P is maximal. It is also the center of a largest inscribed ball. In analogy, let C ⊂ Rk be a pointed polyhedral convex cone with apex in the origin. We define the depth of a non-zero point λ ∈ C with respect to C as follows λ k ,R \ C depth(λ, C) = dist kλk
λ − z (6.14) = inf
.
z∈Rk \C kλk The depth(λ, C) is the distance of the normalized vector λ/kλk to the exterior of C. Due to the normalization, depth(λ, C) is bounded. We then call λc a Chebyshev direction of C ⊂ Rk if and only if λc = argmax depth(λ, C).
(6.15)
λ∈C
Since depth(λ, C) is equal for all λ that make up the same direction, (6.15) can be reformulated as λc = t argmax depth(λ, C)
t, γ > 0,
λ∈C,kλk=γ
= t argmax λ∈C,kλk=γ
dist(λ, Rk \ C) γ
t, γ > 0.
(6.16)
In words, among all vectors λ with kλk = γ, a Chebyshev direction of C maximizes the distance from λ to the exterior of the polyhedral cone C. Since depth(λ, C) = dist(λ, Rk \ C)/kλk, a Chebyshev direction is also a direction that, among all vectors λ with distance δ to the exterior of C, minimizes the norm of λ: λc = t
argmax
depth(λ, C)
t, δ > 0,
λ∈C,dist(λ,Rk \C)=δ
= t
argmax λ∈C,dist(λ,Rk \C)=δ
δ kλk
t, δ > 0.
(6.17)
Analogous to a Chebyshev center, a Chebyshev direction corresponds to the axis of a largest cone inscribed in the pointed polyhedral cone C. The main result of this Section is the following.
80
6. Rational interpolation of vertical segments
Proposition 6.3.1. Let Lℓ,m (Sn ) be the polyhedral cone (6.9). Then Lℓ,m (Sn ) is full-dimensional and Rℓ,m (Sn ) 6= ∅ if and only if, for some δ > 0, the quadratic programming problem argmin kλk2 λ∈Rℓ+m+2
(6.18)
s.t. uj λ − δkuj k ≥ 0,
j = 1, . . . , 2n + 2
has a solution. If (6.18) has a solution for some δ > 0, then this solution λmin is unique and the ray tλmin , t > 0, is the unique Chebyshev direction of Lℓ,m (Sn ). The corresponding rational function is an element of Rℓ,m (Sn ). Proof. We start by characterizing balls inscribed in C = Lℓ,m (Sn ). For a single half space uj λ ≥ 0, the ball B(λ, r) lies in the correct half space if and only if inf uj (λ + h) ≥ 0. khk≤r
We express this into a form independent of h, by noting that inf uj (λ + h) ≥ 0 ⇔ inf uj λ − |uj · h| ≥ 0
khk≤r
khk≤r
and also inf uj λ − |uj · h| = uj λ − sup |uj · h|
khk≤r
khk≤r
= uj λ − rkuj k. Hence, balls B(λ, r) inscribed in the polyhedral cone C = Lℓ,m (Sn ) satisfy uj λ − rkuj k ≥ 0,
j = 1, . . . , 2n + 2.
(6.19)
If we set r = dist(λ, Rk \ C) in (6.19), then λ ∈ C = Lℓ,m(Sn ), if and only if uj λ − dist(λ, Rk \ C)kuj k ≥ 0,
j = 1, . . . , 2n + 2.
(6.20)
It follows from (6.20) that there exists an interior point λ in Lℓ,m (Sn ) if and only if the quadratic programming problem (6.18) has a solution. Hence Lℓ,m (Sn ) is full-dimensional and Rℓ,m (Sn ) 6= ∅ if and only if the quadratic programming problem has a solution. We now assume that there exists a λ 6= 0 in Lℓ,m (Sn ). By combining (6.20) with (6.17), we find that λ is a Chebyshev direction of the polyhedral
6.3.
Solution of the existence and representation problem
81
cone C = Lℓ,m (Sn ) if and only if for some fixed δ > 0, λc = t argmax λ∈Rk
δ kλk
s.t. uj λ − δkuj k ≥ 0,
t>0 (6.21) j = 1, . . . , 2n + 2,
or equivalently λc = t argmin kλk2
t>0
λ∈Rk
s.t. uj λ − δkuj k ≥ 0,
(6.22) j = 1, . . . , 2n + 2.
Since kλk2 is a strictly convex function, the minimizer λmin of (6.18) is unique and hence the corresponding direction tλmin is the unique Chebyshev direction of C = Lℓ,m (Sn ). This concludes the proof. Observe that the Chebyshev direction obtained by solving (6.18) is independent of the choice of δ > 0. How to best choose δ is discussed in Section 6.4. Let us briefly come back to the relation between the results presented here and in [MB82]. Considering the representation problem for models which are linear in the unknown coefficients as in [MB82], rather than for rational models rℓ,m (x, y) as in (6.5), changes the nature of the problem. Indeed, for the former the problem can be reduced to the computation of a Chebyshev center of a bounded polyhedron [MB82]. This amounts to solving a linear programming problem. For the latter, we have shown that the problem can be reduced to the computation of a Chebyshev direction of an unbounded polyhedral set, resulting in a quadratic programming problem. Only if we add additional linear constraints to bound Lℓ,m (Sn ), can we reduce the problem to the one discussed in [MB82]. A possible way to bound Lℓ,m (Sn ) is by imposing conditions on the coefficients of the rational function. We have already indicated that a normalization where one of the coefficients is chosen a priori, e.g. b0 = 1, potentially causes loss of solutions. But what happens to the solution set if we add the conditions |λj | ≤ 1, j = 1, . . . , k, where λj denotes the j th element of the vector λ = (a0 , . . . , aℓ , b0 , . . . , bm )T ? For L > 0, let BLℓ,m (Sn , L) = {λ ∈ Rk | U λ ≥ 0, |λi | ≤ L, i = 1, . . . , k}.
(6.23)
82
6. Rational interpolation of vertical segments
A Chebyshev center of this bounded polyhedron is found by solving the linear programming problem [BV04]
s.t. uj λ − rkuj k λj − r −λj − r r
max r ≥ 0, ≥ −L, ≥ −L, ≥ 0.
j = 1, . . . , 2n + 2, j = 1, . . . , k, j = 1, . . . , k,
(6.24)
Since (6.24) is a linear programming problem, and (6.18) is a quadratic programming problem, it seems natural to solve (6.24) and not (6.18). We have reformulated the problem as a quadratic programming problem for the following important reasons. First, as is clear from Figure 6.1, a Chebyshev center of the bounded polyhedron is not necessarily the Chebyshev direction of the corresponding unbounded polyhedral cone. Second, in case the bounded polyhedron BLℓ,m (Sn , L) has different Chebyshev centers, as is the case in Figure 1, the solution of the linear programming problem (6.24) is not unique. In contrast, the polyhedral cone Lℓ,m (Sn ) has a unique Chebyshev direction, which is the solution of the quadratic programming problem (6.18). Third, as noted in [Gas79], for linear programming problems that are highly homogeneous, such as is the case in (6.24), computer cycling of the simplex method is the rule rather than the exception. We have found in practice that solving the quadratic programming problem is far more accurate and faster than solving the corresponding LP problem, either by the simplex method or by an interior point method.
Figure 6.1: The boldface lines denote the boundary of the polyhedral cone Lℓ,m (Sn ), and λc denotes its Chebyshev direction. The center of the disk is a Chebyshev center of BLℓ,m (Sn , 1).
6.4.
Algorithmic aspects
83
The following Proposition summarizes the relation between the linear programming problem (6.24) and the quadratic programming problem (6.18). Proposition 6.3.2. Let Lℓ,m(Sn ) be the polyhedral cone (6.9) with apex at the origin and let BLℓ,m (Sn , L1 ) be the corresponding polytope (6.23). Then Lℓ,m(Sn ) 6= {0} if and only if BLℓ,m (Sn , L) 6= {0} for any L > 0. Moreover, If λ1 is a Chebyshev center of BLℓ,m (Sn , L1 ) with radius r1 , then there exists a t > 0 such that tλ1 is a Chebyshev center of BLℓ,m (Sn , L2 ) for any L2 > 0. Proof. If Lℓ,m (Sn ) 6= {0} then for any non-zero vector λ ∈ Lℓ,m (Sn ) also tλ ∈ Lℓ,m (Sn ) for all t > 0. Therefore BLℓ,m (Sn , L) 6= {0} for any L > 0. Conversely, if there exists a vector λ ∈ BLℓ,m (Sn , L) with λ 6= 0, then U λ ≥ 0, hence λ ∈ Lℓ,m(Sn ). If λ1 is a Chebyshev center of BLℓ,m (Sn , L1 ) with radius r1 , it satisfies (6.24) with L = L1 and r = r1 . It follows immediately that for any L2 > 0, L2 λ/L1 is a Chebyshev center of BLℓ,m (Sn , L2 ) with radius L2 r1 /L1 . This concludes the proof. It follows from Proposition 6.3.2 that if the bounded polyhedron has a unique Chebyshev center, the rational function that corresponds to the solution λ of (6.24) is independent of the constant L. If the Chebyshev center of the bounded polyhedron is not unique, solving (6.24) for different values of L may yield Chebyshev centra which are not on the same ray through the origin and hence different rational functions.
6.4
Algorithmic aspects
In this Section we discuss a number of aspects related to the solution of the representation problem for (6.5): • given n + 1 vertical segments, how do we determine the numerator and denominator degrees of the rational function to fit these data? • how do we choose δ in (6.18)? First, the complexity of a rational function is determined by its degree sets Nℓ and Dm . As ℓ and m increase, so does the complexity of the rational function rℓ,m (x, y). For ℓ = 0, 1, . . . and m = 0, 1, . . . , we organize the rational functions rℓ,m (x, y) in a two-dimensional table as indicated in Table 6.1. In order to determine the rational model of lowest complexity for which Rℓ,m (Sn ) 6= ∅, we enumerate over the sloping diagonals of Table 6.1,
84
6. Rational interpolation of vertical segments r0,0 (x, y) r1,0 (x, y) r2,0 (x, y) .. .
r0,1 (x, y) r1,1 (x, y) r2,1 (x, y) .. .
r0,2 (x, y) r1,2 (x, y) r2,2 (x, y) .. .
··· ··· ··· .. .
Table 6.1: Table of multivariate rational interpolants. each time solving the quadratic programming problem (6.18). The following pseudocode summarizes the algorithm. solution= ∅ for d = 0, 1, 2, . . . for ℓ = d, . . . , 0 solve (6.18) for numerator degree set Nℓ and denominator degree set Dd−ℓ if (6.18) has the unique solution λmin let rℓ,d−ℓ (x, y) be the irreducible rational function derived from the coefficients in λmin solution:= solution ∪{rℓ,d−ℓ (x, y)} endif endfor if solution6= ∅ return solution endfor We call the rational functions rℓ,m (x, y) in solution the rational functions of minimal complexity satisfying the interpolation conditions (6.7). We remark that there may exist a rational function rν,µ (x, y) with ν + µ < ℓ + m and such that rν,µ (xi , yi ) ∈ Fi , i = 0, . . . , n. Indeed, we recall from Proposition 6.3.1 that the quadratic programming problem has a solution if and only if Lν,µ (Sn ) is full-dimensional. If this is not the case, this does not imply Lν,µ (Sn ) = {0}. However, for any non-zero element in Lν,µ (Sn ), the corresponding rational function then exactly fits at least one of the bounds of the interval data and may have unattainable points, which is not desirable. Second, it follows from Proposition 6.3.1 that solving the representation problem for (6.5), amounts to computing the solution of the quadratic programming problem (6.18) for some δ > 0. It seems natural to set δ = 1. Instead of this obvious choice, it is better, from a numerical point of view, to determine δ differently and take into account the condition number of the matrix U in (6.9). If the matrix U in (6.9) is almost rank deficient, then the depth of any point λ strictly in the interior of the cone determined by
6.5.
Conclusion
85
U λ ≥ 0 is small. Since depth(λ, C) =
dist(λ, C) δ = kλk kλk
the choice δ = 1 implies that the norm of λ obtained from (6.18) is large. In order to avoid explosive growth of the elements of λ, we need to choose δ much smaller when U is ill-conditioned. Therefore, we set δ = 1/κ(U ), where κ(U ) is the condition number of the matrix U defined by κ(U ) =
σmax (U ) , σmin (U )
(6.25)
and σmax (U ) and σmin (U ) are, respectively, the largest and the smallest singular value of U .
6.5
Conclusion
A very natural way to deal with uncertainty in data is by means of an uncertainty interval. Here, we have assumed that the uncertainty in the independent variable is negligible and that for each observation, an uncertainty interval can be given which contains the (unknown) exact value. We have presented an approach to compute rational functions intersecting the interval data and shown that the problem reduces to a quadratic programming problem, which has a unique solution and which is easy to solve by standard methods. The practical applicability of the technique is illustrated in the next Chapter.
7 Benchmarks In this Chapter we apply the technique developed in the previous Chapter to several benchmark problems. The obtained results indicate that the method scales very well to higher dimensional problems. To improve the numerical conditioning of the problem, each independent variable is rescaled to the interval [−1, 1] and products of Chebyshev polynomials of the first kind are used as basis functions. The coefficients of the numerator and denominator polynomials with respect to these basis functions ˜ = (˜ are denoted by λ a0 , . . . , a ˜ℓ , ˜b0 , . . . , ˜bm )T . The quadratic programming problem (6.18) is solved using the MOSEK1 Optimization Toolbox 5.0.0.84 for Matlab.
7.1
A univariate problem
A first univariate illustration is the Kirby2 dataset, part of the NIST Statistical Reference Datasets2 . There are 151 observations (xi , fi ). From the NIST Statistical Reference Datasets website we find an indication that an error margin on the fi values is of the order of Fi = [fi − 2σ, fi + 2σ] with σ = 0.16354535131 2 . For the vertical segments S150 = {(xi , Fi )|i = 0, . . . , 150}, our algorithm returns solution= {r2,2 (x)}. The rational function r2,2 (x) has coefficients a ˜0 = 31.82, a˜1 = 43.55, a˜2 = 11.83, ˜b0 = 0.53, ˜b1 = 0.32, ˜b2 = 0.11 and is plotted in Figure 7.1(a). For the same data set, we also compute the rational least squares model rls (x) of degree 2 in numerator and denominator with the nlinfit function r2,2 1 2
http://www.mosek.com http://www.itl.nist.gov/div898/strd/index.html
87
88
7.
Benchmarks
0.6 80
0.4 0.2
60 0 40
−0.2 −0.4
20
rational least squares rl,m(x)
−0.6 0 −1
−0.5
0
0.5
1
−0.8 −1
(a)
−0.5
0
0.5
1
(b)
Figure 7.1: Kirby2 dataset. Figure 7.1(a) shows the vertical data segments and r2,2 (x), which is the rational model of minimal complexity satisfying the interpolation conditions. Figure 7.1(b) shows the absolute error of r2,2 (x) (plus) and of the rational least squares model of degree 2 in numerator and denominator (star). The two lines represent the boundaries ±2σ.
of the Statistics Toolbox of Matlab. In rational least squares, the coefficients of the regression model r(x) are estimated by minimizing the least squares criterion n X (fi − r(xi ))2
(7.1)
i=0
over all rational functions r(x) of fixed numerator and denominator degree. As already pointed out, the solution of non-linear least squares approximation problems depends on the starting values, since the objective function (7.1) may have many local minima. With the starting values a ˜0 = a ˜1 = a ˜2 = ˜b0 = ˜b1 = ˜b2 = 1, the procedure to minimize (7.1) over all rational functions of degree 2 in numerator and denominator stops with an objective function value of 1.333∗105 , while the global minimum is 3.905! If we choose as starting values the coefficients of r2,2 (x), normalized such that b0 = 1, then the optimization procedure does converge to the global minimum. This is not surprising: evaluating (7.1) for r(x) = r2,2 (x) gives rls (x) is 3.905. the value 7.418, while the optimal value obtained for r(x) = r2,2 In Figure 7.1(b) the absolute error of r2,2 (x) is compared with that of rls (x). From this plot one can see that r (x) stays within the required r2,2 2,2 bound 2σ ≈ 0.32709 of the point data.
7.2.
7.2
Bivariate problems
89
Bivariate problems
The second example is the bivariate Kotancheck function 2
e−(y−1) . f (x, y) = 1.2 + (x − 2.5)2
(7.2)
There are 100 scattered samples (xi , yi , fi ), with (xi , yi ) selected from the interval [0, 4] × [0, 4]. Each observation fi has been corrupted by random noise within the interval [−0.0252, 0.0252] \ {0}, to generate vertical segments of different width enclosing the function value. If we enumerate N2 along downward sloping diagonals to construct the numerator and denominator index sets Nℓ and Dm for increasing values of ℓ and m, then the algorithm returns solution= {r6,12 (x, y)}, where the numerator and denominator degree sets are respectively given by N6 = {(0, 0), (0, 1), (1, 0), (0, 2), (1, 1), (2, 0), (0, 3)} D12 = {(0, 0), (0, 1), (1, 0), (0, 2), (1, 1), (2, 0), (0, 3), (1, 2), (2, 1), (3, 0), (0, 4), (1, 3), (2, 2)} and where r6,12 (x, y) is plotted in Figure 7.2(c). To evaluate the goodness of fit of r6,12 (x, y), we also plot the absolute error |r6,12 (x, y) − f (x, y)| in Figure 7.2(e), and observe that it is smaller than the maximum width of the vertical segments over the entire interval. Another typical benchmark problem from optimization is the Six-Hump Camelback function (or simply Camelback function). It is a bivariate polynomial, given by 1 f (x, y) = (4 − 2.1x2 + x4 )x2 + xy + (−4 + 4y 2 )y 2 3 1 = 4x2 − 2.1x4 + x6 + xy − 4y 2 + 4y 4 . 3 We consider a small 7 × 7 rectangular grid (xi , yi ) equally spaced in [−2, 2] × [−1, 1] and construct the segments Fi = [fi − r, fi + r] with r = 10−5 for a somewhat accurate approximation. If we enumerate N2 along upward sloping diagonals to construct the numerator and denominator index sets Nℓ and Dm for increasing values of ℓ and m, then the algorithm returns solution= {r21,0 (x)}, a polynomial of which the numerator and denominator degree sets are respectively given by N21 = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 + k2 ≤ 5} ∪ {(6, 0)},
D0 = {(0, 0)}.
90
7.
0.8
Benchmarks
5 4
0.6
3 0.4
2 1
0.2
0 −1 1
4 3
0.5
4 3
2 y
0
2 1
0
2
1
1 0
0
−0.5 −1
y
x
(a) Kotancheck function
−1 −2
x
(b) Camelback function
0.8 5
0.6
4 3
0.4
2
0.2
1
0 4
−1 1
0
4 2
0.5
0
y
0
2 1
0
2
0
−0.5 y
x
(c) r6,12 (x, y)
−1
−1 −2
x
(d) r21,0 (x, y)
max. abs. err.: 0.035128, mean abs. err.: 0.0062891
max. abs. err.: 2.0185e−05, mean abs. err.: 6.4248e−06 −5
x 10
l,m
(x,y)|
0.03 0.02
| f(x,y) − r
| f(x,y) − rl,m(x,y)|
2
0.01
4
1.5 1 0.5
1
4 2 y
2 0
0
x
(e) Absolute error
2 1
0 y
0 −1
−1 −2
x
(f) Absolute error
Figure 7.2: The Kotancheck and Camelback function are shown in Figures 7.2(a) and 7.2(b). Figures 7.2(c) and 7.2(d) show r6,12 (x, y) and r21,0 (x, y) which are the rational models of minimal complexity satisfying the interpolation conditions. Figure 7.2(e) and 7.2(f) show the absolute error over the entire interval. Also the location of the data points is indicated.
7.3.
Higher dimensional problems
91
The Camelback function, its approximation r21,0 (x, y) and the absolute error over the entire interval is shown in Figures 7.2(b), 7.2(d) and 7.2(f) respectively. Again it is observed that the maximum absolute error over the entire interval is about the width of the vertical segments. Although our goal is never exact interpolation, but merely the construction of an acceptable approximation, the coefficients of the obtained model ˜ are very small are worth a closer inspection. Some of the coefficients in λ ˜ which is kλk ˜ 2 = 2.866185751786245. If we compared to the norm of λ, discard the contribution of the coefficients of which the absolute value is smaller than 10−5 , then the remaining degree sets are given by N = {(0, 0), (2, 0), (1, 1), (4, 0), (0, 4), (6, 0)},
D = {(0, 0)}.
After normalization of the denominator, i.e. q(x, y) ≡ 1 and expanding the Chebyshev polynomials with x substituted by x/2 (due to the rescaling from [−2, 2] to [−1, 1] for the variable x), we obtain x x x x p(x, y) = 1.5667 + 1.2(2( )2 − 1) + 2 y − 0.2 − 0.2(8( )4 − 8( )2 + 1) 2 2 2 2 x 6 x 4 x 2 4 2 +0.5(8y − 8y + 1) + 0.6667(32( ) − 48( ) + 18( ) − 1). 2 2 2 When fully expanded, this simplifies to p(x, y) = 4.00015x2 − 2.1001x4 + 0.33335x6 + xy − 4y 2 + 4y 4 , which is almost exactly the original Camelback function.
7.3
Higher dimensional problems
To illustrate the scalability of the technique to higher dimensions, we consider the simple d-dimensional unwrapped balls 2d
f (x) = d+
d X
,
x ∈ [0, 6]d .
(xi − 3)2
i=1
One of the motivations for choosing these functions is that they appear to be quite difficult for Symbolic Regression through Genetic Programming techniques [Vla08]. Of course, simple comparison would not be fair, because it is to be expected that a rational approximation technique performs best when the underlying model is also rational. The experimental setup is as follows.
92
7.
Benchmarks
• In the previous sections we have always chosen an absolute error for the vertical segments. Here we construct segments of which the width is defined in a relative way Fk = [f (xk ) − |f (xk )|r, f (xk ) + |f (xk )|r]
(7.3)
with r = 10−4 . Hence a relative error of at most 0.01 % is imposed. • For different values of d, we take 10d data xk from a Latin Hypercube design [MCB79] ∈ [0, 6]d for constructing the vertical segments. To evaluate the goodness of fit over the entire domain [0, 6]d , the obtained rational model rℓ,m (x) is compared a posteriori with f (x) on another 100d data from a Latin Hypercube design ∈ [0, 6]d . Note that only the 10d data are used for constructing rℓ,m (x). • There are many different ways to enumerate over the elements of Nd . The particular ordering used here to construct the numerator and denominator index sets Nℓ and Dm for increasing values of ℓ and m is described in Section A.2.1 of Appendix A. It is a straightforward generalization of the enumeration over N2 along sloping diagonals. The results for increasing d ≥ 2 are reported in Table 7.3. The rational function of minimal complexity solution= {rℓ,m (x)} is shown in the third column. For each d, the denominator degree set is given by the full triangle Dm = {(k1 , . . . , kd ) ∈ Nd | 0 ≤
d X
ki ≤ 2}.
i=1
The mean and maximum relative errors over the more dense Latin Hypercube design are shown in the last two columns. Clearly rℓ,m (x) performs very well over the entire domain although only a small number of points are used for the approximation itself. This small simple example demonstrates that, if the underlying function is rational, the technique is able to construct a good approximation from a low number of samples, even in high dimensions. In the next Chapter more complex rational functions are considered. As the next example illustrates, the underlying function does not need to be a quotient of polynomials for the technique to yield good approximations. A more challenging and more typical high dimensional problem is the 8dimensional borehole model by [MMY93] for the flow rate of water through a borehole that is drilled from the ground surface through two aquifers. This
7.3.
Higher dimensional problems dim. d 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#segments 20 30 40 50 60 70 80 90 100 110 120 130 140 150
rℓ,m (x) r0,5 (x) r0,9 (x) r0,14 (x) r0,20 (x) r0,27 (x) r0,35 (x) r0,44 (x) r0,54 (x) r0,65 (x) r0,77 (x) r0,90 (x) r0,104 (x) r0,119 (x) r0,135 (x)
93 mean rel. err. 3.9319e − 05 4.0797e − 05 4.0804e − 05 2.5462e − 05 3.0695e − 05 5.4336e − 05 5.4929e − 05 6.2346e − 05 6.0726e − 05 7.3928e − 05 8.2092e − 05 9.4496e − 05 1.6180e − 04 1.5971e − 04
max. rel. err. 6.1450e − 05 5.7548e − 05 1.4161e − 04 8.6450e − 05 1.1937e − 04 2.6863e − 04 2.4269e − 04 2.8374e − 04 2.3201e − 04 3.7486e − 04 4.3828e − 04 4.6142e − 04 6.9907e − 04 7.6827e − 04
Table 7.1: Results for the d-dimensional unwrapped balls for increasing d. The second column shows the number of data ∈ [0, 6]d used to construct the rational model. Column rℓ,m (x) shows the obtained rational model. The last two columns are the relative errors over 100d Latin Hypercube samples in [0, 6]d .
flow rate can be expressed explicitly as
F =
2πTu (Hu − Hl ) 2LTu Tu ln(r/rw ) 1 + + 2K ln(r/rw )rw Tl w
where r, rw are the radii of the borehole and the surrounding basin, Tu , Tl are the transmissivities of the aquifers, Hu , Hl are the potentiometric heads of the aquifers, L is the length of the borehole and Kw is the conductivity. The ranges of interest of each of the inputs are given by rw ∈ [0.05, 0.015], r ∈ [100, 50000], Tu ∈ [63070, 115600], Tl ∈ [63.1, 116], Hu ∈ [990, 1110], Hl ∈ [700, 820], L ∈ [1120, 1680] and Kw ∈ [9855, 12045]. We take 200 Latin Hypercube samples within the domain and define segments as in (7.3) with a 0.1 % error (hence r = 0.001). Then solution= {r52,65 (x)} is obtained where the numerator and denominator degree sets
94
7.
Benchmarks
are respectively given by N52 = {(k1 , . . . , k8 ) ∈ N8 | 0 ≤ k1 + . . . + k8 ≤ 2}∪ {(3, 0, 0, 0, 0, 0, 0, 0), (2, 1, 0, 0, 0, 0, 0, 0), (1, 2, 0, 0, 0, 0, 0, 0), (0, 3, 0, 0, 0, 0, 0, 0), (2, 0, 1, 0, 0, 0, 0, 0), (1, 1, 1, 0, 0, 0, 0, 0), (0, 2, 1, 0, 0, 0, 0, 0), (1, 0, 2, 0, 0, 0, 0, 0)} D65 = {(k1 , . . . , k8 ) ∈ N8 | 0 ≤ k1 + . . . + k8 ≤ 2}∪ {(k1 , . . . , k5 , 0, 0, 0) ∈ N8 | k1 + . . . + k5 = 3} ∪ (2, 0, 0, 0, 1, 0, 0, 0) To illustrate the goodness of fit over the entire domain, r52,65 (x) is plotted against F in Figure 7.3 for 100 randomly generated points within the domain. The relative error of r52,65 (x) in 4000 random points within the domain is shown in Figure 7.4. Clearly r52,65 (x) is a good approximation over the entire domain. 160 140
(x)
80
l,m
100
r
120
60 40 20 20
40
60
80
100 120 140 160 F
Figure 7.3: The evaluation of r52,65 (x) against F for 100 random points.
7.4
Guidelines
From our experiments, some guidelines can be given on the use of the technique. Much depends of course on the quality of the QP solver.
7.4.
Guidelines
95 max. rel. err.: 2.2652e−02 , mean rel. err.: 1.6232e−03
0.022 0.02 0.018 0.016 0.014 0.012 0.01 0.008 0.006 0.004 0.002 0
500
1000
1500
2000
2500
3000
3500
4000
Figure 7.4: Relative error of r52,65 (x) over 4000 random points (sorted). It is noted that the segment width should not be too conservative. Although in theory, any nonzero width for the segments is allowed, in practice, segment widths near machine precision are not recommended. For the QP solvers to find a Chebyshev direction numerically, some freedom is needed. Nevertheless good approximations are obtained even with larger segment widths. The curse of dimensionality is fairly moderate. Although the exact timecomplexity of QP solvers is often not available [PV92], as a rule of the thumb we can take quadratic growth in the number of unknowns and linear growth in the number of constraints. Hence complex rational models with little constraints are more time consuming to solve than simple rational models with many constraints. Inevitably, for high dimensional problems, the number of constraints must be larger to have a suitable coverage of the domain. But from the examples we have shown in the previous Section it is clear that an acceptable approximation is often already obtained with only a small number of samples. The most time is in fact spent in looking for the appropriate degree sets for numerator and denominator, enumerating over several possibilities. But for a state of the art QP solver it takes at most some seconds to decide whether or not a certain choice of degree sets is admissible. It is a great advantage to have such an automated process. Especially for high dimensional problems it is often not a trivial task to decide on a proper choice for the degree sets. When using other rational approximation techniques, such as rational least squares, one needs to decide on the model complexity first. Only after an expensive and local-minimum
96
7.
Benchmarks
prone optimization can one decided upon the adequacy of the model. In conclusion, a considerable amount of time is spent to find a solution, only in case that a lot of high degree terms are necessary. However, an advantage of rational functions is exactly that good approximations are often already obtained with fairly low degree models. Concerning the behavior of the poles of the approximating rational function we can say the following. The implicit condition q(xi , yi ) > 0 imposed on sufficiently many points that lie close enough within the domain of interest causes the approximation to be free of poles. What is meant by sufficiently many and close enough is made more concrete in Proposition 8.4.1 in the next Chapter. In none of the examples we have run, did the approximating rational function have poles in the domain of interest.
8 Case study: multidimensional recursive filters The design of multidimensional recursive filters is of considerable interest, but it is inherently a nonlinear complex approximation problem. The numerical optimization problem that is usually involved in the computation of the rational model may have many local minima and the quality of the computed model can therefore depend highly on the provided starting values. The stability of the computed rational model for the transfer function may be hard to guarantee or check in case of a general unseparable denominator. In this Chapter we apply the technique developed in Chapter 6 and show how it can be used to overcome all these drawbacks. To this end the approximation problem is first reformulated using uncertainty intervals instead of an error function. An additional advantage of the technique is the fact that the filter’s performance specifications and stability constraint can be incorporated directly in the characterization. The algorithm also automatically returns the IIR filter of lowest order and ensures maximal robustness of the stability, meaning that the computed model remains stable under the largest possible perturbations with respect to the filter’s performance specifications.
8.1
Multidimensional recursive systems
For ease of notation and entirely without loss of generality, we restrict the presentation to the 2-dimensional case. For indices we use the notations N = {0, 1, 2, . . .}, Z = {. . . , −2, −1, 0, 1, 2, . . .} and N0 , Z0 when the number zero is removed. In addition −N0 = {−1, −2, . . .}. We consider multidimensional 97
98
8. Case study: multidimensional recursive filters
Linear Shift-Invariant (LSI) recursive systems or systems with infinite-extent impulse response, which transform an input signal x(n1 , n2 ) into an output signal y(n1 , n2 ) such that y(n1 , n2 ) can be described by a difference equation of the form y(n1 , n2 ) =
X
a(k1 , k2 )x(n1 − k1 , n2 − k2 )
(k1 ,k2 )∈N N ⊂Z2
−
X
b(k1 , k2 )y(n1 − k1 , n2 − k2 ) (8.1)
(k1 ,k2 )∈D0 D0 ⊂Z2 \{(0,0)}
where D0 6= φ. The sets N and D = D0 ∪ {(0, 0)} are the regions of support of the arrays a(n1 , n2 ) and b(n1 , n2 ) respectively and b(0, 0) = 1. The transfer function of a LSI recursive system is the ratio
H(z1 , z2 ) =
P
(k1 ,k2 )∈N N ⊂Z2
1+
P
a(k1 , k2 )z1−k1 z2−k2
(k1 ,k2 )∈D0 D0 ⊂Z2 \{(0,0)}
=
b(k1 , k2 )z1−k1 z2−k2
(8.2)
A(z1 , z2 ) B(z1 , z2 )
The output signal y(n1 , n2 ) of such a system applied to an input which is a complex sinusoid of the form x(n1 , n2 ) = exp i(t1 n1 + t2 n2 ), is characterized by the system’s frequency response P a(k1 , k2 ) exp (−i(k1 t1 + k2 t2 )) (k1 ,k2 )∈N it1 it2 P . H e ,e = 1+ b(k1 , k2 ) exp (−i(k1 t1 + k2 t2 )) (k1 ,k2 )∈D0
Usual filtering in one dimension is causal (implying N, D ⊂ N), but for most multidimensional signals there is no preferred direction for the coordinates because they are often spatial and not time (hence in general N, D ⊂ Z2 ). Let a(n1 , n2 ) and b(n1 , n2 ) be real arrays. When presupposing the centro symmetry A(eit1 , eit2 ) = A(e−it1 , e−it2 ) B(eit1 , eit2 ) = B(e−it1 , e−it2 ),
8.1.
Multidimensional recursive systems
99
then the polynomials A(eit1 , eit2 ) and B(eit1 , eit2 ) simplify to the realvalued X A(eit1 , eit2 ) = a ˜(k1 , k2 ) cos(k1 t1 + k2 t2 ), (k1 ,k2 )∈N N ⊂N×N∪N0 ×(−N0 )
a ˜(0, 0) = a(0, 0), a ˜(k1 , k2 ) = a(k1 , k2 ) + a(−k1 , −k2 ), X ˜b(k1 , k2 ) cos(k1 t1 + k2 t2 ), B(eit1 , eit2 ) =
(8.3)
(k1 ,k2 )∈D D⊂N×N∪N0 ×(−N0 )
˜b(0, 0) = b(0, 0), ˜b(k1 , k2 ) = b(k1 , k2 ) + b(−k1 , −k2 ). When adding the reflection symmetry conditions A(eit1 , eit2 ) = A(eit1 , e−it2 ) B(eit1 , eit2 ) = B(eit1 , e−it2 ) the polynomials A(eit1 , eit2 ) and B(eit1 , eit2 ) further simplify to the quadrantally symmetric X a ˘(k1 , k2 ) cos(k1 t1 ) cos(k2 t2 ), A(eit1 , eit2 ) = (k1 ,k2 )∈N N ⊂N2
a ˘(k1 , 0) = a ˜(k1 , 0), a ˘(k1 , k2 ) = a ˜(k1 , k2 ) + a ˜(k1 , −k2 ), X it1 it2 ˘b(k1 , k2 ) cos(k1 t1 ) cos(k2 t2 ), B(e , e ) =
(8.4)
(k1 ,k2 )∈D D⊂N2
˘b(k1 , 0) = ˜b(k1 , 0),
˘b(k1 , k2 ) = ˜b(k1 , k2 ) + ˜b(k1 , −k2 ).
An important issue is stability. If a system is unstable, any input, including computational noise, can cause the output to grow without bound. Thus the condition referred to as bounded-input-bounded-output or BIBO stability, is generally imposed. For the transfer function A(z1 , z2 )/B(z1 , z2 ) it is required that it is analytic in a poly-annulus [GB06] r1 ≤ |z1 | ≤ 1/r1 , r2 ≤ |z2 | ≤ 1/r2 , 0 < r1 , r2 < 1,
(8.5)
which is for instance guaranteed [CJ82], if the real-valued A(z1 , z2 ) and B(z1 , z2 ) are normalized such that B(eit1 , eit2 ) > 0,
−π ≤ t1 , t2 ≤ π.
100
8.2
8. Case study: multidimensional recursive filters
Rational interpolation of uncertainty intervals
To model some filter frequency response requirements, very often a least squares approach is used [LPT98, Dum05]. Our novel approach is to deal with data that represent uncertainty, such as the passband and stopband ripple and the transition band width in another very natural way, namely by means of an uncertainty interval. For notational clarity, let us briefly recall the technique presented in Chapter 6. We assume that the uncertainty in the independent variables t1 and t2 (the frequencies) is zero or at least negligible, and that for the frequency response magnitude an uncertainty interval is given which contains the prescribed exact value. We study the problem of approximating these data with a rational function that intersects the given uncertainty intervals. Both the problem statement and the algorithm that we develop can be written down for any number of independent variables. For ease of notation and illustration, we again describe the 2-dimensional instead of the general high dimensional case. Let the following set of n + 1 (i) (i) vertical segments Fi be given at the sample points (t1 , t2 ): (0)
(0)
(1)
(1)
(n)
(n)
Sn = {(t1 , t2 , F0 ), (t1 , t2 , F1 ), . . . , (t1 , t2 , Fn )}. (i)
(i)
Here Fi = [f i , f i ] are real finite intervals with f i < f i and H(eit1 , eit2 ) ∈ (i)
(i)
Fi for i = 0, . . . , n and none of the points (t1 , t2 ) coincide. Let us consider the bivariate generalized polynomials p(t1 , t2 ) =
X
α(k1 , k2 )Bk1 k2 (t1 , t2 ),
(k1 ,k2 )∈N
q(t1 , t2 ) =
X
β(k1 , k2 )Bk1 k2 (t1 , t2 ).
(k1 ,k2 )∈D 1 −k2 The functions Bk1 k2 (t1 , t2 ) can for instance be Bk1 k2 (t1 , t2 ) = t−k 1 t2 , Bk1 k2 (t1 , t2 ) = cos(k1 t1 + k2 t2 ) or Bk1 k2 (t1 , t2 ) = cos(k1 t1 ) cos(k2 t2 ). Further, if the cardinality of the sets N and D is respectively given by ℓ + 1 and m + 1, let us denote
(0)
(0)
(ℓ)
(0)
(0)
(m)
(ℓ)
N = {(k1 , k2 ), . . . , (k1 , k2 )}, (m)
(0)
(0)
D = {(k1 , k2 ), . . . , (k1 , k2 )}, (k1 , k2 ) = (0, 0)
(8.6)
8.2.
Rational interpolation of uncertainty intervals
101
and the irreducible form of the generalized rational function (p/q)(t1 , t2 ) by rℓ,m (t1 , t2 ). Let (i)
(i)
(i)
(i)
Rℓ,m (Sn ) = {rℓ,m (t1 , t2 ) | rℓ,m (t1 , t2 ) ∈ Fi , q(t1 , t2 ) > 0, i = 0, . . . , n}. (8.7) So the rational frequency response providing the data is denoted by (i)
(i)
H(eit1 , eit2 ) =
(i) A it(i) (e 1 , eit2 ) B
and its rational approximant is denoted by rℓ,m (t1 , t2 ) =
p (t1 , t2 ). q
Whereas in traditional rational interpolation one has ℓ + m = n, here we envisage ℓ + m ≪ n just as in least squares approximation. For given segments Sn and given sets N and D of respective cardinality ℓ + 1 and m + 1, we are concerned with the problem of determining whether Rℓ,m (Sn ) 6= ∅. The interpolation conditions (i)
(i)
rℓ,m (t1 , t2 ) ∈ Fi ,
i = 0, . . . , n
(8.8)
in (8.7) amount to fi ≤
(i)
(i)
(i)
(i)
p(t1 , t2 ) q(t1 , t2 ) (i)
≤ f i,
i = 0, . . . , n.
(i)
Under the assumption that q(t1 , t2 ) > 0 for i = 0, . . . , n, we obtain the following homogeneous system of linear inequalities after linearization ( (i) (i) (i) (i) −p(t1 , t2 ) + f i q(t1 , t2 ) ≥ 0 , i = 0, . . . , n. (8.9) (i) (i) (i) (i) p(t1 , t2 ) − f i q(t1 , t2 ) ≥ 0 As explained in Chapter 6, there is no loss of generality in assuming that q(t1 , t2 ) is positive in the interpolation points: the interpolation conditions (i) (i) (6.7) can be linearized for arbitrary non-zero q(t1 , t2 ), positive or negative, without changing the nature of the problem.
102
8. Case study: multidimensional recursive filters (i)
(i)
(i)
(j)
(j)
For ease of notation, let BN,j = Bk(j) k(j) (t1 , t2 ) for (k1 , k2 ) in N , (i)
(i)
(i)
(j)
(j)
1
2
BD,j = Bk(j) k(j) (t1 , t2 ) for (k1 , k2 ) in D and ν = ℓ + m + 2. We denote 1
2
by U the (2n + 2) × ν matrix (0) (0) (0) . . . −BN,ℓ f 0 BD,0 −B .N,0 .. .. .. . . (n) (n) (n) −BN,0 . . . −BN,ℓ f n BD,0 U = (0) (0) B (0) N,0 . . . BN,ℓ −f 0 BD,0 . .. .. . . . . (n) (n) (n) BN,0 . . . BN,ℓ −f n BD,0
(0) f 0 BD,m .. . (n) . . . f n BD,m . (0) . . . −f 0 BD,m .. . ...
(n)
. . . −f n BD,m
In the sequel, we abbreviate (8.9) to U c ≥ 0 with c = (α0 , . . . , αℓ , β0 , . . . , βm )T and denote Lℓ,m (Sn ) = {c ∈ Rν | U c ≥ 0}.
(8.10)
The linearized version of the problem Rℓ,m (Sn ) 6= ∅ now consists in determining whether Lℓ,m (Sn ) 6= {0}. It is proved in Chapter 6 that if a non-zero element c exists in Lℓ,m (Sn ) then the coefficient vector c of the rational function rℓ,m (t1 , t2 ) that passes closest to the midpoint of the intervals Fi is the unique solution of a quadratic programming problem. The algorithm in Chapter 6 is implemented such that it automatically returns the smallest ℓ + m once an order of the index sets N and D as in (8.6) is determined. Hence it returns the IIR filter of lowest order, for which Lℓ,m (Sn ) 6= {0}. The order one decides upon in (8.6) can be varied. One can add terms to N and D in a diagonal fashion (increasing the total degree), or along squares (bounding the partial degree in each variable) or in another way. Different illustrations can be found in the Sections 8.3 and 8.4. If the width of the intervals Fi is nonzero, then it can be shown that the solution vector c is such that the rational function rℓ,m (t1 , t2 ) passes through the open interior of Fi and the denominator polynomial q(t1 , t2 ) (i) (i) does not become zero in any of the sampled frequencies (t1 , t2 ). A multivariate generalization in Section 8.4 of a little known result from rational approximation theory [Pom68] allows to even guarantee the stability of the filter approximation (p/q)(t1 , t2 ).
8.3.
8.3
Design of stable IIR filters
103
Design of stable IIR filters
A given set of frequency response characteristics typically may be met by an IIR filter of considerably lower order than a corresponding FIR design. The design specifications are usually given in terms of the magnitude which possesses certain symmetries, while the phase characteristic is either not know or unimportant. An ideal lowpass filter can for instance be specified by the frequency response ( 1, (t1 , t2 ) ∈ P ⊂ [−π, π] × [−π, π], it1 it2 H e ,e = (8.11) 0, (t1 , t2 ) 6∈ P, where the domain P can be as simple as a square, disk or diamond (which are all mere 2-dimensional balls in the ℓ∞ , ℓ2 or ℓ1 -norm respectively). We illustrate the technique for the computation of the centro symmetric filter [RKR03] with P = {π/4 ≤ t1 ≤ 3π/4, −3π/4 ≤ t2 ≤ −π/4} ∪ {−3π/4 ≤ t1 ≤ −π/4, π/4 ≤ t2 ≤ 3π/4} and the more difficult 90 degree quadrantally symmetric fan filter [Har81] where P = {|t1 | ≤ t2 } ∪ {−|t1 | ≥ t2 } . The practical specifications of such a filter take the form of a tolerance scheme, graphically illustrated in Figure 8.1, in which: • there is a passband wherein the frequency response must approximate 1 with an error of ±δ1 (indicated with plus signs), rℓ,m (t1 , t2 ) ∈ [1 − δ1 , 1 + δ1 ],
(t1 , t2 ) ∈ P,
(8.12a)
• there is a stopband in which the response must approximate zero with an error less than ±δ2 (indicated with crosses), rℓ,m (t1 , t2 ) ∈ [−δ2 , δ2 ],
(t1 , t2 ) 6∈ P ∪ T,
(8.12b)
• there is a transition band of a certain width in which the response drops smoothly from the passband to the stopband (indicated with circles), rℓ,m (t1 , t2 ) ∈ [−δ2 , 1 + δ1 ],
(t1 , t2 ) ∈ T.
(8.12c)
104
8. Case study: multidimensional recursive filters
(a) Centro symmetric filter
(b) Fan filter
Figure 8.1: Graphical illustration of tolerance schemes. In Figure 8.1(a) and Figure 8.1(b) the transition band is respectively given by T = ({π/8 ≤ t1 ≤ 7π/8, −7π/8 ≤ t2 ≤ −π/8} ∪ {−7π/8 ≤ t1 ≤ −π/8, π/8 ≤ t2 ≤ 7π/8}) \ P, T ={−|t2 | − π/8 ≤ t1 ≤ −|t2 |} ∪ {|t2 | ≤ t1 ≤ |t2 | + π/8} . Furthermore we may impose the stability conditions q(t1 , t2 ) > 0 to guarantee (8.5) (see [GB06] for a similar approach). This is explained in detail in the next Section. The frequency domain [−π, π] × [−π, π] is covered by a grid of n + 1 = 1089 points by sampling in both directions equidistantly with distance π/16. For the choice δ1 = 0.01 the passband ripple 20 log10
1 + δ1 = 0.17 dB 1 − δ1
and for δ2 = 0.02 the stopband attenuation is −20 log10 δ2 = 34 dB. With these parameters we obtain for the centrosymmetric filter a model with the sets N and D in (8.3) given by N =D \ {(1, −3)} D ={(k1 , k2 ) ∈ N2 | 0 ≤ k1 + k2 ≤ 4} ∪ {(k1 , k2 ) ∈ N0 × (−N0 ) | 2 ≤ k1 − k2 ≤ 4}.
8.3.
Design of stable IIR filters
105
The resulting rational function rℓ,m (t1 , t2 ) = r19,20 (t1 , t2 ) is plotted in Figure 8.2(a). As envisaged ℓ + m = 39 ≪ n = 1088. With the same parameters, the model obtained for the fanfilter using the quadratic programming technique is of much less complexity than the one presented in [Har81]: its numerator and denominator only contain 13 and 15 terms respectively with the sets N and D in (8.4) given by N = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 , k2 ≤ 3} \ {(3, 2), (2, 3), (3, 3)} D = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 , k2 ≤ 3} \ {(3, 3)}. The rational function r12,14 (t1 , t2 ) is shown in Figure 8.2(b). Here again ℓ + m = 26 ≪ n = 1088. When the parameters are relaxed to δ1 = 0.05 and δ2 = 0.1 then, as expected, the obtained model has even lower complexity: N = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 + k2 ≤ 3} ∪ {(2, 2)}
(8.13)
D = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 + k2 ≤ 2}.
(8.14)
The passband ripple becomes 0.87 dB while the stopband attenuation now equals 20 dB. This approximation rℓ,m (t1 , t2 ) = r10,5 (t1 , t2 ) is illustrated in Figure 8.3. Instead of relaxing the tolerances δ1 and δ2 , the dataset in Figure 8.1(b) can be reduced to about one quarter because of the symmetric nature of the basis functions. We have q(t1 , t2 ) = q(−t1 , t2 ) = q(t1 , −t2 ) = q(−t1 , −t2 )
(a) rℓ,m (t1 , t2 ) = r19,20 (t1 , t2 )
(b) rℓ,m (t1 , t2 ) = r12,14 (t1 , t2 )
Figure 8.2: Rational models for the parameters δ1 = 0.01 and δ2 = 0.02 .
106
8. Case study: multidimensional recursive filters
and similarly for p(t1 , t2 ). This may lead to a subtle difference in the neighbourhood of the axes t1 = 0 and t2 = 0 as can be seen in Figure 8.4 compared to Figure 8.2(b). Similar experiments were made for the circularly symmetric and diamondshaped lowpass filters given in [GB06]. Note that the equiripple behaviour around 1 and 0 in the pass- and stopband respectively, is typical for the obtained models.
8.4
Guaranteeing stability in the tolerance scheme
Let us first discuss a result on the a posteriori verification of the stability of the filter (p/q)(t1 , t2 ). We reconsider the denominator q(t1 , t2 ) of the (i) (i) rational approximant. As before, at the data points q(t1 , t2 ) > 0. Take a (k) (k) finite set S ⊂ [−π, π]2 of points (t1 , t2 ) in the independent variable space, (i) (i) containing at least the n + 1 given points (t1 , t2 ) and the corner points (±π, ±π). Let (i) (i) (j) (j) (i) (j) (i) (j) d (t1 , t2 ), (t1 , t2 ) = max |t1 − t1 |, |t2 − t2 |
denote the usual ℓ∞ distance and let (i) (i) (j) (j) ∆ = max d (t1 , t2 ), (t1 , t2 ) S
(k)
(k)
µ = min q(t1 , t2 ) . S
Figure 8.3: Rational model rℓ,m (t1 , t2 ) = r10,5 (t1 , t2 ) for the relaxed parameters δ1 = 0.05 and δ2 = 0.1.
8.4.
Guaranteeing stability in the tolerance scheme
107
Figure 8.4: Rational model rℓ,m (t1 , t2 ) = r12,12 (t1 , t2 ) for the data in [0, π] × [0, π] and parameters δ1 = 0.01 and δ2 = 0.02. We know from Chapter 6 that if mini=0,...,n (f i − f i ) > 0, then (i)
(i)
min q(t1 , t2 ) > 0 .
i=0,...,n
The following more general result can be proved. Proposition 8.4.1 (Cuyt, 2008). If S exists with ∆M < µ where ∂q(t1 , t2 ) ∂q(t1 , t2 ) , , max M = max max ∂t1 [−π,π]2 ∂t2 [−π,π]2
then the rational approximant rℓ,m (t1 , t2 ) satisfying the tolerance scheme (8.12) has no poles in [−π, π]2 . Proof. Assume that the denominator has a zero q(t˜1 , t˜2 ) = 0 with (t˜1 , t˜2 ) ∈ [−π, π]2 (such a zero is not isolated). Then find its nearest neighbour (k) (k) (t1 , t2 ) among the points in S, according to the ℓ∞ distance (this may be non-unique). To this end (t˜1 , t˜2 ) is taken as the center of an ℓ∞ -ball ema(k) nating from it. Hence for the nearest neighbour we find |t1 − t˜1 | ≤ ∆/2 (k) and |t2 − t˜2 | ≤ ∆/2. Using Taylor’s theorem we have ∂q(t1 , t2 ) ˆ ˆ (k) ˜ (k) (k) (t1 , t2 ) t1 − t1 q(t1 , t2 ) = q(t˜1 , t˜2 ) + ∂t1 ∂q(t1 , t2 ) ˆ ˆ (k) ˜ (t1 , t2 ) t2 − t2 + ∂t2 (k)
(k)
with (tˆ1 , tˆ2 ) somewhere on the segment connecting (t1 , t2 ) and (t˜1 , t˜2 ). Hence (k) (k) q(t1 , t2 ) ≤ M ∆
108
8. Case study: multidimensional recursive filters (k)
(k)
with M < ∞. Since q(t1 , t2 ) ≥ µ, we have a contradiction. Note that the values of M and µ are both determined up to the same multiplicative constant which depends on the normalization of p(t1 , t2 ) and q(t1 , t2 ) which is free. In practice this result is not very useful though, because it may imply a rather large set S due to the need for a sufficiently small ∆. In order to guarantee the stability of the filter (p/q)(t1 , t2 ) a priori, we complement the system of homogeneous inequalities (8.9) with β(0, 0) ≥ 0 X ±β(k1 , k2 ) ≥ 0 β(0, 0) + (k1 ,k2 )∈D0
where each possible sign combination in the sum attributes an inequality. These conditions guarantee, when the basis functions are cosines, that the denominator q(t1 , t2 ) does not change sign. Since the quadratic programming technique delivers a solution for the β(k1 , k2 ) in the interior of the set, automatically the strict inequalities β(0, 0) > 0 X ±β(k1 , k2 ) > 0 β(0, 0) + (k1 ,k2 )∈D0
are satisfied. Of course it is to be expected that adding constraints to guarantee stability a priori will tighten the conditions on the coefficients α(k1 , k2 ) and β(k1 , k2 ) and hence increase the complexity of the rational model that satisfies all inequalities. When adding the stability constraint to the so-called relaxed centrosymmetric filter and fan filter (δ1 = 0.05, δ2 = 0.1), then the algorithm respectively returns the models r41,16 (t1 , t2 ) and r45,3 (t1 , t2 ) displayed in Figure 8.5(a) and Figure 8.5(b) . Here respectively N ={(k1 , k2 ) ∈ N2 | 0 ≤ k1 + k2 ≤ 6} ∪ {(k1 , k2 ) ∈ N0 × (−N0 ) | 2 ≤ k1 − k2 ≤ 6} \ {(1, −5)} D ={(k1 , k2 ) ∈ N2 | 0 ≤ k1 + k2 ≤ 4} ∪ {(k1 , k2 ) ∈ N0 × (−N0 ) | 2 ≤ k1 − k2 ≤ 3} and
N = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 , k2 ≤ 6} \ {(6, 5), (5, 6), (6, 6)} D = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 , k2 ≤ 1}.
8.4.
Guaranteeing stability in the tolerance scheme
(a) rℓ,m (t1 , t2 ) = r41,16 (t1 , t2 )
109
(b) rℓ,m (t1 , t2 ) = r45,3 (t1 , t2 )
Figure 8.5: Relaxed filters with stability conditions. The filter now displays a typical equiripple behaviour in both directions. The number of additional inequalities to guarantee stability a priori increases exponentially with the denominator degree though, since it is given by 1 + 2m with m = #D0 . This drawback for higher degree denominators can be overcome by computing a denominator of the form q(t1 , t2 ) = (q1 q2 )(t1 , t2 ) where each factor is of sufficiently low degree and where for separately obtained q1 , for instance i p˜ h ∈ f − δ˜i , f + δ˜i , δ˜1 , δ˜2 > 0, q1 it holds that
p ∈ [(f − δi )q1 , (f + δi )q1 ] q2
in pass- and stopband (and similarly for the transition band). This idea can be repeated to obtain more factors in the denominator polynomial. For the stricter fan filter (δ1 = 0.01, δ2 = 0.02) we obtain with q(t1 , t2 ) = (q1 q2 q3 )(t1 , t2 ) the rational model displayed in Figure 8.6(a). Here we have chosen each factor qj of total degree 3 with for j = 1, 2, 3 in the pass- and stopband δ˜1 = 23−j δ1 , δ˜2 = 23−j δ2 respectively. The numerator polynomial p(t1 , t2 ) is of total degree 15. When taking denominator factors of partial degree 2 in each of the variables, a simpler model can be found. With q(t1 , t2 ) = (q1 q2 )(t1 , t2 ) and δ˜1 = 2δ1 , δ˜2 = 2δ2 the degree of the numerator is indexed by N = {(k1 , k2 ) ∈ N2 | 0 ≤ k1 , k2 ≤ 9} \ {(9, 9)} and the rational function is illustrated in Figure 8.6(b).
110
8. Case study: multidimensional recursive filters
(a)
(b)
Figure 8.6: Fan filters with stability conditions added to a separable denominator. The coefficients of all rational models used in this Section can be found in Appendix B. Note the expected symmetry patterns among related coefficients.
8.5
Conclusion
The reformulation of the rational approximation problem using uncertainty intervals leads to a quadratic programming problem with a unique global minimum. The problem statement is independent of the number of variables and hence truly multidimensional. Its solution is the rational interpolant of minimal order that passes through the uncertainty intervals as closely to their midpoint as possible, hence guaranteeing robustness in stability. Because of the use of uncertainty intervals, this rational function automatically and strictly obeys prescribed error tolerances. On the whole the technique offers several advantages compared to least squares techniques. We have illustrated its use for the development of stable symmetric multidimensional recursive filters, a technology which is required in many diverse areas, including image processing, video signal filtering, tomography and different grid-based methods in scientific computing.
9 Conclusions and further research 9.1
Conclusions
The central topic of this thesis is rational interpolation of exact and inexact data.
9.1.1
Conclusions of Part I
In the first part the numerical implementation of univariate rational interpolation with asymptotic information is considered. Hence infinity is admitted in both the independent variable as well as in the function value. Before deciding upon an implementation we have carefully selected some techniques and representations for univariate rational interpolation with special attention for their numerical properties and their support for asymptotic information. First the problem of univariate rational interpolation including infinite function values, but without the point at infinity is studied in Chapter 1 in order to understand the possible degeneracies that are connected with the classical rational interpolation problem. In Chapter 2 a specific representation for interpolating rational functions is considered: the barycentric form. Although the barycentric form has a remarkable property which makes it attractive for numerical implementation, namely exact interpolation even in the presence of rounding errors, we have shown that, due to catastrophic cancellation, the evaluation of the barycentric form may give very inaccurate results when evaluated outside the interpolation interval. Hence the barycentric form is not suitable for interpolation at infinity. 111
112
9. Conclusions and further research
For that reason interpolating continued fractions are considered in Chapter 3. First Thiele continued fractions are introduced, which form the basis for the more advanced algorithm due to Werner. This algorithm is one of the few algorithms for rational interpolation for which a stability analysis exists. If a special pivoting strategy is incorporated, then it has been proven to be backward stable [GM80]. With this pivoting strategy, it also allows for poles (vertical asymptotes) to be prescribed, but in its standard form, interpolation at infinity (including horizontal and oblique asymptotes) is not supported. In Chapter 4 the interpolation condition at infinity is added. First a condition to detect degeneracy for the point at infinity is given if the points are ordered such that all finite data come first and the point at infinity is last. For this ordering of the data, we have shown how the algorithm of Werner can be modified to interpolate also at infinity. In the last Chapter of the first part, other algorithms for rational interpolation which are more or less related to Werner’s algorithm have been reviewed. These techniques are more suitable in a symbolic environment rather than a numerical one.
9.1.2
Conclusions of Part II
In the second part, asymptotic behavior is discarded, but the problem setting of the first part is generalized considerably by considering the multivariate case and allowing uncertainty in the function values. After all, in many applications observations are often prone to imprecise measurements. The conventional way to find a rational function approximating such data with noise is by means of a rational least squares approximation. We have proposed a new approach. In Chapter 6 the new problem is formulated, immediately for the multivariate case. It is assumed that the uncertainty in the independent variables is negligible and that for each observation an uncertainty interval can be given which contains the (unknown) exact value. To approximate such data we look for functions which intersect all uncertainty intervals. We have shown that this problem can be solved by a quadratic programming problem with a strictly convex objective function, yielding a unique rational function which intersects all uncertainty intervals and satisfies some additional properties. Compared to rational least squares approximation which is inherently a nonlinear optimization problem where the objective function may have many local minima, this makes the new approach attractive. Since the problem statement is independent of the number of variables, it is truly
9.2.
Further research
113
multivariate. In Chapter 7, the technique developed in Chapter 6 is applied to several benchmark problems. The obtained results indicate that the method scales very well to higher dimensional problems. Chapter 8 is a case study, where the design of multidimensional recursive filters is considered, a technology which is required in many diverse areas, including image processing, video signal filtering, tomography and different grid-based methods in scientific computing. It is shown that reformulation of the problem using uncertainty intervals overcomes many of the classical drawbacks.
9.2
Further research
In the context of this thesis we mention some problems which were not considered in this work and questions which are still open for investigation. A natural extension of the rational interpolation problem also takes derivatives at points into account. Depending on the context, rational functions that interpolate such data are called Multi-point Pad´e approximants, N-point Pad´e approximants or Newton-Pad´e approximants [BGM81]. If all interpolation data is at x = 0 then the problem indeed reduces to the Pad´e approximation problem. Clearly, the classical rational interpolation problem as discussed in Part I is only one specific instance of the more general Multipoint Pad´e problem. Unlike for the Pad´e approximation problem (and much like the classical rational interpolation problem), no standard numerical implementation is available for the problem in its full generality, including multiple interpolation conditions at infinity. A generalization of the algorithm of Werner to the confluent case is due to Arndt [Arn80]. As pointed out at the end of Chapter 5 more general recursions exists [Gut93a, Gut93b] which are also valid for the confluent case. It seems challenging to prove any stability results for the implementation of so-called weakly stable algorithms for the general Multi-point Pad´e problem. Another natural extension is the generalization of the rational interpolation problem to more than one variable. The situation for more than one variable is substantially different, but a similar problem of unattainability occurs [AC93]. Robust implementations for multivariate rational interpolation are even more rare. The problem setting and the technique developed in Chapter 6 are extremely useful in practice. In the univariate case, allowing an uncertainty interval for information at infinity is easy. The resulting additional con-
114
9. Conclusions and further research
straint does not substantially change the solution space, i.e. it remains a polyhedral convex cone. More challenging is the generalization of the problem to function values in the complex plane. The problem itself can easily be formulated by considering boxes in the complex plane instead of intervals. More challenging seems the effective computation of a rational function intersecting these boxes.
A Software The techniques developed in this thesis are implemented as a set of reliable and user-friendly Matlab functions.
A.1
Univariate rational interpolation
The Matlab code belonging to Part I is based on the original implementation in FORTRAN IV by Werner [Wer83]. The modification for allowing interpolation at infinity, as discussed in Chapter 4, is included. The reference documentation for the function cfracratint.m is given below. CFRACRATINT univariate rational interpolation with poles and asymptotic behavior. [Cfrac,Err] = cfracratint(X,F,L,M, EPS) computes a rational interpolant R[L,M] from the data X = x1,...,xn+1 F = f1,...,fn+1 such that R[L,M](xi) = fi (i=1,...,n+1) - X x-values x1 ,..., xn+1 (for interpolation at infinity put xi to Inf) - F function values f1 ,..., fn+1 (for a prescribed pole at xi set fi to Inf) - L numerator degree - M denominator degree (L+M must equal n) - EPS (optional, default is 10^-6) tollerance. output parameters 115
116
A.
Software
Cfrac Continued fraction struct that contains X the original X-values F the original function values Xpiv the pivoted X-values Coef the continued fraction coefficients Horner the operations for the Horner scheme evaluation of the continued fraction Horner(j) = +/- indicates that the j-th operation is a multiplication/division Horner(j) = 2 /-2 indicates the highest degree coef. of the newton polynomial at j Horner(j) = 3 indicates extra interpolated points Numdeg numerator degree L Denomdeg denominator degree M Unatt possible unattainable points Err Description of algorithm success Err = 0 -> no unattainable points detected Err = 1 -> iteration failure Err = 2 -> final check failure: unattainable points Err = 3 -> inf is unattainable See also EVALCFRAC. Together with this function comes the function evalcfrac.m for evaluation of the obtained continued fraction. EVALCFRAC evaluate a continued fraction F = evalcfrac(Cfrac,X) returns the backwards evaluation of a continued fraction in X using the Cfrac structure created by CFRACRATINT. See also CFRACRATINT Example A.1.1. For a typical illustration of the use of these functions, example 4.5.2 is reconsidered. First (finite) data is prepared. >> x = linspace(-0.5,0.5,5); >> f = x.^2*atan(1./x); We also add the interpolation condition at infinity.
A.1.
Univariate rational interpolation
117
>> x = [infty x] >> f = [1 f]; Then the routine cfracratint is called for constructing the r3,2 (x) rational interpolant. >> [cfrac,err] = cfracratint(x,f,3,2) cfrac = X: [Inf -0.5000 -0.2500 0 0.2500 0.5000] F: [1 -0.2768 -0.0829 0 0.0829 0.2768] Xpiv: [Inf -0.2500 0.2500 0.5000 -0.5000 0] Coef: [-0.8064 0 -0.1549 0 1.8064 0] Horner: [-2 3 -2 3 -2 2] Numdeg: 3 Denomdeg: 2 Unatt: [] err = 0 Since err =0 we may want to plot the obtained r5,4 (x) rational interpolant. >> xx = linspace(-pi,pi,100); >> ff = evalcfrac(cfrac,xx); >> plot(x,f,’o’,xx,ff); 4
3
2
1
0
−1
−2
−3
−4 −4
−3
−2
−1
0
1
2
3
4
118
A.2
A.
Software
Rational interpolation of vertical segments
For the technique presented in Part II, in particular Chapter 6, a dimension free Matlab implementation is given. The reference documentation for the function vertsegmapprox.m is given below. VERTSEGMAPPROX Finds rational function(s) that intersect vertical segments. [N, M, Lambda, Exitflag, Output]=vertsegmapprox(X,Fl,Fh,Opts) returns the simplest rational function from R^n ro R with numerator degree set N, denominator degree set M and coefficients Lambda such that it intersects the vertical segments (X,[Fl, Fh]). - X must be a [k x n] matrix containing data [ x11,x12, ...,x1n x21,x22, ...,x2n x31,x32, ...,x3n . . ... . . . ... . . . ... . xk1,xk2,...,xkn] - Fl (resp. Fh) must be a [n x 1] column vector corresponding to the lower (resp. upper) bounds of the segments [Fl, Fh] such that Fl < Fh Opts is an optional structure that defines algorithm behavior. If Opts is empty or not given, default Options are used. Opts
= vertsegmapprox(’Name’,Value,...) set values in Options structure based on the Name/Value pairs:
Name ’Display’
Values{default} {’off’} ’iter’ ’MaxDiag’ {100} ’StartDiag’ {0} ’Basisfun’ {’monom’}
Description No Display of Iteration Info Display each Iteration Maximum Diagonal to explore Starting Diagonal Monomial basisfunctions
A.2.
Rational interpolation of vertical segments function_handle
’Polefree’
Opts
{’off’} ’on’
119
function handle to custom basisfunction of the form mybasefunc = @(n1,x1) n1 must be an integer, x1 must be a real column vector (not a row vector) e.g. monom = @(n1,x1) x1.^n1; Free poles. Incorporates extra constraints for a guaranteed polefree approximation. Make sure that the domain of the basisfunctions is the interval[-1,1].
= vertsegmapprox(Opts,’Name’,Value,...) updates the Options structure with new parameter values.
N = Final Numerator Degrees Found D = Final Denominator Degrees Found Lambda = Final Coefficients Found ExitFlag = Description of algorithm success 1 normal return -1 no solution found up until MaxDiag (incr.MaxDiag) -2 no solution found There Must Not be a Unique Rational Function that intersects The Given Segments. In Case There Are More Solution, All Solutions are Returned in Output Output = Structure containing extra algorithm information Output.N Container with all Numerator Degrees Output.D Container with all Denominator Degrees Output.lambda Container with all Coefficients Output.rad Container with all radii IMPORTANT NOTE: vertsegmapprox uses the function QUADPROG to solve the quadratic programming problem. Make sure that QUADPROG can be found. See also RATEVAL.
120
A.
Software
As before, together with this function comes the function rateval.m for evaluation of the obtained rational function(s). RATEVAL evaluates a rational function. FF = rateval(N,D,Lambda, X, BasisFun) evaluates a rational function in X with numerator degreeset N, denominator degreeset D and coefficients Lambda. N must D must Lambda X must
a matrix where each row corresponds to a degree-tuple a matrix where each row corresponds to a degree-tuple must be a coefficient vector. be a [k x n] matrix containing evaluation data [ x11,x12, ...,x1n x21,x22, ...,x2n x31,x32, ...,x3n . . ... . . . ... . . . ... . xk1,xk2,...,xkn]
Optionally Basisfun a function_handle to customize the basisfunction of the form mybasefunc = @(n1,x1). n1 must be an integer, x1 must be a column vector (hence no vectorization for tuples) e.g. monom = @(n1,x1) x1.^n1; By default, the monomials are used as basisfunctions. See also VERTSEGMAPPROX. Example A.2.1. We illustrate the code with an example. First data is prepared. The idea is to use Chebyshev polynomials of the first kind as basis functions. Therefore the data is rescaled to the interval [−1, 1]. >> x = linspace(-1,1,60)’; >> f = atan(x*pi); >> r = rand(60,1)*0.05; Here r contains random noise within the interval [0, 0.05]. Next the basisfunctions are defined and custom options are set.
A.2.
Rational interpolation of vertical segments
121
>> T=@(n,x) cos(n .* acos(x)); >> opts = vertsegmapprox(’display’, ’iter’, ’basisfun’,T) opts = Display: ’iter’ Basisfun: @(n,x)cos(n.*acos(x)) MaxDiag: 100 StartDiag: 0 Polefree: ’off’ And then the function vertsegmapprox is called. >>[N,M,Lambda,Exitflag,Output]=vertsegmapprox(x,f-r,f+r,opts); Model [ 0 / 0 ] unfeasible. Model [ 1 / 0 ] unfeasible. Model [ 0 / 1 ] unfeasible. Model [ 2 / 0 ] unfeasible. Model [ 1 / 1 ] unfeasible. Model [ 0 / 2 ] unfeasible. Model [ 3 / 0 ] unfeasible. Model [ 2 / 1 ] unfeasible. Model [ 1 / 2 ] unfeasible. Model [ 0 / 3 ] unfeasible. Model [ 4 / 0 ] unfeasible. Model [ 3 / 1 ] unfeasible. Model [ 2 / 2 ] unfeasible. Model [ 1 / 3 ] unfeasible. Model [ 0 / 4 ] unfeasible. Model [ 5 / 0 ] unfeasible. Model [ 4 / 1 ] unfeasible. Model [ 3 / 2 ] feasible. Model [ 2 / 3 ] unfeasible. Model [ 1 / 4 ] unfeasible. Model [ 0 / 5 ] unfeasible. A plot of the obtained rational model r3,2 (x) together with the vertical segments can be made as follows. >> xx = linspace(-1,1,100)’; >> ff = rateval(N,M,Lambda,xx,T); >> plot(xx,ff); >> for k=1:numel(x) hold on; plot([x(k) x(k)],[f(k)-r(k),f(k)+r(k)], ’linewidth’,2); end;
122
A.
Software
1.5
1
0.5
0
−0.5
−1
−1.5 −1
A.2.1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Enumerating over Nd
The function vertsegmapprox.m uses a particular enumeration over the elements of Nd (d ∈ N0 ). Of course there are a lot of different ways to enumerate over the elements of Nd (d ∈ N0 ). Without going into too much detail into the connection with the framework of abstract Category theory, we present in a somewhat informal way which ordering is chosen for the construction of consecutive degree sets. For d = 1, the problem is trivial. Also for d = 2 several strategies exist. The most common ones are to enumerate the elements of squares {(k1 , k2 ) ∈ N2 | 0 ≤ k1 , k2 ≤ n} or triangles {(k1 , k2 ) ∈ N2 | 0 ≤ k1 + k2 ≤ n} emanating from the origin. We have chosen an efficient realization of the triangular strategy. For two elements (k1 . . . , kd ), (k1′ . . . , kd′ ) ∈ Nd , a partial order on Nd is obtained immediately by defining (k1 . . . , kd ) ≤ (k1′ . . . , kd′ ) ⇔
d X i=1
ki ≤
d X
ki′ .
i=1
Clearly the origin is always the smallest element. But only for d = 1 this is a total order. If we want elements to be mutually comparable for d > 1 we
A.2.
Rational interpolation of vertical segments
123
need to define a rule for the case that d X i=1
ki =
d X
ki′ .
i=1
We restrict ourselves to lexicographical orderings. We have chosen the backwards lexicographical ordering (i.e. ordering by kd first) by default, but this is merely a matter of taste. Priority can be assigned to any ki . In fact, any lexicographical ordering can be described in a simple inductive way once a preference is fixed upon the ki . Let d X kj = n . Vn = (k1 , . . . , kd ) ∈ Nd | j=1
A lexicographical preference fixes the order of the elements of Vn .
Example A.2.2. For d = 3, the lexicographical preference (1, 2, 3) means that first is sorted on k1 , then on k2 and finally on k3 . Hence the ordering of V1 is (0, 0, 1) < (0, 1, 0) < (1, 0, 0). The preference (1, 3, 2) means that first is sorted on k1 , then on k3 and finally on k2 . The ordering of V1 is then (0, 1, 0) < (0, 0, 1) < (1, 0, 0). Recall that it is our goal to enumerate over Nd , not simply sorting elements. A first idea is to use the fact that for each n > 0, the elements of Vn can be decomposed in a unique way as the sum of n elements out of V1 . Here addition is understood component wise. This gives rise to a d-ary tree, which can be traversed efficiently in a breadth-first fashion. Provided that the tree is composed in the right way, breadth-first traversal of the tree corresponds exactly to the discussed enumeration of Nd . For a lexicographical ordering at each level (Vn ), its construction is as follows. The origin is always the root element, and has d children: the elements of V1 . For ease of notation, denote the elements of V1 by ei = (0, . . . , 0, 1, 0, . . . , 0) where the position of 1 is on the i-th location. Each arrow connects a node (k1 , . . . , kd ) ∈ Vn−1 to a node (k1′ , . . . , kd′ ) ∈ Vn and has a label 1 ≤ i ≤ d. A label i means that (k1′ , . . . , kd′ ) = (k1 , . . . , kd ) + ei The way that children are generated depends on the chosen lexicographical preference. If an arrow with label i enters a node, then arrows with
124
A.
Software
preference labels equal and higher than i leave that node, sorted top down on ei . Example A.2.3. Trees for d = 3 are illustrated in Figures A.1 and A.2. Figure A.1 shows the backward lexicographical preference (3, 2, 1). The standard lexicographical preference (1, 2, 3) is shown in Figure A.2. The advantage of a tree representation is that its traversal and construction can be done at runtime using backtracking. The backward lexicographical ordering at each level for arbitrary d has been implemented in C++. Thanks go to Walter Schreppers for excellent coding. For large d > 0 the tree representation is very useful because the number of children at each level grows fast (see below). Hence the depth of the tree grows slowly, so that little time is spent in backtracking. For small d, the representation is somewhat superfluous. Since Matlab is used for implementing the vertical segments approach, a Matlab implementation has also been pursued. Unfortunately, Matlab does not support graphs efficiently. Therefore another approach has been taken: simply constructing the sequence {Vn }∞ n=0 , where each Vn is sorted lexicographically according to some preference. Clearly, only an implementation for computing the Vn is needed. This can be done in a straightforward recursive fashion as follows. For simplicity let us consider the lexicographical preference (1, . . . , d) for Vnd (here the dependence of d in Vn is shown explicitly). Let d > 1. The lexicographical ordering of Vnd means that first come all tuples (k1 , . . . , kd ) ∈ Vnd for which k1 = 0 and (k2 , . . . , kd ) ∈ Vnd−1 . Then d−1 . come all tuples (k1 , . . . , kd ) ∈ Vnd for which k1 = 1 and (k2 , . . . , kd ) ∈ Vn−1 d And so on until the last tuple (k1 , . . . , kd ) ∈ Vn for which k1 = n and (k2 , . . . , kd ) ∈ V0d−1 . So for each 0 ≤ l ≤ n, the problem reduces to the computation of a lower dimensional problem. We can proceed in the same way until the problem is trivial, i.e. we arrive at some Vk1 = {k} with 0 ≤ k ≤ n. Another way to see this is by noting that the number of elements in Vnd exactly equals n+d−1 (n + d − 1)! . (A.1) = (d − 1)! n! d−1 By applying a well know result of binomial coefficients [GKP94, Table 147], for d ≥ 2, we may rewrite (A.1) into
n+d−2 n X k X n+d−1 n+d−2−l = = . d−1 d−2 d−2 k=0
l=0
(A.2)
A.2.
Rational interpolation of vertical segments
1
200
1
125
300
1
400
100 1 000
2
010
1 2
110 020
1 1 2
210 120 030
3
1 1 1 2
310 220 130 040
001
1 2
101 011
1 1 2
201 111 021
3
1 1 1 2
301 211 121 031
002
1 2
102 012
1 1 2
3
202 112 022
003
1 2 3
103 013 004
Figure A.1: The backwards lexicographical ordering for each Vn of N3 is equivalent to the breadth-first traversal of the tree (top down at each level).
126
A.
3
002
3 2
011
3
003
3
Software
004
001 3 000
2
010
020
3 3 2
012 021 030
1
3 3 3 2
013 022 031 040
100
3 2
101 110
3 3 2
102 111 120
1
3 3 3 2
103 112 121 130
200
3 2
201 210
3 3 2
1
202 211 220
300
3 2 1
301 310 400
Figure A.2: The lexicographical ordering for each Vn of N3 is equivalent to the breadth-first traversal of the tree (top down at each level).
A.2.
Rational interpolation of vertical segments
127
This last form makes explicit again that the problem decomposes into the d−1 (0 ≤ l ≤ n) of lower dimensions. The same computation of n + 1 sets Vn−l decomposition can be applied recursively to the problems Vld−1 (0 ≤ l ≤ n) until the problem is trivial, i.e. d − 2 = 0. The Matlab implementation for constructing Vnd (here called diagonal indexing) is so short that we give it below. For d > 1, the function returns a matrix of dimensions n+d−1 × d where each row represents an element d−1 d of Vn . The rows are sorted by backward lexicographical preference. Other preferences can be obtained by appropriate indexing of the columns. For simplicity this is omitted in the description here, as well as the code for checking valid input. function diags = diagindx(n, d) %DIAGINDX compute diagonal indexing. % % diags = diagindx(n,d) returns the lattice of % all postive integer d-tuples (k1,k2,...,kd) % for which k1 + k2 +...+ kd = n % in backward lexicographical ordering % (priority first on kd) if d==1 %trivial 1D-case (recursion stop) diags = n; else %general multidimensional case. diags = []; for l=0:n tmp = []; d2 = d-1; %break up into smaller problems n2 = n-l; nd = prod(n2+1:n2+d2-1)/prod(1:d2-1); tmp = [diagindx(n2,d2) ones(nd,1)*(l)]; %do recursion diags =[diags; tmp]; %append end %end for end %end if end %end function Example A.2.4. The elements of V34 are for instance obtained as follows. >> V_3 = diagindx(3,4) V_3 = 3 0 0 0
128
A. 2 1 0 2 1 0 1 0 0 2 1 0 1 0 0 1 0 0 0
1 2 3 0 1 2 0 1 0 0 1 2 0 1 0 0 1 0 0
0 0 0 1 1 1 2 2 3 0 0 0 1 1 2 0 0 1 0
Software
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 3
In conclusion and unrelated to the implementation, we note that for d > 2 , expanding the binomial coefficient in the right hand side of (A.2) another d − 3 times, we obtain the following identity
n+d−1 d−1
=
n n−l 1 −l2 X X1 n−l X
l1 =0 l2 =0
l3 =0
n−l1 −l2 −···−ld−3
···
X
(n + 1 − l1 − l2 − · · · − ld−2 ),
ld−2 =0
where for the last step we have used that
X X n′ ′ n′ n′ + 2 n + 1 − l′ = = n′ + 1 − l ′ . 2 1 ′ ′ l =0
l =0
B Filter Coefficients B.1
Tables
The coefficients of the rational models in Chapter 8 are tabulated below. Table B.1 Coefficients belonging to Fig. 8.2(a) (k1 , k2 ) (0, 0) (1, 0) (0, 1) (2, 0) (1, 1) (0, 2) (1, −1) (3, 0) (2, 1) (1, 2) (0, 3) (2, −1) (1, −2) (4, 0) (3, 1) (2, 2) (1, 3) (0, 4) (3, −1) (2, −2)
α(k1 , k2 ) 1.651324158846769e+ 01 6.365957184641155e− 12 1.911024862632245e− 12 −1.783814442760839e+ 01 3.480534414387040e+ 00 −1.769115478011714e+ 01 −3.479180079768970e+ 00 −3.367033546455229e− 12 −1.615303121247842e− 11 4.967415890641323e− 12 −6.463240642452745e− 12 1.979918484643810e− 11 −7.003432084187437e− 12 −2.409709667326543e− 01 −1.729764820649716e+ 00 9.904853514226945e+ 00 −1.098097422716069e− 03 −5.086598397343498e− 01 1.729848499168839e+ 00 9.908133830363790e+ 00
(k1 , k2 ) (0, 0) (1, 0) (0, 1) (2, 0) (1, 1) (0, 2) (1, −1) (3, 0) (2, 1) (1, 2) (0, 3) (2, −1) (1, −2) (4, 0) (3, 1) (2, 2) (1, 3) (0, 4) (3, −1) (2, −2) (1, −3)
β1 (k1 , k2 ) 4.639787058234575e+ 02 −5.078040292326658e− 10 5.126174903356194e−1 0 −3.881786452646074e+ 02 −5.755363975681557e+ 02 −3.907891835918771e+ 02 5.755326813847495e+ 02 2.423417572427720e− 10 2.075139860673522e− 10 −2.153692315623192e− 10 −2.512248804280807e− 10 −5.168997053202553e− 10 5.283329717227284e− 10 1.651351153356798e+ 01 8.059003157291744e+ 01 1.430283826244234e+ 02 8.436372891206345e+ 01 1.773365756981746e+ 01 −8.057721964717290e+ 01 1.430175975626173e+ 02 −8.435582886925751e+ 01
Table B.2 Coefficients belonging to Fig. 8.2(b) (k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2)
α(k1 , k2 ) 6.381754129963678e+ 02 9.074944502138662e+ 02 −9.074944501745391e+ 02 −1.243241928578952e+ 03 2.968051980733823e+ 02 2.968051980184051e+ 02
(k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2)
129
β1 (k1 , k2 ) 8.531810862137290e+ 02 5.662255233620328e+ 02 −5.662255233046639e+ 02 −1.736533781887765e+ 03 4.358851995707559e+ 02 4.358851995223264e+ 02
130
B. Filter Coefficients (k1 , k2 ) (2, 1) (1, 2) (2, 2) (3, 0) (0, 3) (3, 1) (1, 3)
α(k1 , k2 ) −3.842954042670931e+ 02 3.842954042094776e+ 02 7.496497839352641e+ 01 3.633830202013743e+ 01 −3.633830200011637e+ 01 −3.076422417863555e+ 01 −3.076422416295730e+ 01
(k1 , k2 ) (2, 1) (1, 2) (2, 2) (3, 0) (0, 3) (3, 1) (1, 3) (3, 2) (2, 3)
Table B.2 continued β1 (k1 , k2 ) −1.747670039033167e+ 02 1.747670038089761e+ 02 1.393070974039180e+ 02 4.942849837850705e+ 00 −4.942849799739452e+ 00 −6.287214209483753e+ 01 −6.287214207053407e+ 01 −1.383212008481558e+ 00 1.383212009072552e+ 00
Table B.3 Coefficients belonging to Fig. 8.3 (k1 , k2 ) (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (0, 2) (0, 3) (3, 0) (1, 2) (2, 1) (2, 2)
α(k1 , k2 ) 1.199990098544420e+ 02 −1.682548600651715e+ 02 1.682548600651715e+ 02 −1.963929648926201e+ 02 4.061172916517052e+ 01 4.061172916517052e+ 01 −6.107104253940785e+ 00 6.107104253940819e+ 00 5.235905237126963e+ 01 −5.235905237126880e+ 01 −8.678812623055843e− 01
(k1 , k2 ) (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (0, 2)
β1 (k1 , k2 ) 1.931244585945764e+ 02 −6.052774624890729e+ 01 6.052774624890731e+ 01 −3.423309403923468e+ 02 7.664103839770986e+ 01 7.664103839770998e+ 01
Table B.4 Coefficients belonging to Fig. 8.4 (k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2) (2, 1) (1, 2) (2, 2) (3, 0) (0, 3) (3, 1) (1, 3)
α(k1 , k2 ) 6.628329186491410e+ 02 9.423231759616856e+ 02 −9.429926972237510e+ 02 −1.294693625069721e+ 03 3.097348037055071e+ 02 3.106853507544964e+ 02 −4.010433231086274e+ 02 4.020468397991291e+ 02 7.940271803571203e+ 01 3.825999707317656e+ 01 −3.861827671733029e+ 01 −3.284462993253570e+ 01 −3.313056926800742e+ 01
(k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2) (2, 1) (1, 2) (2, 2) (3, 0) (0, 3) (3, 1) (1, 3)
β1 (k1 , k2 ) 8.671760373832705e+ 02 6.182004066718139e+ 02 −6.193976685341664e+ 02 −1.759347467574567e+ 03 4.399859686978245e+ 02 4.406185244684142e+ 02 −2.047678144395121e+ 02 2.068239089136406e+ 02 1.364546424841361e+ 02 8.866022605658740e+ 00 −9.748898995373230e+ 00 −6.138752402438668e+ 01 −6.151335686129232e+ 01
Table B.5 Coefficients belonging to Fig. 8.5(a) (k1 , k2 ) (0, 0) (1, 0) (0, 1) (2, 0) (1, 1) (0, 2) (1, −1) (3, 0) (2, 1) (1, 2) (0, 3) (2, −1)
α(k1 , k2 ) 3.316059063225431e+ 01 2.827194670879147e− 10 4.473554818689851e− 10 −3.250751814159970e+ 01 4.615059338707415e+ 01 −2.793438982441199e+ 01 −3.974602636496758e+ 01 4.292401466031529e− 11 9.505976272137319e− 10 1.383433836835346e− 09 5.311658340722555e− 10 −4.855918785221173e− 10
(k1 , k2 ) (0, 0) (1, 0) (0, 1) (2, 0) (1, 1) (0, 2) (1, −1) (3, 0) (2, 1) (1, 2) (0, 3) (2, −1)
β1 (k1 , k2 ) 1.560193405541942e+ 02 −3.950593364232784e− 11 −2.911437746055384e− 09 −5.852598525306075e+ 00 −2.898042987123809e+ 01 4.598118358115006e− 08 1.332740059830540e− 01 −7.469760286762462e− 10 −3.916347729681059e− 10 −1.999565838270551e− 09 8.592250734420980e− 10 2.364115766477167e− 09
B.1.
Tables (k1 , k2 ) (1, −2) (4, 0) (3, 1) (2, 2) (1, 3) (0, 4) (3, −1) (2, −2) (1, −3) (5, 0) (4, 1) (3, 2) (2, 3) (1, 4) (0, 5) (4, −1) (3, −2) (2, −3) (1, −4) (6, 0) (5, 1) (4, 2) (3, 3) (2, 4) (1, 5) (0, 6) (5, −1) (4, −2) (3, −3) (2, −4)
131 α(k1 , k2 ) −7.323251802884898e− 10 −5.074137979137787e+ 00 −1.254890409285706e+ 01 2.071098719146597e+ 01 −8.192397209485527e+ 00 −8.111019716278742e+ 00 4.739576072802652e+ 00 1.017511309770704e+ 01 4.721523728273553e− 01 −9.910733066859427e− 10 4.513832639434310e− 10 −4.736353222011735e− 10 −4.938015411677864e− 10 −1.486729261634895e− 10 −5.159018472858196e− 10 3.761570675729092e− 10 1.303723156592340e− 09 5.248176894263027e− 10 5.339549915733015e− 10 −3.897989926191942e+ 00 4.475869914455196e+ 00 −2.390084839259809e+ 00 5.807375988971365e+ 00 6.925200032700233e− 01 9.071724380453116e− 01 −4.899701671071803e+ 00 −1.779900362940602e+ 00 4.474973810897193e+ 00 5.127146019612504e+ 00 7.490351866543907e+ 00
(k1 , k2 ) (1, −2) (4, 0) (3, 1) (2, 2) (1, 3)
Table B.5 continued β1 (k1 , k2 ) −2.459657055672917e− 09 1.709813038161260e+ 01 −4.673325394918729e+ 01 −7.201225944823976e+ 00 −4.951287561086198e+ 01
Table B.6 Coefficients belonging to Fig. 8.5(b) (k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2) (2, 1) (1, 2) (2, 2) (3, 0) (0, 3) (3, 1) (1, 3) (3, 2) (2, 3) (3, 3) (4, 0) (0, 4) (4, 1) (1, 4) (4, 2) (2, 4) (4, 3) (3, 4) (4, 4) (5, 0) (0, 5) (5, 1) (1, 5)
α(k1 , k2 ) 3.736172378317067e+ 02 3.624062487101197e+ 02 −3.624062487100840e+ 02 −3.019332904638772e+ 02 −3.237360519774465e+ 01 −3.237360519773400e+ 01 3.534798389365433e+ 01 −3.534798389368139e+ 01 6.194057429900786e+ 01 −2.049574557837724e+ 01 2.049574557841158e+ 01 −2.961208096033837e+ 01 −2.961208096040617e+ 01 3.516579076762741e+ 01 −3.516579076759066e+ 01 4.384190967691313e+ 01 −1.837951020015194e+ 00 −1.837951019980902e+ 00 −1.554503066613432e+ 01 1.554503066606798e+ 01 −2.466092332634530e+ 01 −2.466092332629933e+ 01 2.790408351793911e+ 01 −2.790408351796146e+ 01 6.221743966979296e+ 01 1.841617337979359e+ 00 −1.841617337952468e+ 00 5.922286011926203e+ 00 5.922286011872261e+ 00
(k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1)
β1 (k1 , k2 ) 6.769106064365624e+ 02 4.678457435219729e+ 00 −4.678457435178398e+ 00 −6.674682228721139e+ 02
132
B. Filter Coefficients (k1 , k2 ) (5, 2) (2, 5) (5, 3) (3, 5) (5, 4) (4, 5) (5, 5) (6, 0) (0, 6) (6, 1) (1, 6) (6, 2) (2, 6) (6, 3) (3, 6) (6, 4) (4, 6)
α(k1 , k2 ) −1.332835540758634e+ 00 1.332835540806822e+ 00 −2.749470488344321e+ 01 −2.749470488348308e+ 01 −1.760753985100208e+ 01 1.760753985102446e+ 01 3.910888886682526e+ 01 −1.580716282043982e+ 00 −1.580716282033275e+ 00 −3.994295900046221e+ 00 3.994295900023601e+ 00 −3.585113750558630e+ 00 −3.585113750536241e+ 00 −9.230597079571752e− 01 9.230597079362570e− 01 −1.953794000524621e+ 01 −1.953794000523334e+ 01
(k1 , k2 )
Table B.6 continued β1 (k1 , k2 )
Table B.7 Coefficients belonging to Fig. 8.6(a) (k1 , k2 ) (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (0, 2) (0, 3) (3, 0) (1, 2) (2, 1) (2, 2) (4, 0) (0, 4) (3, 1) (1, 3) (0, 5) (5, 0) (1, 4) (4, 1) (2, 3) (3, 2) (3, 3) (6, 0) (0, 6) (5, 1) (1, 5) (4, 2) (2, 4) (0, 7) (7, 0) (1, 6) (6, 1) (2, 5) (5, 2) (3, 4) (4, 3) (4, 4) (8, 0) (0, 8) (7, 1)
α(k1 , k2 ) 8.469089732089978e+ 01 −1.157236346712771e+ 02 1.157236343034689e+ 02 −1.651570828454372e+ 02 3.611293659225733e+ 01 3.611293747084370e+ 01 −7.734132813657423e+ 00 7.734132399353046e+ 00 6.326319108389590e+ 01 −6.326319025104787e+ 01 3.990283772952442e+ 01 3.939479140806489e+ 00 3.939479325265189e+ 00 −1.905923364178958e+ 01 −1.905923448609409e+ 01 −2.461600973036756e− 01 2.461601943243279e− 01 4.075554216768530e+ 00 −4.075554265304498e+ 00 −1.119584516125997e+ 01 1.119584507381882e+ 01 2.022977708720793e+ 00 1.741067211845264e− 01 1.741068074499769e− 01 −3.706821398285720e− 01 −3.706822991634831e− 01 −1.465379012835172e+ 00 −1.465378853562072e+ 00 3.217508252961519e− 01 −3.217507662870586e− 01 −8.244920908264222e− 01 8.244920284389139e− 01 8.895849926973295e− 01 −8.895849937155715e− 01 −1.256263647150319e+ 00 1.256263650251759e+ 00 3.860162999401985e+ 00 4.603445869053960e− 02 4.603451445953313e− 02 −3.936111254124656e− 01
(k1 , k2 ) (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (0, 2) (0, 3) (3, 0) (1, 2) (2, 1) (k1 , k2 ) (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (0, 2) (0, 3) (3, 0) (1, 2) (2, 1) (k1 , k2 ) (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (0, 2) (0, 3) (3, 0) (1, 2) (2, 1)
β1 (k1 , k2 ) 1.796421047633581e+ 03 −3.341052216475141e− 11 3.240804091459014e− 11 −1.599598270945978e+ 03 −5.913716346350414e− 10 −5.904631433344395e− 10 −9.796145204653948e+ 01 9.796145204654452e+ 01 −9.074101787750276e− 10 9.068632195841379e− 10 β2 (k1 , k2 ) 5.258307392056687e− 02 5.610744066876251e− 12 −3.141193456941425e− 12 −4.062315648109036e− 02 5.970624366143740e− 03 5.970625587468837e− 03 −1.276513862702011e− 11 2.679755078330446e− 12 −1.029622623054946e− 11 −1.504763841166207e− 12 β3 (k1 , k2 ) 1.075749702052532e+ 00 −1.732633215890307e− 10 3.971525133838591e− 10 −1.068682310185149e+ 00 3.478501316182089e− 03 3.478492121308063e− 03 4.210323184373265e− 10 −4.309299030093476e− 10 −1.372786488974350e− 08 1.229627363148403e− 08
B.1.
Tables
133 Table B.7 continued
(k1 , k2 ) (1, 7) (6, 2) (2, 6) (5, 3) (3, 5) (0, 9) (9, 0) (1, 8) (8, 1) (2, 7) (7, 2) (3, 6) (6, 3) (4, 5) (5, 4) (5, 5) (10, 0) (0, 10) (9, 1) (1, 9) (8, 2) (2, 8) (7, 3) (3, 7) (6, 4) (4, 6) (0, 11) (11, 0) (1, 10) (10, 1) (2, 9) (9, 2) (3, 8) (8, 3) (4, 7) (7, 4) (5, 6) (6, 5) (6, 6) (12, 0) (0, 12) (11, 1) (1, 11) (10, 2) (2, 10) (9, 3) (3, 9) (8, 4) (4, 8) (7, 5) (5, 7) (0, 13) (13, 0) (1, 12) (12, 1) (2, 11) (11, 2) (3, 10) (10, 3) (4, 9) (9, 4) (5, 8) (8, 5) (6, 7) (7, 6) (7, 7)
α(k1 , k2 ) −3.936112510981863e− 01 1.212472514407823e+ 00 1.212472556297577e+ 00 −2.851711207822016e+ 00 −2.851711183582002e+ 00 −1.886892003723736e− 01 1.886892189057709e− 01 −2.066012432553423e− 01 2.066011407324324e− 01 6.529325106179837e− 01 −6.529324494677279e− 01 −7.369928270417756e− 01 7.369928439365954e− 01 6.098045550500720e− 01 −6.098045761602933e− 01 2.323414176710885e+ 00 −1.250390977177981e− 01 −1.250391587623128e− 01 6.994898656485085e− 02 6.994898011127475e− 02 1.267946670628435e− 01 1.267947545395793e− 01 2.716633727090701e− 01 2.716633244763975e− 01 −1.497877636853258e+ 00 −1.497877640699451e+ 00 −3.206726857875420e− 01 3.206726195863052e− 01 6.183208597602813e− 01 −6.183207963198536e− 01 −2.160040628556896e− 01 2.160040976823973e− 01 −1.592235323155309e− 01 1.592234866686290e− 01 2.364556897109658e− 01 −2.364557099099172e− 01 −8.325674795976534e− 02 8.325677480319484e− 02 2.002126116233022e+ 00 −1.196545817776470e− 01 −1.196546440740202e− 01 2.887924697895161e− 01 2.887926109213027e− 01 −8.431336015783888e− 02 −8.431342882210725e− 02 −2.826631160430215e− 01 −2.826631349508720e− 01 7.378567926751568e− 01 7.378568321809232e− 01 −1.512828008521664e+ 00 −1.512828024753956e+ 00 −1.120607617221355e− 01 1.120607299831924e− 01 4.224441301149029e− 01 −4.224440314662920e− 01 −4.517070519858217e− 01 4.517069820434019e− 01 2.505568056772829e− 01 −2.505568122039620e− 01 −1.090657523448959e− 02 1.090664481083639e− 02 −1.144278395443393e− 01 1.144277672355987e− 01 2.565481673829056e− 01 −2.565481386314332e− 01 1.566209577149418e+ 00
(k1 , k2 )
134
B. Filter Coefficients Table B.7 continued (k1 , k2 ) (14, 0) (0, 14) (13, 1) (1, 13) (12, 2) (2, 12) (11, 3) (3, 11) (10, 4) (4, 10) (9, 5) (5, 9) (8, 6) (6, 8) (0, 15) (15, 0) (1, 14) (14, 1) (2, 13) (13, 2) (3, 12) (12, 3) (4, 11) (11, 4) (5, 10) (10, 5) (6, 9) (9, 6) (7, 8) (8, 7)
α(k1 , k2 ) 6.795691029354550e− 03 6.795682762832452e− 03 9.142077830259862e− 02 9.142082273321496e− 02 −1.709245431222977e− 01 −1.709245947972156e− 01 2.490489920602853e− 02 2.490493336988972e− 02 1.522083989072622e− 01 1.522084066007957e− 01 8.766233101714385e− 02 8.766227816829043e− 02 −9.819465159525839e− 01 −9.819464622612951e− 01 −2.395094710223234e− 03 2.395093653010287e− 03 5.507299539982150e− 02 −5.507298138007446e− 02 −1.343011529208195e− 01 1.343011281732314e− 01 1.372859601782090e− 01 −1.372859437146590e− 01 −9.900076816414249e− 02 9.900077757630149e− 02 3.356439071687140e− 01 −3.356439512537950e− 01 −1.493136044754118e+ 00 1.493136109695435e+ 00 3.025396315841480e+ 00 −3.025396349309753e+ 00
(k1 , k2 )
Table B.8 Coefficients belonging to Fig. 8.6(b) (k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2) (2, 1) (1, 2) (2, 2) (3, 0) (0, 3) (3, 1) (1, 3) (3, 2) (2, 3) (3, 3) (4, 0) (0, 4) (4, 1) (1, 4) (4, 2) (2, 4) (4, 3) (3, 4) (4, 4) (5, 0) (0, 5) (5, 1) (1, 5)
α(k1 , k2 ) 1.944877908203831e+ 01 2.218142685675664e+ 01 −2.218142685647408e+ 01 −2.396222308035551e+ 01 2.850717669983482e+ 00 2.850717669667875e+ 00 −2.659389898322998e+ 00 2.659389898055924e+ 00 7.443562139261313e− 01 2.461284976915254e− 02 −2.461284975795432e− 02 −1.010984953698465e+ 00 −1.010984953666688e+ 00 −1.506586511766102e− 02 1.506586512553965e− 02 2.406201800272446e+ 00 −4.371950603635969e− 02 −4.371950602966369e− 02 −3.089214481619190e− 01 3.089214481560866e− 01 −8.281510203475669e− 01 −8.281510203716866e− 01 5.024773738467837e− 01 −5.024773738183894e− 01 1.391073109778080e+ 00 −1.003944577994073e− 01 1.003944577957896e− 01 −3.089526840322641e− 02 −3.089526838991598e− 02
(k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2) (2, 1) (1, 2) (2, 2) (k1 , k2 ) (0, 0) (1, 0) (0, 1) (1, 1) (2, 0) (0, 2) (2, 1) (1, 2) (2, 2)
β1 (k1 , k2 ) 2.633764931003522e+ 03 −2.937924079770487e− 11 3.857707531357830e− 11 −2.321158025019969e+ 03 −5.448820861430599e− 10 −4.262423134163868e− 10 6.321873998446662e+ 01 −6.321873998458624e+ 01 −1.853601529952025e+ 02 β2 (k1 , k2 ) 1.210009072671117e− 02 2.576576617320667e− 13 9.515906546998465e− 15 −7.966848526971463e− 03 1.338856963063041e− 03 1.338856962978238e− 03 −2.324421881135792e− 14 1.755951318920714e− 15 −1.449104637649834e− 03
B.1.
Tables
135 Table B.8 continued
(k1 , k2 ) (5, 2) (2, 5) (5, 3) (3, 5) (5, 4) (4, 5) (5, 5) (6, 0) (0, 6) (6, 1) (1, 6) (6, 2) (2, 6) (6, 3) (3, 6) (6, 4) (4, 6) (6, 5) (5, 6) (6, 6) (7, 0) (0, 7) (7, 1) (1, 7) (7, 2) (2, 7) (7, 3) (3, 7) (7, 4) (4, 7) (7, 5) (5, 7) (7, 6) (6, 7) (7, 7) (8, 0) (0, 8) (8, 1) (1, 8) (8, 2) (2, 8) (8, 3) (3, 8) (8, 4) (4, 8) (8, 5) (5, 8) (8, 6) (6, 8) (8, 7) (7, 8) (8, 8) (9, 0) (0, 9) (9, 1) (1, 9) (9, 2) (2, 9) (9, 3) (3, 9) (9, 4) (4, 9) (9, 5) (5, 9) (9, 6) (6, 9)
α(k1 , k2 ) −1.028204883858354e− 01 1.028204883811935e− 01 −5.992329820576513e− 01 −5.992329820744852e− 01 2.800848399824792e− 02 −2.800848398521759e− 02 1.015801103632452e+ 00 3.812408513398009e− 02 3.812408513456082e− 02 −1.721681990904223e− 02 1.721681989520925e− 02 −8.253168698706596e− 02 −8.253168697696288e− 02 1.863375271397620e− 02 −1.863375274582161e− 02 −4.909624809633435e− 01 −4.909624809593242e− 01 −2.197979017261854e− 01 2.197979017337340e− 01 6.315082020415009e− 01 −4.070156187235936e− 04 4.070156330570882e− 04 −1.550551121044997e− 02 −1.550551120287156e− 02 −3.082259758398134e− 02 3.082259756993801e− 02 −4.438551862203208e− 02 −4.438551864003468e− 02 8.007249824733581e− 02 −8.007249823360361e− 02 −2.644033581987892e− 01 −2.644033581817832e− 01 −3.270661436517789e− 02 3.270661436628375e− 02 5.891786029136298e− 01 4.956507336916979e− 02 4.956507335673031e− 02 8.521516521264528e− 04 −8.521516412734176e− 04 8.658693185713486e− 02 8.658693189308481e− 02 −2.926347649480631e− 02 2.926347650498035e− 02 −4.310150421156841e− 02 −4.310150424323096e− 02 −2.064871635556232e− 01 2.064871635271779e− 01 −2.950254776587476e− 01 −2.950254776429926e− 01 −5.706821336192940e− 01 5.706821336451177e− 01 8.339800104668572e− 02 2.514014649964506e− 03 −2.514014654462727e− 03 −5.493035937279511e− 02 −5.493035937847541e− 02 −1.774711220533731e− 03 1.774711197937876e− 03 −1.487860639332973e− 02 −1.487860639484312e− 02 1.095214493221580e− 01 −1.095214493114009e− 01 1.629969690103796e− 04 1.629969834326749e− 04 2.562477273846552e− 01 −2.562477273968600e− 01
(k1 , k2 )
136
B. Filter Coefficients Table B.8 continued (k1 , k2 ) (9, 7) (7, 9) (9, 8) (8, 9)
α(k1 , k2 ) −3.634747153259665e− 02 −3.634747153876455e− 02 −4.079110503749314e− 01 4.079110503747073e− 01
(k1 , k2 )
Bibliography [AA86]
A. Antoulas and B. Anderson, On the scalar rational interpolation problem, IMA Journal of Mathematical Control and Information 3 (1986), 61–88.
[AC93]
H. Allouche and A. Cuyt, Unattainable points in multivariate rational interpolation, Journal of Approximation Theory 72 (1993), 159–173.
[Ant88]
A. Antoulas, Rational interpolation and the Euclidean algorithm, Linear Algebra and Its Applications 108 (1988), 157–171.
[Arn80]
H. Arndt, Ein verallgemeinerter kettenbruch-algorithmus zur rationalen Hermite-interpolation, Numerische Mathematik 36 (1980), no. 1, 99–107 (German).
[BBM05] J.P. Berrut, R. Baltensperger, and H.D. Mittelmann, Recent developments in barycentric rational interpolation, Trends and Applications in Constructive Approximation (D.H. Mache, J. Szabados, and M.G. de Bruin, eds.), International Series of Numerical Mathematics, vol. 151, Birkh¨auser Basel, 2005, pp. 27–51. [BBN99]
R. Baltensperger, J.P. Berrut, and B. No¨el, Exponential convergence of a linear rational interpolant between transformed Chebyshev points, Mathematics of Computation 68 (1999), no. 227, 1109–1120.
[Ber97]
J.P. Berrut, The barycentric weights of rational interpolation with prescribed poles, Journal of Computational and Applied Mathematics 86 (1997), 45–52.
[Ber00]
, A matrix for determining lower complexity barycentric representations of rational interpolants, Numerical Algorithms 24 (2000), 17–29.
[BGM81] G.A. Baker and P.R. Graves-Morris, Pad´e approximants. Part II: Extensions and applications, Encyclopedia of Mathematics and its Applications, vol. 14, Addison-Wesley, 1981. 137
138
Bibliography
[BGM96]
, Pad´e approximants, 2nd ed., Encyclopedia of Mathematics and its Applications, vol. 59, Cambridge University Press, New York, 1996.
[BL97]
B. Beckermann and G. Labahn, Recursiveness in matrix rational interpolation problems, Journal of Computational and Applied Mathematics 77 (1997), no. 1-2, 5–34.
[BL00]
, Effective computation of rational approximants and interpolants, Reliable Computing 6 (2000), no. 26, 365–390.
[BM97]
J.P. Berrut and H.D. Mittelmann, Matrices for the direct determination of the barycentric weights of rational interpolation, Journal of Computational an Applied Mathematics 78 (1997), 355–370.
[BM00]
, Rational interpolation through the optimal attachment of poles to the interpolating polynomial, Numerical Algorithms 23 (2000), no. 4, 315–328.
[BT04]
J.P. Berrut and L.N. Trefethen, Barycentric Lagrange interpolation, SIAM Review 46 (2004), no. 3, 501–517.
[BV04]
S. Boyd and L. Vandenberghe, Convex optimization, Cambridge University Press, 2004.
[CJ82]
A. Chottera and G. Julien, A linear programming approach to recursive digital filter design with linear phase, IEEE Transactions on Circuits and Systems 29 (1982), no. 3, 139–149.
[Cla78a]
G. Claessens, On the Newton-Pad´e approximation problem, Journal of Approximation Theory 22 (1978), no. 2, 150–160.
[Cla78b]
, On the structure of the Newton-Pad´e table, Journal of Approximation Theory 22 (1978), no. 4, 304–319.
[CM93]
S. Cabay and R. Meleshko, A weakly stable algorithm for Pad´e approximants and the inversion of Hankel matrices, SIAM Journal on Matrix Analysis and Applications 14 (1993), no. 3, 735– 765.
[CVdC85] A. Cuyt and P. Van der Cruyssen, Rounding error analysis for forward continued fraction algorithms, Computers & Mathematics with Applications 11 (1985), 541–564.
Bibliography
139
[CW88]
A. Cuyt and L. Wuytack, Non-linear methods in numerical analysis, North-Holland, Amsterdam, 1988.
[Dum05]
B. Dumitrescu, Optimization of two-dimensional IIR filters with nonseparable and separable denominator, IEEE Transactions on Signal Processing 53 (2005), no. 5, 1768–1777.
[FH07]
M. Floater and K. Hormann, Barycentric rational interpolation with no poles and high rates of approximation, Numerische Mathematik 107 (2007), no. 17, 315–331.
[Gas79]
S.I. Gass, Comments on the possibility of cycling with the simplex method, Operations Research 27 (1979), no. 4, 848–852.
[GB06]
D. Gorinevsky and S. Boyd, Optimization-based design and implementation of multi-dimensional zero-phase IIR filters, IEEE Transactions on Circuits and Systems I 53 (2006), no. 2, 372– 383.
[Gem96]
L. Gemignani, Fast and stable computation of the barycentric representation of rational interpolants, Calcolo 33 (1996), no. 34, 371–388.
[GI87]
W. Gautschi and G. Inglese, Lower bounds for the condition number of Vandermonde matrices, Numerische Mathematik 52 (1987), no. 3, 241–250.
[GKP94]
R. Graham, D. Knuth, and O. Patashnik, Concrete mathematics: A foundation for computer science, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1994.
[GM80]
P.R. Graves-Morris, Practical, reliable, rational interpolation, Journal of the Institute of Mathematics and its Applications 25 (1980), 267 –286.
[GMH81] P.R. Graves-Morris and T.R. Hopkins, Reliable rational interpolation, Numerische Mathematik 36 (1981), no. 1, 111–128. [Gru67]
B. Gr¨ unbaum, Convex polytopes, Pure and Applied mathematics, vol. XVI, John Wiley & Sons, Ltd., 1967.
[GT56]
A.J. Goldman and A.W. Tucker, Polyhedral convex cones, Linear inequalities and related systems (H. W. Kuhn and A. W.
140
Bibliography Tucker, eds.), Annals of Mathematics Studies, vol. 38, Princeton University Press, 1956.
[Gut89]
M.H. Gutknecht, Continued fractions associated with the Newton-Pad´e table, Numerische Mathematik 56 (1989), no. 6, 547–589.
[Gut93a]
, Block structure and recursiveness in rational interpolation, Approximation Theory VII (E.W. Cheney, C.K. Chui, and L.L. Schumaker, eds.), Academic Press, 1993, pp. 93–130.
[Gut93b]
, The multipoint Pad´e table and general recurrences for rational interpolation, Acta Applicandae Mathematicae 33 (1993), no. 2, 165–194.
[Har81]
D. Harris, Design of 2-D rational digital filters, Acoustics, Speech, and Signal Processing 6 (1981), 696–699.
[Hig02]
N. Higham, Accuracy and stability of numerical algorithms, 2nd ed., Society for Industrial and Applied Mathematics, Philadelphia, 2002.
[Hig04]
, The numerical stability of barycentric Lagrange interpolation, IMA Journal of Numerical Analysis 24 (2004), no. 4, 547–556.
[JT74]
W.B. Jones and W.J. Thron, Numerical stability in evaluating continued fractions, Mathematics of Computation 28 (1974), no. 127, 795–810.
[LPT98]
W.-S. Lu, S.-C. Pei, and C.-C. Tseng, A weighted least-squares method for the design of stable 1-D and 2-D IIR digital filters, IEEE Transactions on Signal Processing 46 (1998), no. 1, 1–10.
[Mar91]
S. Markov, Polynomial interpolation of vertical segments in the plane, Computer arithmetic, scientific computation and mathematical modelling (E. Kaucher, S. Markov, and G. Mayer, eds.), IMACS, J.C. Baltzer AG, Scientific Publishing Co., 1991, pp. 251–262.
[MB82]
M. Milanese and G. Belforte, Estimations theory and uncertainty intervals evaluation in the presence of unknown but bounded errors:linear families of models and estimators, IEEE Transactions on Automatic Control 27 (1982), no. 2, 408–414.
Bibliography [MC04]
141
H. Motulsky and A. Christopoulos, Fitting models to biological data using linear and nonlinear regression: A practical guide to curve fitting, Oxford University Press, 2004.
[MCB79] M.D. McKay, W.J. Conover, and R.J. Beckman, A comparison of three methods for selecting values of input variables in the analysis of output from a computer code, Technometrics 21 (1979), no. 1, 239–245. [Mei70]
J. Meinguet, On the solubility of the Cauchy interpolation problem, Approximation Theory (A. Talbot, ed.), Academic Press, London/NewYork, 1970, pp. 137–163.
[MMY93] M.D. Morris, T.J. Mitchell, and D. Ylvisaker, Bayesian design and analysis of computer experiments: Use of derivatives in surface prediction, Technometrics 35 (1993), no. 3, 243–255. [MPSS96] S. Markov, E. Popova, U. Schneider, and J. Schulze, On linear interpolation under interval data, Mathematics and Computers in Simulation 42 (1996), 35–45. [NW88]
G.L. Nemhauser and L.A. Wolsey, Integer and combinatorial optimization, John Wiley & Sons, 1988.
[Pom68]
T. Pomentale, On discrete rational least squares approximation, Numerische Mathematik 12 (1968), no. 1, 40–46.
[PTVF92] W. Press, S. Teukolsky, W. Vetterling, and B. Flannery, Numerical recipes in C, 2nd ed., Cambridge University Press, Cambridge, UK, 1992. [PV92]
P.M. Pardalos and S.A. Vavasis, Open questions in complexity theory for numerical optimization, Mathematical Programming 57 (1992), no. 2, 337–339.
[RKR03]
H. Reddy, I. Khoo, and P. Rajan, 2-D symmetry: theory and filter design applications, IEEE Circuits and Systems Magazine 3 (2003), no. 3, 4–33.
[SCL08]
O. Salazar Celis, A. Cuyt, and M. Lukach, Stable multidimensional recursive filters via quadratic programming, Tech. Report 2008-02, University of Antwerp, Department of Mathematics and Computer Science, May 2008, (submitted to Digital Signal Processing).
142
Bibliography
[SCLV05] O. Salazar Celis, A. Cuyt, R.B. Lenin, and B. Verdonk, Univariate rational interpolation in practical applications, Proceedings of the International Conference on Numerical Analysis and Applied Mathematics (T.E. Simos, G. Psihoyios, and C. Tsitouras, eds.), 2005, pp. 689–692. [SCV07]
O. Salazar Celis, A. Cuyt, and B. Verdonk, Rational approximation of vertical segments, Numerical Algorithms 45 (2007), no. 1-4, 375–388.
[SCV08]
, A practical algorithm for univariate rational interpolation with asymptotic information, Tech. Report 2008-08, University of Antwerp, Department of Mathematics and Computer Science, July 2008, (abstract to appear in Communications in the Analytic Theory of Continued Fractions).
[Sta87]
H. Stahl, Existence and uniqueness of rational interpolants with free and prescribed poles, Approximation Theory (E.B. Saff, ed.), Lecture Notes in Mathematics, vol. 1287, Springer-Verlag, 1987, pp. 180–208.
[Sti63]
E.L. Stiefel, An introduction to numerical mathematics, Academic Press Inc., London, UK, 1963.
[SW86]
C. Schneider and W. Werner, Some new aspects of rational interpolation, Mathematics of Computation 47 (1986), no. 175, 285–299.
[TB97]
L.N. Trefethen and D. Bau, III, Numerical linear algebra, Siam, 1997.
[VBB90]
M. Van Barel and A. Bultheel, A new approach to the rational interpolation problem, Journal of Computational and Applied Mathematics 32 (1990), no. 1-2, 281–289.
[VBB92]
, A new formal approach to the rational interpolation problem, Numerische Mathematik 62 (1992), no. 1, 87–122.
[VDC81]
P. Van Der Cruyssen, Stable evaluation of generalized continued fractions, SIAM Journal on Numerical Analysis 18 (1981), no. 5, 871–881.
Bibliography
143
[Vla08]
E. Y. Vladislavleva, Model-based problem solving through symbolic regression via pareto genetic programming, Ph.D. thesis, University of Tilburg, Department of Econometrics and Operations Research, 2008.
[Wer79]
H. Werner, A reliable method for rational interpolation, Pad´e Approximation and its Applications (1979), 257–277.
[Wer83]
, Algorithm 51: A reliable and numerically stable program for rational interpolation of Lagrange data, Computing 31 (1983), 269–286.
[Wer84]
W. Werner, Polynomial interpolation: Lagrange versus Newton, Mathematics of Computation (1984), 205–217.
[Wuy74]
L. Wuytack, On some aspects of the rational interpolation problem, SIAM Journal on Numerical Analysis 11 (1974), no. 1, 52– 60.
[ZZ02]
X. Zhu and G. Zhu, A method for directly finding the denominator values of rational interpolants, Journal of Computational and Applied Mathematics 148 (2002), 341–348.