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

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

Download PDF

advertisement