Interpolation
When to Use
Use this skill when working on interpolation problems in numerical methods.
Decision Tree
Assess Data Characteristics
- How many data points? Spacing uniform or non-uniform?
- Is data smooth or noisy?
- Need derivatives at endpoints?
Select Interpolation Method
- Few points (<10): Polynomial (Lagrange, Newton)
- Many points, smooth data: Cubic splines
- Noisy data: Smoothing splines or least squares
- High dimensions: Use simplex-based (n+1 neighbors vs 2^n)
Implement with SciPy
scipy.interpolate.CubicSpline(x, y) - natural cubic spline
scipy.interpolate.make_interp_spline(x, y, k=3) - B-spline
scipy.interpolate.interp1d(x, y, kind='cubic') - 1D interpolation
Validate Results
- Check for Runge's phenomenon at boundaries (high-degree polynomials)
- Cross-validate: leave-one-out error estimation
- Visual inspection of interpolated curve
sympy_compute.py limit "interp_error" --at boundaries
High-Dimensional Considerations
- Coxeter-Freudenthal-Kuhn triangulation for O(n log n) point location
- Barycentric subdivision for balanced performance
Tool Commands
Scipy_Cubic_Spline
uv run python -c "from scipy.interpolate import CubicSpline; import numpy as np; x = np.array([0,1,2,3]); y = np.array([0,1,4,9]); cs = CubicSpline(x, y); print(cs(1.5))"
Scipy_Bspline
uv run python -c "from scipy.interpolate import make_interp_spline; import numpy as np; x = np.array([0,1,2,3]); y = np.array([0,1,4,9]); bspl = make_interp_spline(x, y, k=3); print(bspl(1.5))"
Sympy_Lagrange
uv run python -m runtime.harness scripts/sympy_compute.py interpolate "[(0,0),(1,1),(2,4)]" --var x
Key Techniques
From indexed textbooks:
- [An Introduction to Numerical Analysis... (Z-Library)] DISCUSSION OF THE LITERATURE Discussion of the Literature As noted in the introduction, interpolation theory is a foundation for the development of methods in numerical integration and differentiation, approxima tion theory, and the numerical solution of differential equations. Each of these· topics is developed in the following chapters, and the associated literature is discussed at that point. Additional results on interpolation theory are given in de Boor (1978), Davis (1963), Henrici (1982, chaps.
- [Numerical analysis (Burden R.L., Fair... (Z-Library)] The most commonly used form of interpolation is piecewise-polynomial interpolation. If function and derivative values are available, piecewise cubic Hermite interpolation is recommended. This is the preferred method for interpolating values of a function that is the solution to a differential equation.
- [Numerical analysis (Burden R.L., Fair... (Z-Library)] Copyright 2010 Cengage Learning. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
- [Numerical analysis (Burden R.L., Fair... (Z-Library)] Galerkin and Rayleigh-Ritz methods are both determined by Eq. However, this is not the case for an arbitrary boundary-value problem. A treatment of the similarities and differences in the two methods and a discussion of the wide application of the Galerkin method can be found in [Schul] and in [SF].
- [An Introduction to Numerical Analysis... (Z-Library)] Polynomial interpolation theory has a number of important uses. In this text, its primary use is to furnish some mathematical tools that are used in developing methods in the areas of approximation theory, numerical integration, and the numerical solution of differential equations. A second use is in developing means - for working with functions that are stored in tabular form.
Cognitive Tools Reference
See .claude/skills/math-mode/SKILL.md for full tool documentation.
1---2name: interpolation3description: Interpolation4---56# Interpolation78## When to Use910Use this skill when working on interpolation problems in numerical methods.1112## Decision Tree1314151. **Assess Data Characteristics**16 - How many data points? Spacing uniform or non-uniform?17 - Is data smooth or noisy?18 - Need derivatives at endpoints?19202. **Select Interpolation Method**21 - Few points (<10): Polynomial (Lagrange, Newton)22 - Many points, smooth data: Cubic splines23 - Noisy data: Smoothing splines or least squares24 - High dimensions: Use simplex-based (n+1 neighbors vs 2^n)25263. **Implement with SciPy**27 - `scipy.interpolate.CubicSpline(x, y)` - natural cubic spline28 - `scipy.interpolate.make_interp_spline(x, y, k=3)` - B-spline29 - `scipy.interpolate.interp1d(x, y, kind='cubic')` - 1D interpolation30314. **Validate Results**32 - Check for Runge's phenomenon at boundaries (high-degree polynomials)33 - Cross-validate: leave-one-out error estimation34 - Visual inspection of interpolated curve35 - `sympy_compute.py limit "interp_error" --at boundaries`36375. **High-Dimensional Considerations**38 - Coxeter-Freudenthal-Kuhn triangulation for O(n log n) point location39 - Barycentric subdivision for balanced performance404142## Tool Commands4344### Scipy_Cubic_Spline45```bash46uv run python -c "from scipy.interpolate import CubicSpline; import numpy as np; x = np.array([0,1,2,3]); y = np.array([0,1,4,9]); cs = CubicSpline(x, y); print(cs(1.5))"47```4849### Scipy_Bspline50```bash51uv run python -c "from scipy.interpolate import make_interp_spline; import numpy as np; x = np.array([0,1,2,3]); y = np.array([0,1,4,9]); bspl = make_interp_spline(x, y, k=3); print(bspl(1.5))"52```5354### Sympy_Lagrange55```bash56uv run python -m runtime.harness scripts/sympy_compute.py interpolate "[(0,0),(1,1),(2,4)]" --var x57```5859## Key Techniques6061*From indexed textbooks:*6263- [An Introduction to Numerical Analysis... (Z-Library)] DISCUSSION OF THE LITERATURE Discussion of the Literature As noted in the introduction, interpolation theory is a foundation for the development of methods in numerical integration and differentiation, approxima tion theory, and the numerical solution of differential equations. Each of these· topics is developed in the following chapters, and the associated literature is discussed at that point. Additional results on interpolation theory are given in de Boor (1978), Davis (1963), Henrici (1982, chaps.64- [Numerical analysis (Burden R.L., Fair... (Z-Library)] The most commonly used form of interpolation is piecewise-polynomial interpolation. If function and derivative values are available, piecewise cubic Hermite interpolation is recommended. This is the preferred method for interpolating values of a function that is the solution to a differential equation.65- [Numerical analysis (Burden R.L., Fair... (Z-Library)] Copyright 2010 Cengage Learning. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).66- [Numerical analysis (Burden R.L., Fair... (Z-Library)] Galerkin and Rayleigh-Ritz methods are both determined by Eq. However, this is not the case for an arbitrary boundary-value problem. A treatment of the similarities and differences in the two methods and a discussion of the wide application of the Galerkin method can be found in [Schul] and in [SF].67- [An Introduction to Numerical Analysis... (Z-Library)] Polynomial interpolation theory has a number of important uses. In this text, its primary use is to furnish some mathematical tools that are used in developing methods in the areas of approximation theory, numerical integration, and the numerical solution of differential equations. A second use is in developing means - for working with functions that are stored in tabular form.6869## Cognitive Tools Reference7071See `.claude/skills/math-mode/SKILL.md` for full tool documentation.