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 één 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é 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öwner 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öwner 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<ℓ+m
k−1=ℓ+m
p∗ (x) = q ∗ (x) · b(x)
solve the linearized rational interpolation problem (1.2).
We remark that if the algorithm starts with f (xi ) 6= 0, ∞, then by
construction and (3.7), also Rj (xi ) 6= 0, ∞ for xi ∈ Sj .
3.2.
Werner’s algorithm
37
Algorithm 3.2.1 Werner’s algorithm [Wer79]
0. (Initialization) Let the set S0 = Xn 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 ∈ {0, 1} but always such that γj ≥ 0 ).
2. Choose γj + 1 points out of Sj and call them x0 , . . . , xγj . Compute
bj (x), the polynomial of degree ∂bj ≤ γj such that bj (xi ) = Rj (xi ) for
0 ≤ i ≤ γj .
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 }.
(a) If kj = ℓj + mj + 1 then Sj+1 = ∅, so that no more data remain
and the recursion stops with Rj (x) = bj (x).
(b) Else kj ≤ ℓj + mj and Sj+1 6= ∅
i. If kj ≥ ℓj + 1, then the recursion stops with Rj (x) = bj (x)
and the points in Sj+1 are unattainable.
ii. 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 )
(3.7)
and
ℓj+1 = mj
mj+1 = ℓj − kj .
Set j ← j + 1 and go to step 1.
(3.8a)
(3.8b)
38
3.3
3.
Interpolating continued fractions
Unattainability
In the description of the algorithm unattainable points are identified in
step 3(b)i. However, there are possibly more unattainable points than detected by the algorithm described so far. Similarly as in the Thiele case
(cf. Proposition 3.1.1), these remaining unattainable points are common
zeros of the continued fraction (3.6) [Wer79]. The following Proposition
characterizes these common zeros.
Proposition 3.3.1. The common zeros of the numerator An′ (x) and the
denominator Bn′ (x) of the n′ -th convergent of the continued fraction (3.6)
constructed from Algorithm 3.2.1 are zeros of aj (x) (j = 0, . . . , n′ − 1). If
xk is a zero of aj (x) for some j ∈ {0, . . . , n′ − 1} then
Rj+1 (xk ) = 0 ⇔ An′ (xk ) = 0 = Bn′ (xk )
The proof follows the one of Proposition 3.1.1 closely.
Hence, including a final check to detect whether the tail Rj+1 (x) vanishes
at a zero of aj (x) for j = 0, . . . , n′ − 1, guarantees the detection of all
unattainable points.
3.4
Non-normality
In order to understand how the algorithm of Werner navigates through the
table of rational interpolants, the role of the parameter rj is crucial.
Werner [Wer79] imposes rj ∈ {0, 1}. Since in each step ℓj ≥ mj , clearly
the choice rj = 0 is always possible. Let us assume that no extra points are
interpolated in step 3, so that kj = γj + 1 = ℓj − mj − rj + 1. If ℓj > 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 Ŝ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 ≤ #Ŝ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 Ŝ0 = S0 ∪{∞} = X2m+k−1 ∪{∞} containing
2m + k + 1 points and function values R0 (xi ) = f (xi ) (xi ∈ Ŝ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 (#Ŝ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 },
Ŝ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 Ŝ0 = S0 ∪{∞} = X2m+k−1 ∪{∞} containing
2m + k + 1 points and function values R0 (xi ) = f (xi ) (xi ∈ Ŝ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 (#Ŝ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 },
Ŝ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é 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 λ̃ = (ã0 , . . . , ãℓ , b̃0 , . . . , b̃m )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 ã0 = 31.82, ã1 = 43.55, ã2 = 11.83, b̃0 = 0.53, b̃1 = 0.32, b̃2 =
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
ã0 = ã1 = ã2 = b̃0 = b̃1 = b̃2 = 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 worth a closer inspection. Some of the coefficients in λ̃ are very small
compared to the norm of λ̃, which is kλ̃k2 = 2.866185751786245. If we
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 ) =
ã(k1 , k2 ) cos(k1 t1 + k2 t2 ),
(k1 ,k2 )∈N
N ⊂N×N∪N0 ×(−N0 )
ã(0, 0) = a(0, 0), ã(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
ă(k1 , k2 ) cos(k1 t1 ) cos(k2 t2 ),
A(eit1 , eit2 ) =
(k1 ,k2 )∈N
N ⊂N2
ă(k1 , 0) = ã(k1 , 0), ă(k1 , k2 ) = ã(k1 , k2 ) + ã(k1 , −k2 ),
X
B(eit1 , eit2 ) =
b̆(k1 , k2 ) cos(k1 t1 ) cos(k2 t2 ),
(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)
(t̂1 , t̂2 ) t1 − t̃1
q(t1 , t2 ) = q(t̃1 , t̃2 ) +
∂t1
∂q(t1 , t2 )
(k)
(t̂1 , t̂2 ) t2 − t̃2
+
∂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
h
i
p̃
∈ 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é approximants,
N-point Padé approximants or Newton-Padé approximants [BGM81]. If all
interpolation data is at x = 0 then the problem indeed reduces to the Padé
approximation problem. Clearly, the classical rational interpolation problem
as discussed in Part I is only one specific instance of the more general Multipoint Padé problem. Unlike for the Padé 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é 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äuser Basel, 2005, pp. 27–51.
[BBN99]
R. Baltensperger, J.P. Berrut, and B. Noël, 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é approximants. Part II:
Extensions and applications, Encyclopedia of Mathematics and
its Applications, vol. 14, Addison-Wesley, 1981.
137
138
Bibliography
[BGM96]
, Padé 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é approximation problem, Journal of Approximation Theory 22 (1978), no. 2, 150–160.
[Cla78b]
, On the structure of the Newton-Padé table, Journal of
Approximation Theory 22 (1978), no. 4, 304–319.
[CM93]
S. Cabay and R. Meleshko, A weakly stable algorithm for Padé
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ünbaum, 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é 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é 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é
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.
© Copyright 2026 Paperzz