Bernstein linear programming hierarchy for polynomial minimization Created 2026-10-05 Updated 2026-10-06
For of degree and , compute its degree- Bernstein basis coefficients and solve subject to , . This is a linear program with inequalities. The coefficients form a convex-combination enclosure of the polynomial values, so . Degree elevation of Bernstein coefficients makes the bounds monotone. For every , the polynomial is strictly positive, so positive Bernstein coefficients for a strictly positive polynomial gives an eventual feasible bound . Hence converges to the true minimum. Earlier indices can use a one-inequality program at any common coefficient-based lower bound, preserving the stated constraint count for every positive index.
Bernstein polynomial Created 2026-09-24 Updated 2026-10-14
For a function and an integer , its Bernstein polynomial is
The Bernstein basis supplies nonnegative weights whose sum is one. Equivalently, the weights are the probabilities of a binomial distribution, and the result is an expected value. At a given , this averages the sampled values with weights concentrated near .[ref]
The endpoints are exact: and . Interior sampled points need not be interpolated. For example, binomial distribution moments give and . Thus every affine function is reproduced exactly, whereas is generally changed. Bernstein polynomial degree preservation is a statement about degree of a polynomial, not equality of the entire polynomial.
For a continuous , the uniform continuity of and the variance explain uniform convergence. Split the expected value of the error into , where uniform continuity makes the change small, and its complement, whose probability is at most by Chebyshev's inequality. The bounded function bounds the remaining error. This proves convergence without assuming differentiability.
For , the tensor-product Bernstein polynomial is the expected value of for independent random variables . The same uniform continuity and coordinatewise variance estimates give uniform convergence for each fixed finite .
Bézier curve 2026-10-14
A Bézier curve is a parametric curve specified by control points in a Euclidean space and the Bernstein basis:
Here is a binomial coefficient. Each coordinate is a polynomial of polynomial degree at most ; special choices of control points can lower the polynomial degree. The ordered control points form the control polygon. A cubic Bézier curve uses four control points and has the explicit form
The curve passes through and ; the interior control points steer its shape and need not lie on it.[ref]
For a worked example, choose
Substituting these control points gives
Here , so neither interior control point, both at height , lies on the curve. De Casteljau's algorithm computes the same point using only successive linear interpolations.
The endpoint tangent vectors follow from the Bézier derivative control polygon:
Thus the curve leaves toward and arrives at from . These nonzero derivatives determine the endpoint tangent lines; if an endpoint derivative vanishes, that formula alone does not determine its tangent direction. Endpoint handles are useful when arranging a parametric first-derivative join of Bézier curves.
The parameter is usually not arc length. For this example,
Equal steps in therefore do not generally travel equal distances. Distance along the curve is instead the arc length, given by the integral ; its derivative is the norm of the tangent vector and measures the rate of travel.
Two geometric facts make Bézier curves especially convenient for design. First, the Bernstein basis weights are nonnegative and form a partition of unity, since the binomial theorem gives . Hence is a convex combination of the control points and lies in their convex hull.[ref] The convex hull is the smallest convex set containing the control points, not their axis-aligned bounding box. Here it is a trapezoid, strictly smaller than : the box corner is outside the convex hull. The curve need not fill or touch every edge of either enclosure. The convex hull guarantee concerns ; outside that interval weights can be negative.
Second, applying an affine map to every control point gives exactly the same result as applying it to the entire curve. For ,
This is affine equivariance of a geometric basis: a translation, rotation or shear mapping can be performed on a handful of control points. For example, transforms the four control points to and transforms the midpoint to , also obtained from the same weights .
These editable handles explain the usefulness of Bézier curves in computer aided geometric design, vector graphics paths and outline fonts: a small collection of points controls an entire smooth stroke, and resizing the design preserves its mathematical shape. Cambridge's computer-graphics notes describe their use in graphic design, typography and PostScript outlines. The industrial context includes Pierre Bézier's work at Renault and Paul de Casteljau's work at Citroën.[ref]
// Target: analysis.bigb
For a degree- Bézier curve, the th derivative has degree at most and control points . The first derivative follows by differentiating the Bernstein basis and shifting one summation index; iteration proves the general formula. A parameter interval of length multiplies these derivative controls by .
Control point Created 2026-10-14 Updated 2026-10-14
A control point is an editable geometric handle used to specify a curve or surface through a basis or refinement rule. The handle is part of the representation; it need not be a point on the resulting curve. In a Bézier curve, the control points are the geometric coefficients of the Bernstein basis. Joining them in order gives a control polygon, which makes the handles easy to manipulate without drawing the curve as a chain of line segments.[ref]
For example, use the cubic Bézier curve with control points
Its Bernstein basis representation gives
The greatest height is , so neither interior control point, both at height , lies on this curve. The endpoint control points do lie on it: and . This separates interpolation, which requires passage through prescribed data, from an approximating representation, which uses handles to shape a curve without requiring passage through every handle. If measured points must be interpolated, choose control points to satisfy those constraints; simply using the measured points as the handles of a Bézier curve does not enforce interpolation.
Figure 1.
Original cubic and the curve after moving only the interior control point P1 upward by one unit, with fixed endpoints and a smaller displacement at the same parameter
. Details.
Now move only by the vector , giving . With the Bernstein basis and parameter unchanged, the new curve is
At this gives , a displacement despite moving the handle by a full unit. Both endpoints stay fixed because the coefficient vanishes there. Thus dragging a control point shapes a whole range of the curve; it does not generally drag an arbitrary selected point on the curve by the same vector. The control-point influence on a curve tells us exactly how much each parameter value moves.
For a parametric curve represented by fixed scalar functions and control points in Euclidean space, write
The influence function of this handle is : the resulting displacement vector is , and its norm is . These are exact finite changes, not only a first-order estimate. Where is negative the displacement points opposite to . Where , the curve is unchanged at that parameter.
Figure 1.
The influence coefficient 3t(1-t)^2 equals the vertical displacement for a unit upward move of P1, reaches 4/9 at t=1/3, and vanishes at both endpoints
. Details.
For the cubic Bézier curve above, the Bernstein basis influence function is . Its derivative is
It increases up to and decreases thereafter on . Consequently the largest displacement at corresponding parameters is
For it is . This is a comparison at the same parameter. A geometric closest-distance comparison, as in a closest-point search on a subdivision curve, instead minimizes over another parameter:
The closest parameter can differ from , so is not automatically a maximum closest-distance separation of the two curves. Neither parameter is assumed to be arc length.
The support of a function is the closure of the parameter values where . It bounds where a nonzero handle move can act, but may include boundary points where the actual displacement is zero. Here the support of a function is all of relative to the parameter domain, while the endpoints are unaffected. In contrast, a B-spline of order has support within in its spline knot sequence, so its handle affects only that parameter range; the support and Gram bandwidth of B-splines describes the same locality in another application. Changing the spline knots or the basis along with the handle requires a different comparison.
When the basis functions form a partition of unity, , each evaluation is an affine combination of the control points. Applying an affine map to all handles gives
This is affine equivariance of a geometric basis, also called affine covariance: affine maps preserve affine combinations. In particular, translating every handle by translates the whole curve by , whereas moving just one handle produces . The Bernstein basis has this partition of unity property.[ref] Nonnegative weights further make evaluations convex combinations, giving the convex hull bound illustrated by the control polygon; nonnegativity is not needed for affine covariance.
For a proof outline of the influence formula, subtract the two basis representations: every unchanged coefficient cancels, leaving . The same subtraction with several moved handles gives . No claim about interpolation, closest-point search on a subdivision curve or endpoint motion follows until the actual basis values are examined.
For the unit-spaced cubic cardinal B-spline on , the four scalar cubic Bernstein basis coefficient rows are , , and . Each row applies on its interval with local parameter in . They result from the compactly supported truncated-cube combination . Each graph piece is a cubic Bézier curve with abscissa controls .
De Casteljau's algorithm 2026-10-14
De Casteljau's algorithm evaluates a Bézier curve by repeated linear interpolation between neighboring control points. Fix , start with , and compute
Each new row has one fewer point. The final point is . Use the same at every stage: it describes the fraction of each line segment traversed from its first endpoint toward its second. A cubic Bézier curve needs three levels containing , , and linear interpolations, respectively.[ref]
For the Bézier curve with control points , , , , evaluation at takes the midpoint of every neighboring pair. The first level gives
The second level gives
and the third level gives
The intermediate control polygons shrink toward the evaluated point. Each step is a convex combination, giving a geometric explanation of the convex hull property; every step also commutes with an affine map.
Figure 1.
Cubic Bézier curve, its convex hull and bounding box, and the three levels of De Casteljau's algorithm at t = 1/2
. Details.
The same construction splits the Bézier curve exactly, with no approximation. The outer edges of the triangular array give the new control points: for a cubic, specify the left piece and specify the right piece.[ref] At these two lists are
Write and for the Bézier curves defined by these lists, each with its own parameter . Then
Their images reproduce the original curve, while their derivatives account for the shorter parameter intervals. At the join,
The chain rule gives ; in the original parameter, both pieces have derivative . This is the interval scaling in the parametric first-derivative join of Bézier curves.
Figure 2.
Exact midpoint subdivision with two smaller control polygons, endpoint tangent directions, and equally spaced parameter samples
. Details.
Repeated midpoint splitting is useful for drawing vector graphics paths: each piece has a smaller control polygon and its own convex hull enclosure. A renderer can refine pieces until they are sufficiently close to line segments at the chosen display scale. Evaluating and splitting it are thus two results of the same short algorithm.
For a proof outline, expanding the recursion gives
Pascal's identity proves this by induction; at , it is precisely the Bernstein basis formula for the Bézier curve. The geometric construction remains useful even when expanding the polynomial by hand would be cumbersome.
// Target: analysis.bigb
Write in the Bernstein basis. Representing the same polynomial at degrees and gives the displayed convex combinations for internal indices; the endpoint coefficients are copied. Therefore the minimum coefficient cannot decrease under degree elevation. In the unnormalized basis , the elevated coefficients are with the corresponding endpoint convention, so nonnegativity certificates are preserved.
Write the spline interpolation operator as , where samples at the interpolation sites and synthesizes the normalized B-spline expansion. Sampling has operator norm at most one, and nonnegative B-splines with sum at most one give . Hence
Here the matrix norm is the maximum absolute row sum. Existence of the inverse matrix requires the usual ordered distinct interpolation sites and the Schoenberg–Whitney theorem support conditions, with endpoint values interpreted by their one-sided limits. If the displayed diagonal condition is read without the implicit ordering and distinctness, it is insufficient: all three sites equal to in the quadratic example give positive diagonal entries but three identical rows. The estimate applies whenever the interpolating linear map in the question is defined uniquely.
For the quadratic Bernstein basis, , and . Sampling and inverting give
The three cardinal Lagrange interpolation polynomials are
The Lebesgue constant of interpolation gives the exact operator norm: the upper bound follows from . To attain it at a maximizing point, prescribe at the three sites the signs of the corresponding cardinal polynomials and extend those values by a continuous piecewise linear function of norm one.
On , the first two cardinal polynomials are nonnegative and the last is nonpositive. Since their sum is one, their absolute sum is . Its maximum is at . Reflection gives the same maximum at on the other half. In particular the data produce , attaining . Thus
The coefficient estimate loses cancellation among the B-splines, which explains why it is not sharp for the resulting function norm.
The degree- Bernstein basis is
For , every basis function is nonnegative, and the binomial theorem gives
Therefore is a convex combination of its control points. By the definition of their convex hull,
This includes the endpoints because and . It depends on the specified parameter interval: outside it the weights need not be nonnegative.
For , differentiating the basis and using the elementary binomial identities gives
where out-of-range basis indices are zero. Thus
Hence the Bézier derivative control polygon has points , and
In particular the endpoint tangent vectors are and . For the curve is constant and its derivative is zero.
Scale the equal intervals to unit length. A nonzero compactly supported cubic B-spline with maximum continuity is , so its fourth derivative is a sum of impulses at the knots. Equivalently it is a combination of truncated cubes,
To vanish to the right of its support, the polynomial tail must be identically zero. Expanding that tail requires for . Four or fewer distinct knots give a full-rank Vandermonde matrix and only the zero solution. Hence a nonzero function requires at least five knots, or four intervals. At knots , the one-dimensional nullspace has coefficients proportional to . The unscaled combination integrates to six on , so unit-integral cardinal normalization gives:
This is the Cardinal cubic B-spline, nonnegative with support . To obtain its cubic B-spline Bézier extraction, use local parameter on interval . The four power-form numerators, with a common divisor six, are
For , the cubic Bernstein basis coefficients are , , , . Applying this conversion gives
Each scalar row describes a cubic Bézier curve graph piece with abscissa controls . The truncated-cube construction proves value, first- and second-derivative agreement at all joins, including the zero exterior. Minimum support and maximum continuity determine the basis up to a scalar; the displayed normalization fixes that remaining freedom.
The degree- Bernstein basis on is
The associated Bézier curve is . The basis is nonnegative and has partition of unity, since . Thus the curve is a convex combination of its control points, giving the convex hull enclosure useful for geometric bounds. The same identity makes the construction invariant under application of affine functions.
It interpolates its endpoint controls, , , and its endpoint tangent vectors are and . These follow from
The control polygon therefore gives direct geometric editing and tangent control. Repeated interpolation by the De Casteljau algorithm evaluates and subdivides the curve without converting to a monomial representation. Together, positive geometric weights, simple endpoint behavior and stable subdivision make this basis useful in computer aided geometric design.
Write the Bernstein polynomial in its partition-normalized Bernstein basis:
For , every weight is nonnegative, and the binomial theorem gives their sum as . Consequently
Taking the supremum norm proves . The construction yields degree at most , possibly lower for special functions.
Write for the Bernstein basis, and set when is outside its index range. Differentiating and using and gives
Hence, after shifting the first sum by one index,
Thus the derivative is a degree-at-most- Bézier curve whose control points are . They are vectors rather than necessarily positions on the original Bézier curve. This is the Bézier derivative control polygon.
A cubic polynomial on either half is determined by its endpoint positions and endpoint derivatives. Use normalized parameters on the first half and on the second, so that derivatives with respect to are half the derivatives with respect to . Evaluation of the Bernstein basis at the split gives
If the left control points are , endpoint positions give . The cubic endpoint-derivative formulas give and . On the right, , and . Substitution yields
These are exact restricted Bézier curves, since they match all four endpoint Hermite data of the respective cubics.
The construction is also the midpoint case of De Casteljau's algorithm. Form for , then , , and . The two polygons are and . Their common tangent edges satisfy , as required for equal half-intervals. Thus the triangular midpoint construction simultaneously evaluates the split point and supplies the two exact representations.
Figure 1.
Midpoint construction and the two exact cubic Bézier subcurves
. Details.
Use the order of the three Bernstein basis functions given in this part. Endpoint evaluation gives
so both endpoint coefficients have absolute value at most one. At the midpoint,
The triangle inequality therefore gives the quadratic Bernstein coefficient bound
All three bounds are sharp. Indeed has uniform norm one and coefficient vector in this basis. The reversed ordering of endpoint Bernstein functions does not affect these symmetric endpoint bounds.
Orient the plane relative to the eye. For its affine function , assume and put . The desired closed half-space is . If the eye is on the plane, the notion of its side is undefined and a side convention must be supplied.
Apply recursive half-space clipping of a subdivision curve to each initial curve piece. Obtain a certified bounding volume , and calculate , . For a control-point convex hull, these extrema occur at its vertices, so this test is inexpensive. If , discard the piece. If , retain the whole piece and draw its chord only when its certified flatness is within the screen-space tolerance; otherwise subdivide and draw the children in parameter order. If , subdivide and repeat the classification.
At a sufficiently flat and sufficiently short terminal piece, clip the approximating chord from to against . If both endpoints are nonnegative retain the chord; if both are negative discard the chord; for opposite signs split it at
Retain the portion with nonnegative . Handle an endpoint exactly on the plane without dividing by zero, and retain a coplanar chord under the closed-half-space convention. The recursion yields an ordered polyline rather than connecting endpoints of disconnected retained pieces.
Crucially, do not reject an unresolved whole curve merely because its endpoints have negative signs: it can cross the plane twice and have a visible interior excursion. The preceding terminal chord rule is a rendering approximation at an explicitly chosen spatial tolerance. A flatness bound and a diameter bound make any missed leaf-sized excursion spatially small; they do not prove exact crossing topology, especially for a near-tangent contact or an unfavorable projection. Use the actual viewing projection to enforce a screen-space tolerance, with special handling near a perspective singularity.
If exact clipping intervals are required for a spline representation, isolate all roots of , split at them and classify each intervening interval. Bernstein basis coefficient bounds, derivative bounds and recursive subdivision can isolate roots on polynomial spans, including even-multiplicity tangencies. Treat identically coplanar spans separately. For a general subdivision curve, keep unresolved straddling pieces flagged or refine to the chosen tolerance instead of claiming that a finite endpoint-sign test is exact. Certified half-space rejection combined with adaptive subdivision is the recursive drawing algorithm; exact boundary topology needs additional root isolation.
Choose the knot origin so the span most influenced by is , and use its local parameter . The three active uniform quadratic B-spline basis functions give
The central coefficient reaches its maximum at , so this is indeed the span centered on the strongest influence of . Express it in the quadratic Bernstein basis:
Matching constant, linear and quadratic coefficients gives the quadratic Bézier curve controls
For example, and , checking the endpoint derivatives and the joins of neighboring spans.
Use degree elevation of Bernstein coefficients. If are degree- Bézier curve controls, the identical curve has degree- controls
This follows by multiplying each degree- Bernstein basis polynomial by and collecting the degree- terms, so the operation changes the representation, not the curve.
For the quadratic controls in part (a), the cubic controls are
Raise these cubic Bézier curve controls once more. Then
Thus the requested quartic Bézier curve controls, expressed in the original polygon, are
Each expression is an affine combination whose coefficients sum to one. Endpoint positions and derivatives are preserved at each degree-raising step, as is every point of the span.