How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
Spline evaluation and interpolation algorithms
1 · Prerequisites
- Algebraic Closure, Embeddings, and Separability
- Algebraic Extensions, Extension Degree, and Finite Fields
- Binary Operations, Monoids, Groups and Subgroups
- Composition Series, the Jordan–Hölder Theorem and Solvable Groups
- Congruences, the Integers Modulo n and the Chinese Remainder Theorem
- Construction of the Natural Numbers
- Construction of the Real Numbers via Cauchy Sequences
- Construction of the Real Numbers via Dedekind Cuts
- Continuity, IVT, EVT, and Uniform Continuity
- Cosets, Index and Lagrange's Theorem
- Countability and Uncountability
- Cyclic Groups and Direct Products
- Darboux, L'Hôpital, and Taylor's Theorem
- Determinants of Matrices over a Commutative Ring
- Diagonalisation and the Minimal Polynomial
- Direct Matrix Factorisations: LU, Cholesky and QR
- Divisibility, Euclidean Domains, Principal Ideal Domains and Unique Factorisation
- Divisibility, Greatest Common Divisors and Bézout's Identity
- Dual Spaces, Bilinear and Quadratic Forms, and Sylvester's Law of Inertia
- Eigenvalues, Eigenvectors and the Characteristic Polynomial
- Finite Counting, Factorials and Binomial Coefficients
- Finite-precision direct factorizations and least squares
- Foundations of the Real Numbers for Analysis
- Group Actions, Orbits, Stabilisers and Cayley's Theorem
- Group Homomorphisms and the Isomorphism Theorems
- Hilbert Space Geometry and Riesz Representation
- Ideals, Quotient Rings and the Isomorphism Theorems for Rings
- Inner Product Spaces, Gram-Schmidt, Projections and Adjoints
- Limits of Real Functions
- Linear Independence, Bases and Dimension
- Linear Transformations, Rank-Nullity and Quotient Spaces
- Matrices, the Matrix of a Linear Map, and Change of Basis
- Matrix Norms, Condition Numbers and Numerical Stability
- Metric Spaces
- Monotone Sequences, Bolzano-Weierstrass, and Cauchy Completeness
- Normal Subgroups and Quotient Groups
- Order, Zorn's Lemma, and the Axiom of Choice
- Polynomial Rings, the Division Algorithm and Roots
- Primes, Euclid's Lemma and the Fundamental Theorem of Arithmetic
- Relations, Functions, and Quotients
- Rings, Subrings, Integral Domains and Fields
- Rⁿ as a Normed Space; Vector-Valued Functions
- Roots, Rational Powers, and Classical Inequalities
- Sequences and Limits
- Series: Convergence and the Nonnegative Tests
- Simple Field Extensions and the Construction of the Complex Numbers
- Splines and Series Methods
- Splitting Fields
- Suprema and Infima
- Sylow's Theorems, p-Groups and Nilpotent Groups
- Symmetric Groups, Cycle Decomposition and the Sign Homomorphism
- The Derivative and the Mean Value Theorems
- The Determinant of a Linear Operator, Cofactors and Cramer's Rule
- The Fundamental Theorem of Algebra
- The Fundamental Theorem of Finite Abelian Groups
- The Galois Correspondence
- The Spectral Theorem, Positive Operators and Singular Value Decomposition
- The ZFC Axioms and the Basic Set Constructions
- Topology of ℝ
- Triangularisation, Generalised Eigenspaces and Jordan Canonical Form
- Vector Spaces, Linear Subspaces, Span and Direct Sums
2 · Summary
This page evaluates a B-spline curve from its local coefficient list, proves the exact de Boor recurrence, its arithmetic count, and a range-qualified forward-error bound. It also gives a single new-knot insertion, proves the associated basis refinement identity and establishes curve preservation. Natural cubic interpolation reuses the published tridiagonal system and exact solution. A local sparse rounded Cholesky and substitution specialization computes an actual rounded residual certificate, includes the matrix and right-hand-side assembly discrepancies, and transfers them to a conditional forward bound for the associated piecewise cubic reconstruction. That reconstruction need not be at interior knots, and floating-point error from evaluating its pieces is separate. The clamped variant prescribes endpoint slopes and has a proved maximum-norm error bound for exact boundary derivatives on arbitrary partitions.
3 · Logical flowchart
4 · Definitions, theorems and proofs
de Boor coefficient evaluation on a specified knot span
Definition
Use zero-based indices for this procedure: write the clamped knot vector from B-spline spaces and knot conventions as , where , with , and write the real degree- coefficients as . The input includes , a nonempty span index with and , a real query, and the active coefficients . The query is either or, for the left limit at the right endpoint , with the last nonempty span supplied. At an interior knot, the half-open convention selects the span on its right. In exact mode the knots, query, and coefficients are real numbers. In floating-point mode the knots, query, and active coefficients are finite stored real numbers in the selected format; conversion into that format is outside this procedure.
The arithmetic mode is either exact real arithmetic or the operationwise
floating-point model of
Operationwise real and complex floating point arithmetic with rounded square roots and fused multiply-add.
The output is success(value), invalid-input, or, in floating-point mode,
range-failure(operation, r, j). The span search is supplied by the caller
and is not part of the evaluation loop. Invalid indices, coefficient counts,
span or query conditions, or floating-point input formats return
invalid-input.
- If the indices, coefficient count, span, or query do not satisfy the
input conditions, return
invalid-input. - If , return by copy.
- Initialize for .
- For , and then , put
and . In exact mode set
and
. In
floating-point mode first compute . On
failure return
range-failurefor the numerator subtraction. If , copy to and skip the denominator subtraction, division, complement subtraction, products, and addition. Otherwise compute and then ; on the first failure return its operation and indices. Next compute , followed by , , and , in that order, returning the firstrange-failure. Keep the old until the update is complete. - Return
success(d_p^{(p)}).
For every loop entry, , so and the denominator is positive. The exact weight therefore lies in . When a span endpoint is requested as a one-sided value, the same recurrence is evaluated at that endpoint with the specified half-open or left-limit convention.
Single new-knot insertion for a B-spline curve
Definition
Use the zero-based reindexing of the clamped knot vector in B-spline spaces and knot conventions, so with . Let , , and let the controls be . Let be a nonempty span index with , where is not already a knot. Insert between and to obtain . The output controls are defined by
The middle range is empty when . The curve uses the same degree and the B-spline basis for the new knot vector. Each denominator in the middle range is positive and each lies in , so the update is an exact affine blend. This procedure inserts one knot that is new to the vector; repeated insertion at an existing knot is not part of this algorithm's input contract.
Clamped cubic spline interpolant
Definition
Let , with , let , and prescribe endpoint slopes . A clamped cubic spline interpolant for these data is a function whose restriction to every is a polynomial of degree at most three, which satisfies for every , and which satisfies and .
Here means that the function and its first two derivatives are continuous on , with one-sided derivatives at the endpoints. This uses the piecewise-cubic convention in Natural cubic splines and replaces its natural endpoint-curvature conditions by prescribed endpoint slopes. It does not alter the natural cubic interpolant or its system.
Nodal second-derivative perturbations bound the natural spline error
Statement
Let be natural interpolation knots, , and put and . Let be the natural cubic interpolant with data and nodal second derivatives , with . Let and let be the piecewise cubic formed from the same values and the second derivatives using the natural cubic piece formula of Natural cubic interpolation at distinct knots. On the knot hull , if then
Facts & Assumptions
Given: Strictly increasing knots , data , the natural interpolant , and arbitrary replacement nodal second derivatives with the same zero endpoint values.
Natural cubic interpolation at distinct knots: on the spline is the cubic with endpoint values and endpoint second derivatives .
and .
Proof
Fix and write , , and . The cubic difference vanishes at both endpoints. Its second derivative is affine with endpoint values , so . Integrating this polynomial twice and imposing the zero endpoint values gives .
On , and . Their sum is . Therefore the absolute value in step 1.1 is at most . Taking the maximum over the finitely many knot intervals proves the claim on .
Natural-cubic tridiagonal Cholesky solve with a residual certificate
Definition
Use one binary floating-point format from
Operationwise real and complex floating point arithmetic with rounded square roots and fused multiply-add
with round-to-nearest, ties-to-even, a known rational unit roundoff
, and the model's normal-or-zero success rule. Inputs are
finite stored real knots and finite stored real
values . These stored numbers are the exact interpolation
data; no unrecorded perturbation of the data is included. Write
for their exact rational differences. If a constant
or needed by the selected branch is not representable as a finite normal
number, return input-format-failure. Arithmetic statuses below report the
first failing operation in the specified order. This algorithm makes no
claim that floating-point success is automatic.
If , return success with endpoint second derivatives
and error certificate . The corresponding
piece is the exact straight line. For , put and return
certificate-parameter-failure unless .
For , assemble stored widths and secant slopes in increasing
: compute
,
, and
, in that order. At the first
failed operation return assembly-range-failure(i,operation). Successful
width subtraction gives . In increasing ,
for the row corresponding to knot compute
in that order. Copy for . On failure return
assembly-range-failure(k,operation). Let
have diagonal , adjacent off-diagonal entries , and zero entries
elsewhere; represent it by these three diagonals, not a dense array. Let the
stored right-hand side be .
Factor with a real lower bidiagonal factor, stored as diagonal
and subdiagonal . For
in order, set by exact copy; for compute
and
. If either operation fails, return
factor-range-failure(k,operation). If the resulting fails the
published positive-normal pivot test of
Failure-aware rounded Cholesky factorization, return invalid-pivot(k,p_k).
Otherwise compute
; on failure or a nonpositive or
nonnormal result return factor-range-failure(k,operation). For compute
and return the same indexed factor
status on failure.
Solve by forward substitution in increasing index order: set
; for , compute
,
, and .
Solve in decreasing order: set
; for , compute
,
, and
. At the first failed operation
return solve-range-failure(direction,k,operation). These are separate
multiply, subtract, and divide operations; no fused multiply-add is used.
Set and copy the interior vector
.
Compute the rounded residual in increasing row order. Within row , form
the products for existing columns in increasing
column order, and add them sequentially from an exact zero accumulator to
obtain . Then compute
. Return the first
residual-range-failure(k,j,operation) if any operation fails. Structural
zero entries are omitted; all included products, additions, and the final
subtraction use the operationwise model.
The certificate calculations that follow are exact rational arithmetic on the finite binary values and the rational ; they are not rounded floating-point calculations. Define
and
Form the exact natural-cubic matrix and right-hand side for the original stored data as in Natural cubic interpolation at distinct knots: , , and , with only existing interior entries included; represent by its three diagonals and compute the following row quantities as a stream, without allocating dense matrices. Compute
and
All denominators are positive: , , and
. Return success(\widehat M,C,\alpha,\beta,B). If a
resource-limited implementation cannot complete the exact rational
certificate, it may return certificate-resource-failure, which carries no
certified .
For , associate to the returned vector the piecewise cubic reconstruction on each given by
This reconstruction interpolates the stored data and need not be at an interior knot; it is a piecewise cubic reconstruction, not necessarily a natural spline. The certificate concerns exact evaluation of these pieces. Any floating-point evaluation of them needs a separate piece-evaluation error allowance.
Remarks
This local procedure specializes the published rounded Cholesky and substitution methods to the natural-cubic tridiagonal system; it does not redefine natural interpolation. Its termination and linear arithmetic and storage bounds are proved in A successful natural-cubic tridiagonal Cholesky solve has a certified residual ↗.
A single new knot refines the B-spline basis
Statement
Let be a clamped degree- knot vector as in B-spline spaces and knot conventions, with endpoints and . For a zero-based knot vector , write and . Let satisfy , let , and obtain by inserting between and . For , define Then for every degree , every old basis index , and every ,
Facts & Assumptions
Given: A clamped degree- knot vector, a nonempty span , and a new knot with .
B-spline spaces and knot conventions defines degree-zero B-splines as half-open interval indicators, higher degrees by the Cox–de Boor recurrence, and zero-denominator terms as zero; at each basis function is assigned its left limit.
Single new-knot insertion for a B-spline curve inserts between and in the zero-based knot vector, producing .
The knot vector is clamped, , and is not already a knot.
Proof
Since the knot vector is clamped, a nonempty span index satisfies . The insertion map is for , , and for . For , when and when . Every old half-open degree-zero cell other than is unchanged or shifts by one index; the affected cell splits as . Thus the indicator identity holds for all degree-zero indices, including zero-length repeated-knot cells; at the right cell supplies the value. The value at follows by the stipulated left limit.
Fix and assume the identity holds in degree . For , write and , with any zero-denominator term defined as zero as in [F1]; define using . Expanding the old recurrence and applying the degree- identity gives the coefficient triple on . Expanding the proposed refined expression gives . It remains to prove these three coefficient equalities for .
For the first coefficient, at both and are , and the insertion map gives and . Hence ; if this common denominator is zero, both terms are zero by [F1]. For , put , and . Then . At the lower index , and . At higher indices in this range, the definition gives the same ratio because . All denominators here are positive, and . This also covers , where the lower-degree weight is the degree-zero value .
For the last coefficient, first take and put , , and . Then and for , while for . In both cases , , and (zero in the case ). Consequently , , and , while . Multiplying proves . At , both and are zero, and the insertion map gives . If their common denominator is zero, both terms are zero by [F1]; otherwise equality follows from the identical numerator and denominator.
For the middle coefficient at the lower boundary , put and . Here and , so the old middle coefficient is . Also , , and . All displayed denominators are positive, and the new middle coefficient is . The omitted old term is zero even if has zero denominator, because [F1] defines that term as zero and its multiplier is zero. At the upper boundary , , so the old middle coefficient is . Put and ; then . The insertion map gives , , and . Therefore the new middle coefficient is . The old term is zero without division by its denominator. For the strict interior , which is empty if , put , , , and . The insertion span gives , so every denominator below is positive. The old and refined middle coefficients are respectively and . Their first numerator terms differ by , since . Their second numerator terms differ by , since . Thus their sum is equal. These lower, strict-interior, and upper cases prove the middle coefficient identity.
For , both weights in the refinement formula are , and the complete local knot list used by is unchanged in , so the recursively defined basis function is unchanged. For , both weights are , and the local knot list shifts by one, giving . For the transition range, steps 3.1, 3.2 and 3.3 establish all three coefficients in step 2.1, so the Cox–de Boor expansions agree. Induction from the degree-zero base in step 1.1 proves the formula for every . The argument is pointwise on under the right-cell convention, including repeated knots; taking left limits gives the equality at . No continuity at knots is assumed.
de Boor evaluation equals the B-spline coefficient expansion
Statement
Let , let be the zero-based reindexing of a clamped knot vector, and let be its degree- B-spline expansion, with under B-spline spaces and knot conventions. If is a nonempty span index and , then the exact-arithmetic mode of de Boor coefficient evaluation on a specified knot span returns . For it returns the corresponding left limit when the last nonempty span is supplied.
Facts & Assumptions
Given: A clamped degree- knot vector, coefficients , a nonempty span , and a query in that half-open span, or the specified left limit at .
de Boor coefficient evaluation on a specified knot span initializes the active list by and, in exact mode, updates with .
B-spline spaces and knot conventions defines degree-zero B-splines as half-open interval indicators and gives the Cox–de Boor recurrence; a zero-denominator term is zero.
B-spline basis properties and polynomial reproduction states that on a nonempty span only can be active.
The algorithm is run in exact arithmetic and the supplied span is nonempty.
Proof
By [F3], on the supplied span the spline value is the sum over its active indices only. With , this is . If , the sole active degree-zero indicator equals one on the half-open span, so the algorithm's copy is exactly .
Suppose a current degree- local expansion has active coefficients . Expand each basis function by [F2]. For every , the coefficient of after collecting the two contributing terms is . The two boundary terms are zero on : the left one is supported only up to , and the right one starts at . A zero denominator contributes zero by [F2]. Thus this degree reduction preserves the value at .
Starting at , repeat step 1.2. After reductions the active degree is , and the coefficient indexed by has the weight , exactly in [F1]. Hence each algorithmic update is the coefficient collection in step 1.2 and preserves the spline value. After reductions the sole degree-zero indicator on the span is one, so the remaining coefficient equals . At equality on the last open span extends to the prescribed left limit.
de Boor evaluation uses quadratic work in the degree
Statement
For a supplied nonempty knot span and degree , a successful call to the loop in de Boor coefficient evaluation on a specified knot span performs exactly coefficient updates when and none when . A call that returns a range failure performs no more than this many updates. Each update uses at most a constant number of scalar arithmetic operations, so the arithmetic work is and the coefficient storage is ; the caller's span search is excluded.
Facts & Assumptions
Given: The finite degree- loop and one already identified nonempty knot span.
de Boor coefficient evaluation on a specified knot span runs, for each , one update for each and retains only local coefficients.
A supplied span index is used; finding the index is not charged to the coefficient evaluation.
Proof
At loop level , there are values of . Therefore a completed loop performs updates; for the loop is empty. A range failure stops the loop early, so every call performs at most this many updates.
Each full update computes a fixed number of subtractions, one division, two multiplications and one addition, independent of ; an exact-zero numerator branch or a range failure can only reduce that count. Initializing and returning the local list takes at most a constant times copies. Thus the scalar arithmetic count is bounded by a constant times , while the list contains at most entries. The excluded span search cannot change either bound.
Clamped cubic spline interpolation exists uniquely
Statement
Let , , let , and let . Put and . There is exactly one clamped cubic spline interpolant in the sense of Clamped cubic spline interpolant. Its nodal second derivatives are the unique solution of On the interpolant is
Facts & Assumptions
Given: The partition, arbitrary nodal values, and prescribed endpoint slopes in the Statement.
Clamped cubic spline interpolant requires a function, cubic pieces, interpolation at every node, and the two prescribed endpoint slopes.
, , , and .
Proof
Let be the matrix of the displayed system. Its first row has diagonal and off-diagonal sum ; an interior row has diagonal and off-diagonal sum ; the last row has diagonal and off-diagonal sum . Every diagonal entry therefore strictly exceeds the sum of the other absolute entries in its row. If for a nonzero , choose with . The th row gives , contradicting strict row diagonal dominance. Thus has zero kernel and, being square, is invertible.
Let be the unique solution. Define by the displayed piece formula. Substitution at and gives the values , and differentiating twice gives endpoint second derivatives . Differentiating once gives and . The interior system rows make the adjacent endpoint slopes agree. Since the adjacent second derivatives both equal the shared , the pieces join with continuous first and second derivatives. The first and last rows give and . Hence the constructed function satisfies [F1].
For any clamped interpolant, its nodal second derivatives must satisfy the displayed system by the same endpoint-slope formulas, so invertibility from step 1.1 forces them to equal the constructed . On each interval, the difference from is a cubic with zero endpoint values and zero endpoint second derivatives. Its second derivative is affine and vanishes at both endpoints, hence is identically zero; the difference is then affine and vanishes at both endpoint values, hence is zero. Every piece is therefore unique, proving uniqueness of the interpolant.
A natural-spline tridiagonal residual bounds the spline value error
Statement
Let , , and let be the natural cubic interpolant of nodal values . Write and . Let be the interior coefficient matrix in the system of Natural cubic interpolation at distinct knots, and let be its right-hand side. Put For any proposed nodal second derivatives , let be their interior vector, let be the exact residual, and let be the piecewise cubic given by the natural piece formula with these second derivatives and the same values . Then, on the knot hull, This is a residual-to-function transfer statement; it does not assert that a particular floating-point solver returns a residual certificate.
Facts & Assumptions
Given: The distinct knots and data, the natural interpolant, and an arbitrary proposed interior second-derivative vector with zero endpoint values.
Natural cubic interpolation at distinct knots: the exact interior vector solves , where row has diagonal and adjacent entries ; its spline pieces use the stated cubic formula.
Nodal second-derivative perturbations bound the natural spline error: if the endpoint second derivatives agree, a nodal second-derivative discrepancy bounded by changes the natural cubic pieces on the knot hull by at most in the maximum norm.
, all , and is the exact algebraic residual .
Proof
Let , so by [F1] and the definition of . Choose an index at which , and put . The diagonal entry in row is , while the sum of the absolute off-diagonal entries is at most because an endpoint row omits the coefficient multiplying the fixed zero endpoint second derivative (and when there are no off-diagonal entries). The reverse triangle inequality and give . Hence .
Apply [F2] with , since both endpoint perturbations are zero. Step 1.1 then yields , as claimed.
A successful natural-cubic tridiagonal Cholesky solve has a certified residual
Statement
Let , , and use the stored input data, arithmetic model and algorithm of Natural-cubic tridiagonal Cholesky solve with a residual certificate. If assembly succeeds, its stored symmetric tridiagonal matrix is positive definite. On every full successful call, the algorithm returns . Let be the interior subvector, let be the stored right-hand side, and let be the computed rounded residual vector from the algorithm's residual-evaluation step. Then
For , the notation here is . Thus is an exact right-hand-side perturbation satisfying and . This absolute residual certificate remains valid when or .
The algorithm's factorization and two substitutions are the successful executions of the published dense rounded Cholesky and triangular-substitution procedures on the same stored and , after omitting only exact-zero operations. Their failure tests retain the published positive-normal pivot and operationwise range rules. Exact positive definiteness does not guarantee rounded success.
Write and for the factor and forward-solve vector computed in this execution. There are additional conditional backward-error statements. If , lower bidiagonal and upper bidiagonal satisfy
If , put . For the symmetric factor residual ,
With
we have and
The matrix need not be symmetric. If also , then . The residual certificate above requires only the algorithm's check; it does not require these stronger factor and triangular-solve conditions.
The finite procedure terminates and uses floating-point operations, stored scalars, exact rational operations and stored rationals. No rational bit-complexity bound is asserted.
Facts & Assumptions
Given: , strictly increasing finite stored knots, finite stored data, , and a full successful call of the local algorithm with its exact rational certificate completed.
Natural-cubic tridiagonal Cholesky solve with a residual certificate specifies the stored tridiagonal assembly, bidiagonal factor and solves, sparse rounded residual, exact rational quantities , and the returned value .
Operationwise real and complex floating point arithmetic with rounded square roots and fused multiply-add: each successful real operation has relative error at most when its exact result is nonzero, exact zeros are preserved, and operations whose exact nonzero result is outside the normal range fail.
Failure-aware rounded Cholesky factorization specifies the dense rounded Cholesky recurrence, its operation order, and its positive-normal pivot test.
Rounded triangular substitution has a componentwise matrix backward error: for a successful rounded triangular solve in dimension with , a componentwise matrix perturbation bounded by converts the computed solution into an exact solution.
A successful rounded Cholesky factorization has componentwise and normwise backward error bounds: for a successful Cholesky factorization of an SPD matrix, if , then ; under its further stated norm condition it gives .
Rounded matrix products give certified linear and normal-equation residual allowances: for a successful sequential rounded matrix-vector product and subtraction, the exact linear residual differs from the computed one in Euclidean norm by at most .
Finite arithmetic schedules terminate, with early failure counted separately: a finite initialized instruction list with finite-return instructions terminates at its first failure or its completion return.
The Frobenius norm on real or complex matrices: is the Euclidean norm of the finite list of matrix entries, equivalently .
The norm induced by a real or complex inner product: on a real or complex inner-product space, .
The standard formulas on and on are inner products: on , , so the induced Euclidean norm is .
The local algorithm completes assembly, factorization, both substitutions, residual evaluation and its exact rational certificate without any range or resource failure.
Proof
Each successful width subtraction has exact positive input difference, so by [F2] its stored result is positive. Write . The successful rounding of its sum and multiplication by gives . Row 's off-diagonal absolute sum is at most : it contains only some of the positive entries , and for it is zero. For any real nonzero vector , applying to each adjacent term yields . Hence every successfully assembled is real SPD.
In the dense Cholesky recurrence of [F3], induction over columns shows that for : the input matrix is tridiagonal, and in each such row the prior-column products and input entry are zero. At the diagonal square-sum is empty, so its pivot is copied as , exactly as in the local algorithm. For , the only possible nonzero term in the dense diagonal square-sum is ; the remaining zero products, additions and subtractions are exact and cannot fail under [F2]. Thus the dense pivot is exactly the specialized , followed by the same square root and positive-normal test. For the first subdiagonal, the dense dot product has only the input after its exact zero terms, so the update is exactly . Every lower entry beyond that subdiagonal is exactly zero. This induction proves equality of all stored factor entries and all potentially failing operations. The forward and backward dense triangular recurrences likewise have only the single adjacent product; all other terms are exact zeros. Therefore the specialized solve outputs equal the published substitutions.
Let be the exact residual. The algorithm computes the same sparse sequential products and subtraction as the dense dot product in [F6], with only exact-zero products and additions omitted. By [F2], a zero product is exact and adding zero to a stored normal value or zero is also exact, so the sparse accumulation is identical to the dense one. Thus [F6] gives . By [F9] and [F10], the Euclidean norm is the square root of the sum of squared coordinates, so each coordinate magnitude is at most that norm and ; the latter follows by squaring, since all cross terms are nonnegative. By [F8], the same argument on the finite entry list gives . The definitions in [F1] therefore imply , , , and . The coordinate bound also gives , whence . Setting gives the stated exact right-hand-side perturbation without division by a solution or residual norm.
If , apply [F4] to each successful triangular substitution from step 1.2. It gives with and and the stated entrywise bounds; since is bidiagonal, those bounds force to be bidiagonal as well. Under the distinct condition , step 1.1 and [F5] give and the stated factor bound. Substituting the second triangular equation into the first gives . Expanding the product and using yields . Entrywise submultiplicativity and the bounds on give the displayed bound for . The conditional Frobenius estimate is exactly the further norm consequence in [F5], with the norm convention in [F8].
Put . Assembly makes a fixed number of floating-point operations per each of the intervals and rows. Factorization, each substitution and residual evaluation visit rows, with at most a fixed number of operations per row because a tridiagonal row has at most three nonzero entries. The exact-certificate scan likewise visits intervals and rows; each contributes a fixed number of rational operations and comparisons to the sums, row discrepancies, and extrema, followed by a fixed number to form . Thus the floating-point and exact rational operation counts are . The algorithm stores only input and output vectors, the bidiagonal factor, the three diagonals of and , and a fixed number of rational accumulators; row discrepancies can be computed as they are scanned, so storage is scalars and rationals. Every loop has a finite index range and every floating-point instruction returns or its first failure. The certificate denominators , , and are positive, so each exact rational operation has finite inputs and is defined. [F7] therefore gives termination; if a resource limit prevents completion of the exact certificate, the algorithm returns its separate failure status and no . No rational bit-complexity bound follows.
A successful rounded de Boor evaluation has a degree-dependent forward bound
Statement
Use the operationwise model in Operationwise real and complex floating point arithmetic with rounded square roots and fused multiply-add with unit roundoff . Suppose the floating-point mode of de Boor coefficient evaluation on a specified knot span completes successfully on stored coefficients and every exact intermediate is zero or normal. Put If is the exact B-spline value on the supplied span and is the returned value, then For the error is zero. The conclusion is conditional on success and does not certify that the intermediate range conditions will hold.
Facts & Assumptions
Given: A successful operationwise floating-point evaluation of the de Boor recurrence on a nonempty span, with .
Operationwise real and complex floating point arithmetic with rounded square roots and fused multiply-add states that every successful real addition, subtraction, multiplication, and division has relative error at most for a nonzero normal exact result, while exact zeros are returned exactly; other nonzero range cases return failure.
de Boor coefficient evaluation on a specified knot span first computes the rounded numerator subtraction. If it is zero, the algorithm copies the left coefficient; otherwise it computes the denominator subtraction and division, complement subtraction, two multiplications, and addition in that order.
de Boor evaluation equals the B-spline coefficient expansion identifies the exact recurrence output with .
Every operation in the floating-point run succeeds, as required in the Statement.
Proof
At one blend let be the exact ratio. If its numerator is zero, the algorithm's exact-zero branch returns the left coefficient copy. Otherwise the two subtractions and division in [F2] give , with by [F1]. Hence . The complement subtraction gives , because . Also .
Write the two rounded products and final rounded sum as . Subtract the exact convex blend . The coefficient differences contribute at most ; the two product roundings contribute at most ; and the final addition contributes at most . Thus . If is the maximum magnitude in the preceding computed column, this is at most . Since the exact blend is a convex combination, its magnitude is at most , so the next computed column has maximum at most .
Let be the maximum magnitude of the computed column after stages and let be the maximum difference from the exact column. Step 1.2 gives . Since the exact weights are nonnegative and sum to one, the previous-column discrepancy contributes at most , while the local rounding contributes at most . Therefore . Starting with and summing this geometric series gives .
By [F3], the final exact column is ; the final computed column is , and . Substitution in step 2.1 proves the bound.
Single new-knot insertion preserves the B-spline curve
Statement
Let be a clamped knot vector of degree as in B-spline spaces and knot conventions, with and , and let be the one-based version of any zero-based knot vector . Write for the basis in B-spline spaces and knot conventions. Let a B-spline curve be with and . Insert one new knot strictly inside a nonempty span by Single new-knot insertion for a B-spline curve, obtaining knots and controls . Write . Then, for every ,
Facts & Assumptions
Given: A clamped degree- knot vector, controls , and a new knot strictly inside a nonempty span .
B-spline spaces and knot conventions defines degree-zero B-splines as half-open interval indicators and defines higher degrees by the Cox–de Boor recurrence with zero-denominator terms set to zero.
Single new-knot insertion for a B-spline curve uses for , for , and for , where in the middle range.
A single new knot refines the B-spline basis gives for every old degree- basis index.
is strictly inside the nonempty span, so it is not already a knot and every denominator in the middle blend range is strictly positive.
Proof
Since the knot vector is clamped and the insertion span is nonempty, . For bookkeeping only, set and write . The copy, blend, and shift ranges in [F2] give for every : in the copy range , in the blend range the algorithm's is , and in the shift range . This also covers , when the blend range is empty. Therefore the finite refined sum is : the first control sum uses , and in the second the change of index drops the term.
By [F3], each bracketed basis combination in step 1.1 equals . Substitution in that finite sum gives . The recurrence and control algebra hold at interior knots under the right-cell convention, and at they hold by the prescribed left limits. Hence the refined expansion equals the original curve for every .
Boundary-compatible clamped cubic interpolation is fourth order in the maximum norm
Statement
Let , , with and . Suppose has continuous derivatives through order four on an open interval containing , and let satisfy there. Let be the clamped cubic interpolant at with the boundary-compatible slopes and . Then
The conclusion uses the exact endpoint derivatives; it is not a rate claim for the natural boundary condition or for estimated endpoint slopes.
Facts & Assumptions
Given: A strictly increasing partition, with continuous derivatives through order four near , a bound on , and the clamped interpolant with endpoint slopes equal to those of .
Clamped cubic spline interpolation exists uniquely gives the second-derivative system, the cubic piece formula, and the endpoint-slope formulae for the clamped interpolant.
A uniform derivative bound gives a uniform Taylor remainder bound: if a function has derivatives through order on the closed segment between and , with endpoint continuity, and its st derivative is bounded by , its degree- Taylor remainder is at most . Here the proof uses for , for , and for ; the resulting factorials are , , and .
, , and on a neighborhood of the partition.
Proof
Put and . By [F2], on each adjacent interval of length , Taylor expansion gives and with ; the corresponding secant slopes satisfy and , with . Substitution in an interior row of [F1] shows that the residual obtained by inserting in place of has magnitude at most : the first-derivative terms cancel, and the remaining terms are bounded by . The same expansions in the first row give residual at most ; expansion backward from gives at most in the last row.
Fix an interval of length and let be the cubic Hermite interpolant matching and at both endpoints. Let be the Taylor polynomial of degree three for at , and put . By [F2], , , , and . With , the Hermite basis functions for the right value and right slope are and ; their absolute values on are at most and . Therefore , and .
In the clamped system matrix, each diagonal exceeds the sum of the absolute off-diagonal entries by respectively , , and . Let and choose an index with maximal . Since the residual equation is , its row at that index has magnitude at least the row's diagonal-dominance margin times . Step 1.1 bounds that same row by times the margin. Hence .
At an interior node , [F1] gives . Substituting the backward Taylor expansions in step 1.1 and cancels the terms in and . The remaining Taylor terms are bounded by , and the terms by . Thus . At and this difference is zero by the boundary conditions.
The difference is a cubic with zero endpoint values and with endpoint slope differences and . Its Hermite form is . Each displayed shape function has absolute value at most on . Step 3.1 therefore gives . Combining with step 1.2 yields on this interval.
The intervals cover , and . Taking the supremum over all intervals proves the stated maximum-norm estimate.
A computed natural-cubic reconstruction has a forward-error certificate
Statement
Let and use the stored knots and values and the algorithm of Natural-cubic tridiagonal Cholesky solve with a residual certificate. Let be the exact natural cubic interpolant of those data, supplied by Natural cubic interpolation at distinct knots. On a successful call, let be the returned second-derivative vector, put , and let be the piecewise cubic reconstruction defined by the algorithm from , evaluated exactly. For , the success output is . The algorithm computes , , and internally when forming ; these are not separate returned fields. The returned certificate fields satisfy
Here and account for the differences between the exact natural-cubic system assembled from the stored input data and the rounded matrix and right-hand side used by the factorization. If those systems are exactly the same, then and . For , both the natural interpolant and the algorithm-defined reconstruction are the straight line, and .
The algorithm-defined reconstruction interpolates the stored data, but for it need not be at its knots and is not asserted to be an exact natural spline. The bound excludes floating-point error from evaluating the cubic pieces and makes no unconditional arithmetic-success or general natural-spline fourth-order claim.
Facts & Assumptions
Given: Strictly increasing stored knots and finite stored values, , and a successful algorithm call including its exact rational certificate.
Natural-cubic tridiagonal Cholesky solve with a residual certificate defines the exact canonical system , the stored matrix and right-hand side used by the rounded solve, and the discrepancies and . On a successful call it returns and computes , , and internally to form .
A successful natural-cubic tridiagonal Cholesky solve has a certified residual gives on a full successful call.
Natural cubic interpolation at distinct knots: for , the exact natural interpolant's interior second derivatives solve ; for it is the straight line.
A natural-spline tridiagonal residual bounds the spline value error: if is the exact residual for the interior natural-cubic system and the endpoint second derivatives agree at zero, then the piecewise cubic reconstruction differs from the exact natural interpolant on the knot hull by at most .
The data knots are exact stored real numbers with ; for , each and .
Proof
Suppose . Let be the returned vector and its interior subvector. By [F2] and the exact identity , each row satisfies . Taking the maximum proves ; these exact discrepancies account for all rounded system assembly.
The returned endpoint second derivatives and those of are both zero. Apply [F4] to the exact residual from step 1.1 and the original widths. It gives . The transfer theorem applies to any proposed interior derivatives with zero endpoint values; it does not require the algorithm-defined pieces to join with matching first derivatives.
If , the algorithm returns zero endpoint second derivatives and its associated reconstruction is the exact straight-line piece. By [F3] this is also , and the algorithm defines , so the stated bound holds with equality.
5 · Examples, counterexamples and false statements
None yet.
Sources
- Carl de Boor, A Practical Guide to Splines, revised edition, Chapter X, pp. 123–126
- Tom Lyche, Carla Manni, and Hendrik Speleers, B-Splines and Spline Approximation, §1.1
- Carl de Boor, A Practical Guide to Splines, revised edition, Chapter XI, pp. 135–138
- Gershon Elber, Computer Aided Geometric Design, Chapter 7, Boehm's knot insertion
- Carl de Boor, A Practical Guide to Splines, revised edition, Chapter IV, pp. 43–45
- Brian LeMesurier, Introduction to Numerical Methods and Analysis with Python, §3.4.2
- Carl de Boor, A Practical Guide to Splines, revised edition, Chapter IV, pp. 42–45
- Tobin A. Driscoll and Richard J. Braun, Fundamentals of Numerical Computation, §2.9
- A. M. Stuart and J. Voss, Matrix Analysis and Algorithms, §§2.6, 3.4, and 5.1
- Stuart and Voss, Matrix Analysis and Algorithms, Warwick lecture notes, floating-point model
- Carl de Boor, A Practical Guide to Splines, revised edition, Chapter V, pp. 51–56
- Brian LeMesurier, Introduction to Numerical Methods and Analysis with Python, §3.4.3, Theorem 3.5
- Brian LeMesurier, Introduction to Numerical Methods and Analysis with Python, Chapter 3.4