historie bernsteinovy báze

historie bernsteinovy báze
The Bernstein polynomial basis:
a centennial retrospective
a “sociological study” in the
evolution of mathematical ideas
Rida T. Farouki
Department of Mechanical & Aerospace Engineering,
University of California, Davis
— synopsis —
• 1912: Sergei Natanovich Bernstein —
constructive proof of Weierstrass approximation theorem
• 1960s: Paul de Faget de Casteljau, Pierre Étienne Bézier
and the origins of computer-aided geometric design
• elucidation of Bernstein basis properties and algorithms
• 1980s: intrinsic numerical stability of the Bernstein form
• algorithms & representations for computer-aided design
• diversification of applications in scientific computing
Weierstrass approximation theorem
Given any continuous function f (x) on an interval [ a, b ] and a tolerance
> 0, a polynomial pn(x) of sufficiently high degree n exists, such that
|f (x) − pn(x)| ≤ for x ∈ [ a, b ] .
Polynomials can uniformly approximate any continuous f (x), x ∈ [ a, b ].
Original (1885) proof by Weierstrass is “existential” in nature — begins
by expressing f (x) as a convolution
1
f (x) = lim √
k→0
πk
Z
+∞
−∞
(t − x)2
f (t) exp −
k2
dt
with a Dirac delta function, and relies heavily on analytic limit arguments.
Sergei Natanovich Bernstein (1880-1968)
(photo: Russian Academy of Sciences)
academic career of S. N. Bernstein
• 1904: Sorbonne PhD thesis, on analytic nature of PDE solutions
(worked with Hilbert at Göttingen during 1902-03 academic year)
• 1913: Kharkov PhD thesis (polynomial approximation of functions)
• 1912: Comm. Math. Soc. Kharkov paper (2 pages): constructive
proof of Weierstrass theorem — introduction of Bernstein basis
• 1920-32: Professor in Kharkov & Director of Mathematical Institute
political purge: moved to USSR Academy of Sciences (Leningrad)
• 1941-44: escapes to Kazakhstan during the siege of Leningrad
• 1944-57: Steklov Math. Institute, Russian Academy of Sciences,
Moscow — edited complete works of Chebyshev (died 1968)
• collected works of Bernstein published in 4 volumes, 1952-64
Bernstein’s proof of Weierstrass theorem
Russian school of approximation theory, founded by Chebyshev,
favors constructive approximation methods over “existential” proofs
given f (t) continuous on t ∈ [ 0, 1 ] define
pn(t) =
n
X
k=0
f (k/n) bnk(t) ,
n
bnk(t) =
(1 − t)n−k tk
k
pn(t) = convex combination of sampled values f (0), f ( n1 ), . . . , f (1)
| f (t) − pn(t) | = O( n1 )
for t ∈ [ 0, 1 ]
=⇒ pn(t) converges uniformly to f (t) as n → ∞
derivatives of pn(t) also converge to those of f (t) as n → ∞
S. N. Bernstein, Comm. Kharkov Math. Soc. (1912)
connection with probability theory
basis function
n
n
bk (t) =
(1 − t)n−k tk
k
probability of k successes in n trials of random process
with individual probability of success t in each trial
→ binomial probability distribution
non-negativity & partition-of-unity properties of bnk(t)
slow convergence of Bernstein approximations
Bernstein polynomial approximations of degree
n = 10, 30, 100, 300, 1000 to a “triangular wave”
This fact seems to have precluded any numerical application of
Bernstein polynomials from having been made. Perhaps they will
find application when the properties of the approximant in the large
are of more importance than the closeness of the approximation.
Philip J. Davis, Interpolation and Approximation (1963)
Paul de Casteljau & Pierre Bézier (1960s)
an emerging application — computer-aided design
• Paul de Faget de Casteljau — theory of “courbes et surfaces à pôles”
developed at André Citroën, SA in the early 1960s
• de Casteljau’s work unpublised (regarded as proprietary by Citroën)
— revealed to outside world by Wolfgang Böhm in mid-1980s
• Pierre Étienne Bézier — implemented methods for computer-aided
design and manufacturing at Renault during 1960s and 1970s
• Bézier published numerous articles and books describing his ideas
• basic problem: provide intuitive & interactive means for design and
manipulation of “free–form” curves and surfaces by computer, in the
automotive, aerospace, and related industries
• identification of de Casteljau’s and Bézier’s ideas with Bernstein form
of polynomials came later, through work of Forrest, Riesenfeld, et al.
de Casteljau “Courbes et surfaces à pôles”
(Société Anonyme André Citroën, 1963)
pôles = “pilot points” (interpolation of polynomials with polar forms)
de Casteljau — barycentric coordinates
de Casteljau’s λ and µ = interval barycentric coordinates, with λ + µ = 1
example — for t ∈ [ 0, 1 ] take λ = 1 − t and µ = t, and expand (λ + µ)n
1 = [ (1 − t) + t ]n =
n X
n
k=0
k
(1 − t)n−k tk =
n
X
bnk(t)
k=0
⇒ Bernstein basis {bnk(t)} is non–negative and forms a partition of unity
de Casteljau also considers extension to barycentric coordinates and
multivariate polynomial bases on triangular and simplex domains
computer-aided design in the early 60s
. . . the designers were astonished and scandalized. Was it
some kind of joke? It was considered nonsense to represent a car
body mathematically. It was enough to please the eye, the word
accuracy had no meaning . . .
reaction at Citroën to de Casteljau’s ideas
Citroën’s first attempts at digital shape representation used a Burroughs
E101 computer featuring 128 program steps, a 220-word memory, and a
5 kW power consumption!
De Casteljau’s “insane” persistence led to an increased adoption of
computer-aided design methods in Citroën from 1963 onwards.
My stay at Citroën was not only an adventure for me,
but also an adventure for Citroën! . . . . . . . . . . . . . . . . . . . . . . . P. de Casteljau
correspondence with de Casteljau (1991)
Bézier’s “point-vector” form of a polynomial curve
specify degree-n curve by initial point p0 and n vectors a1, . . . , an
r(t) = p0 +
n
X
ak fkn(t) ,
fkn(t)
k=1
a2
a3
(−1)k k dk−1 (1 − t)n − 1
=
t
(k − 1)! dtk−1
t
1.0
0.8
f13(t)
r(t)
f23(t)
0.6
a1
f33(t)
0.4
0.2
p0
0.0
0.0
0.2
0.4
0.6
0.8
1.0
Left: Bézier point-vector specification of a cubic curve. Right: cubic
basis functions f13(t), f23(t), f33(t) associated with the vectors a1 a2, a3.
mischievous Bézier — f1n(t), . . . , fnn(t) = basis of Onésime Durand !
control-point form of a Bézier curve
Forrest (1972) : fin(t) =
n
X
k=i
bnk(t) ,
n
bnk(t) =
(1 − t)n−k tk
k
p2
p1
p3
p0
re-write as r(t) =
n
X
pk bnk(t) ,
pk = pk−1 + ak
k=0
manipulate cure shape by moving control points p0, . . . , pn
convex-hull, variation-diminishing, degree-elevation
properties of the Bézier form
r(t) =
n
X
k=0
pk bnk(t) ,
control points p0, . . . , pn
de Casteljau algorithm — evaluates & subdivides r(t)
initialize — set t = τ and p0k = pk for k = 0, . . . , n
for r = 1, . . . , n
for j = r, . . . , n
r−1
+
τ
p
}
{ prj = (1 − τ ) pr−1
j−1
j
generates a triangular array of points { prj }
p00
p01
p11
p02
p12
p22
·
·
·
·
pnn
p1n
·
p2n
·
·
p0n
·
·
pnn = evaluated point r(τ ) on curve
n
p00, p11, . . . , pn−1
n−1 , pn = control points for subsegment t ∈ [ 0, τ ] of r(t)
1
0
pnn, pn−1
n , . . . , pn , pn = control points for subsegment t ∈ [ τ, 1 ] of r(t)
p5
p0
p4
r(τ)
p1
p3
p2
interlude . . . “lost in translation”
warning sign on bathroom door in Beijing hotel
“English on vacation”
in a Bucharest hotel lobby —
The elevator is being fixed for the next day.
During that time we regret that you will be unbearable.
in a Paris hotel elevator —
Please leave your values at the front desk.
in a Zurich hotel —
Because of the impropriety of entertaining guests of the opposite sex
in your bedroom, it is suggested that the lobby be used for this purpose.
in an Acapulco restaurant —
The manager has personally passed all the water served here.
in Germany’s Schwarzwald —
It is strictly forbidden on our Black Forest camping site that people of
different sex — for instance, men and women — live together in one tent
unless they are married with each other for that purpose.
in an Athens hotel —
Guests are expected to complain at the office between 9 and 11 am daily.
instructions for AC in Japanese hotel —
If you want just condition of warm in your room, please control yourself.
in a Yugoslav hotel —
The flattening of underwear with pleasure is the job of the chambermaid.
in a Japanese hotel —
You are invited to take advantage of the chambermaid.
on the menu of a Swiss restaurant —
Our wines leave you nothing to hope for.
in a Bangkok dry cleaners —
Drop your trousers here for best results.
Japanese rental car instructions —
When passenger of foot heave in sight, tootle the horn.
Trumpet him melodiously at first, but if he still obstacles
your passage, then tootle him with vigor.
Bernstein basis functions
1.0
0.8
0.6
bkn(t)
0.4
0.2
0.0
0.0
0.2
0.4
0.6
0.8
1.0
t
n
bnk(t) =
(1 − t)n−k tk
k
roots of multiplicity k and n − k at t = 0 and t = 1
properties of the Bernstein basis
n
n
bk (t) =
(1 − t)n−k tk , k = 0, . . . , n
k
◦ partition of unity :
n
X
bnk(t) ≡ 1
k=0
◦ non-negativity : bnk(t) ≥ 0 for t ∈ [ 0, 1 ]
◦ symmetry : bnk(t) = bnn−k (1 − t)
n
n
◦ recursion : bn+1
(t)
=
t
b
(t)
+
(1
−
t)
b
k−1
k (t)
k
◦ unimodality : bnk(t) has maximum at t = k/n
properties of Bernstein form, p(t) =
n
X
ck bnk(t)
k=0
◦ end-point values : p(0) = c0 and p(1) = cn
◦ lower & upper bounds : min ck ≤ p(t) ≤ max ck
k
k
◦ variation diminishing : # roots = signvar(c0, . . . , cn) − 2m
R
0
◦ derivatives & integrals : coefficients of p (t) & p(t) dt =
differences & partial sums of c0, . . . , cn
◦ recursive algorithms for subdivision, degree elevation,
arithmetic operations, composition, resultants, etc.
◦ root isolation (subdivision & variation-diminishing property)
the plague of numerical instability
. . . or, the temptation to “kick the computer ”
Do you ever want to kick the computer? Does it iterate endlessly on your
newest algorithm that should have converged in three iterations? And
does it finally come to a crashing halt with the insulting message that you
divided by zero? These minor trauma are, in fact, the ways the computer
manages to kick you and, unfortunately, you almost always deserve it!
For it is a sad fact that most of us can more readily compute than think . . .
numerical stability of polynomials
p(t) has coefficients c0, . . . , cn in basis Φ = {φ0(t), . . . , φn(t)}
p(t) =
n
X
ck φk (t)
k=0
how sensitive is a value or root of p(t) to perturbations of
maximum relative magnitude in the coefficients c0, . . . , cn ?
condition number for value of p(t) :
|δp(t)| ≤ CΦ(p(t)) ,
CΦ(p(t)) =
n
X
|ck φk (t)|
k=0
condition number for root τ of p(t) :
n
|δτ | ≤ CΦ(τ ) ,
1 X
CΦ(τ ) = 0
|ck φk (t)|
|p (τ )|
k=0
condition numbers for power and Bernstein forms
p(t) =
n
X
ak tk =
k=0
cj =
j
X
j
k
n
k=0 k
n
X
ck bnk(t)
k=0
tk =
ak ,
n
X
j
k n
n bj (t)
k
j=k
Theorem. CB (p(t)) ≤ CP (p(t)) for any polynomial p(t) and all t ∈ [ 0, 1 ].
Proof (triangle inequality).
CB (p(t)) =
n
X
|cj bnj(t)| =
j=0
≤
n
X
k=0
j=0
|ak |
n
X
j=k
j
X
n X
j
k n
n bj (t)
k
k=0
=
j
k
n
k
n
X
k=0
ak bnj(t)
|ak tk | = CP (p(t)) .
Wilkinson’s “perfidious” polynomial
problem: compute the roots of the degree 20 polynomial
p(t) = (t − 1)(t − 2) · · · (t − 20) =
20
X
ak tk
k=0
using (software) floating-point arithmetic
J. H. Wilkinson (1959), The evaluation of the zeros of ill-conditioned
polynomials, Parts I & II, Numerische Mathematik 1, 150-166 & 167-180.
“The cosy relationship that mathematicians enjoyed with polynomials
suffered a severe setback in the early fifties when electronic computers
came into general use. Speaking for myself, I regard it as the most
traumatic experience in my career as a numerical analyst.”
J. H. Wilkinson, The Perfidious Polynomial,
in Studies in Numerical Analysis (1984)
root condition numbers for Wilkinson polynomial
root
power basis
Bernstein basis
0.05
2.10 × 101
3.41 × 100
0.10
4.39 × 103
1.45 × 102
0.15
3.03 × 105
2.34 × 103
0.20
1.03 × 107
2.03 × 104
0.25
2.06 × 108
1.11 × 105
0.30
2.68 × 109
4.15 × 105
0.35
2.41 × 1010
1.12 × 106
0.40
1.57 × 1011
2.22 × 106
0.45
7.57 × 1011
3.32 × 106
0.50
2.78 × 1012
3.80 × 106
0.55
7.82 × 1012
3.32 × 106
0.60
1.71 × 1013
2.22 × 106
0.65
2.89 × 1013
1.12 × 106
0.70
3.78 × 1013
4.15 × 105
0.75
3.78 × 1013
1.11 × 105
0.80
2.83 × 1013
2.03 × 104
0.85
1.54 × 1013
2.34 × 103
0.90
5.74 × 1012
1.45 × 102
0.95
1.31 × 1012
3.41 × 100
1.00
1.38 × 1011
0.00 × 100
perturbed roots of Wilkinson polynomial — = 5 × 10−10
root
power basis
Bernstein basis
0.05
0.05000000
0.0500000000
0.10
0.10000000
0.1000000000
0.15
0.15000000
0.1500000000
0.20
0.20000000
0.2000000000
0.25
0.25000000
0.2500000000
0.30
0.30000035
0.3000000000
0.35
0.34998486
0.3500000000
0.40
0.40036338
0.4000000000
0.45
0.44586251
0.4500000000
0.50
0.50476331±
0.5000000000
0.55
0.03217504 i
0.5499999997
0.60
0.58968169±
0.6000000010
0.65
0.08261649 i
0.6499999972
0.70
0.69961791±
0.7000000053
0.75
0.12594150 i
0.7499999930
0.80
0.83653687±
0.8000000063
0.85
0.14063124 i
0.8499999962
0.90
0.97512197±
0.9000000013
0.95
0.09701652 i
0.9499999998
1.00
1.04234541
1.0000000000
evaluating Wilkinson’s polynomial @ t = 0.525
a0
a1 t
a2 t2
a3 t3
a4 t4
a5 t5
a6 t6
a7 t7
a8 t8
a9 t9
a10 t10
a11 t11
a12 t12
a13 t13
a14 t14
a15 t15
a16 t16
a17 t17
a18 t18
a19 t19
a20 t20
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+0.000000023201961595
−0.000000876483482227
+0.000014513630989446
−0.000142094724489860
+0.000931740809130569
−0.004381740078100366
+0.015421137443693244
−0.041778345191908158
+0.088811127150105239
−0.150051459849195639
+0.203117060946715796
−0.221153902712311843
+0.193706822311568532
−0.135971108107894016
+0.075852737479877575
−0.033154980855819210
+0.011101552789116296
−0.002747271750190952
+0.000473141245866219
−0.000050607637503518
+0.000002530381875176
p(t) =
0.000000000000003899
perturbation regions for p(t) = (t − 16 ) · · · (t − 1)
ε = 0.00002
0.0
0.2
0.4
0.6
ε = 0.002
0.8
1.0 0.0
perturbed Bernstein form
0.2
0.4
0.6
0.8
perturbed power form
1.0
optimal stability of Bernstein basis
Ψ = {ψ0(t), . . . , ψn(t)} and Φ = {φ0(t), . . . , φn(t)} non–negative on [ a, b ]
Theorem.
If
ψj (t) =
n
X
Mjk φk (t) with Mjk ≥ 0 ,
k=0
then the condition numbers for the value of any degree n polynomial p(t)
at any point t ∈ [ a, b ] in the bases Φ and Ψ satisfy
CΦ(p(t)) ≤ CΨ(p(t)) .
We say that the Φ basis is systematically more stable than the Ψ basis.
Example: Φ = {bn0 (t), . . . , bnn(t)} and Ψ = {1, t, . . . , tn} — in fact, the
Bernstein basis is optimally stable (it is impossible to construct a basis
on [ 0, 1 ] that is systematically more stable).
optimal stability (sketch)
Pn = set of all non–negative bases for degree-n polynomials on [ a, b ].
For Φ, Ψ ∈ Pn we write Φ ≺ Ψ if Ψ = M Φ for a non–negative matrix M.
The relation ≺ is a partial ordering of the set of non-negative bases Pn.
Theorem. Φ ≺ Ψ ⇐⇒ CΦ(p(t)) ≤ CΨ(p(t)) for all p(t) ∈ Pn and t ∈ [ a, b ].
Definition. Φ is a minimal basis in Pn if no Ψ exists, such that Ψ ≺ Φ.
A minimal basis in Pn is optimally stable — it is impossible to construct a
non–negative basis on [ a, b ] that is systematically more stable.
Theorem. The Bernstein basis is minimal in Pn, and is optimally stable.
It is the only minimal basis whose basis functions have no roots in (a, b).
condition numbers can be “very large” !
least-squares polynomial approximation
Z
minimize
1
[ f (t) − pn(t) ]2 dt ,
pn(t) =
0
n
X
ak φk (t)
k=0
Z
orthogonal basis
(
1
φj (t) φk (t) dt =
0
=⇒
1
ak =
βk
Z
βk
0
j=k
j 6= k
1
f (t) φk (t) dt
0
permanence of coefficients: a0, . . . , an unchanged when n → n + 1
orthogonality impossible for non–negative bases,
but Bernstein basis is intimately related to Legendre basis
Legendre and Bernstein bases on t ∈ [ 0, 1 ]
recurrence relation L0(t) = 1, L1(t) = 2t − 1
(k + 1)Lk+1(t) = (2k + 1)(2t − 1) Lk (t) − k Lk−1(t)
(−1)k dk
k
[
(1
−
t)t
]
Rodrigues’ formula Lk (t) =
k! dtk
k
X
k k
Bernstein form Lk (t) =
(−1)k+i
bi (t)
i
i=0
1
−1
−2
1
−1
−1
−6
1
−1
7
−21
35
1
−5
10
−20
15
1
−4
6
−10
5
1
−3
3
−4
1
1
−6
15
−35
1
21
Pascal’s triangle with alternating signs !!
1
−7
1
Bernstein form of the Legendre polynomials
L0(t) = 1 b00(t) ,
L1(t) = − 1 b10(t) + 1 b11(t) ,
L2(t) = 1 b20(t) − 2 b21(t) + 1 b22(t) ,
L3(t) = − 1 b30(t) + 3 b31(t) − 3 b32(t) + 1 b33(t) ,
L4(t) = 1 b40(t) − 4 b41(t) + 6 b42(t) − 4 b43(t) + 1 b44(t) ,
L5(t) = − 1 b50(t) + 5 b51(t) − 10 b52(t) + 10 b53(t) − 5 b54(t) + 1 b55(t) ,
Bernstein form of Legendre polynomial derivatives — e.g., L4(t)
L4(t) = 1 b40(t) − 4 b41(t) + 6 b42(t) − 4 b43(t) + 1 b44(t) ,
1 0
2 L4 (t)
1 00
3 L4 (t)
1 000
3 L4 (t)
1 0000
5 L4 (t)
= 5 b30(t) − 10 b31(t) + 10 b32(t) − 5 b33(t) ,
= 15 b20(t) − 20 b21(t) + 15 b22(t) ,
= 35 b10(t) − 35 b11(t) ,
= 70 b00(t) ,
Legendre–Bernstein basis transformations
n
X
p(t) =
ak Lk (t) =
k=0
cj =
n
X
Mjk
−1
Mjk
ck bnk(t)
k=0
Mjk ak ,
aj =
k=0
1
=
n
k
n
X
n
X
−1
Mjk
ck
k=0
min(j,k)
X
k
n−k
k+i j
(−1)
i
i
j−i
i=max(0,j+k−n)
j
j
X
j
2j + 1 n
i
i
=
(−1)j+i n
+
j
n + j + 1 k i=0
k+i
condition number Cp(M) = kMkpkM−1kp ,
C1(M) = 2n > C∞(M)
condition numbers for basis transformations
matrix condition number
1024
10
20
10
16
Bernstein – Legendre
Bernstein – power
Bernstein – Hermite
Hermite – power
1012
108
104
100
0
5
10
15
20
polynomial degree
25
30
extension to rational forms
n
X
rational Bézier curve
r(t) =
wk pk bnk(t)
k=0
n
X
wk bnk(t)
k=0
defined by control points p0, . . . , pn and scalar weights w0, . . . , wn
set of rational curves is closed under projective transformations
conic segments as rational quadratic Bézier curves (w0 = w2 = 1)
w1 < 1 (ellipse)
w1 = 1 (parabola)
w1 > 1 (hyperbola)
bivariate & multivariate generalizations
––+
p3
+–+
T1
T2
–++
p3
+++
T3
p2
p1
p2
–+–
++–
+––
p1
barycentric coordinates:
n
1 = (u + v + w)
(area(T1), area(T2), area(T3))
(u, v, w) =
area(T )
X
=
bnijk (u, v, w) ,
i+j+k=n
triangular surface patch:
bnijk (u, v, w)
r(u, v, w) =
X
n! i j k
=
uv w
i!j!k!
pijk bnijk (u, v, w)
i+j+k=n
bivariate de Casteljau algorithm
generates tetrahedral array — evaluates and subdivides r(u, v, w)
r=3
000
001
r=2
010
100
002
011
101
r=1
020
110
200
003
012
102
r=0
021
111
201
210
300
030
120
generalization to B-spline basis
continuous domain [ 0, 1 ] → partitioned domain [ t0, t1, . . . , tN +n+1 ]
B03(t)
3
1
B (t)
t0=t1=t2=t3
B23(t)
t4
B33(t)
t5
3
N–2
B
3
N–1
(t) B
tN
(t)
BN3 (t)
tN+1=tN+2=tN+3=tN+4
retain partition-of-unity, non-negativity, recursion properties
+ compact support & control over continuity (multiple knots)
local shape modification
C 2 embedded linear segment
scientific computing applications
◦ real solutions of systems of algebraic equations; identifying extrema
or bounds on constrained or unconstrained polynomial functions in one
or several variables (optimization) using Bernstein basis properties
◦ robust stability of dynamic systems with uncertain physical parameters
(Kharitonov generalization of Routh-Hurwitz criterion)
◦ definition of barycentric coordinates and “partition-of-unity” polynomial
basis functions over general polygon or polytope domains for use in the
finite-element and meshless analysis methods
◦ modelling of inter-molecular potential energy surfaces; design of
filters for signal processing applications; inputs to neurofuzzy networks
modelling non-linear dynamical systems; reconstruction of 3D models
and calibration of optical range sensors
closure
◦ 100 years have elapsed since introduction of Bernstein basis
◦ Bernstein form was limited to theory, rather than practice,∗
of polynomial approximation for ∼ 50 years after its introduction
◦ applications in design, rather than approximation, pioneered
∼ 50 years ago by de Casteljau and Bézier
◦ now universally adopted as a fundamental representation for
computer-aided geometric design applications
◦ “optimally stable” basis for polynomials defined over finite domains
◦ Bernstein basis intimately related to Legendre orthogonal basis
◦ increasing adoption in diverse scientific computing applications
“In theory, there is no difference between theory and practice. In practice, there is.” . . . Yogi Berra
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement