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.
Source: parcadei/Continuous-Claude-v3 → .claude/skills/math/numerical-methods/interpolation/SKILL.md
1---2name: interpolation3description: Problem-solving strategies for interpolation in numerical methods4---5
6
7# Interpolation
8
9## When to Use
10
11Use this skill when working on interpolation problems in numerical methods.
12
13## Decision Tree
14
15
161. **Assess Data Characteristics**
17 - How many data points? Spacing uniform or non-uniform?
18 - Is data smooth or noisy?
19 - Need derivatives at endpoints?
20
212. **Select Interpolation Method**
22 - Few points (<10): Polynomial (Lagrange, Newton)
23 - Many points, smooth data: Cubic splines
24 - Noisy data: Smoothing splines or least squares
25 - High dimensions: Use simplex-based (n+1 neighbors vs 2^n)
26
273. **Implement with SciPy**
28 - `scipy.interpolate.CubicSpline(x, y)` - natural cubic spline
29 - `scipy.interpolate.make_interp_spline(x, y, k=3)` - B-spline
30 - `scipy.interpolate.interp1d(x, y, kind='cubic')` - 1D interpolation
31
324. **Validate Results**
33 - Check for Runge's phenomenon at boundaries (high-degree polynomials)
34 - Cross-validate: leave-one-out error estimation
35 - Visual inspection of interpolated curve
36 - `sympy_compute.py limit "interp_error" --at boundaries`
37
385. **High-Dimensional Considerations**
39 - Coxeter-Freudenthal-Kuhn triangulation for O(n log n) point location
40 - Barycentric subdivision for balanced performance
41
42
43## Tool Commands
44
45### Scipy_Cubic_Spline
46```bash
47uv 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))"
48```
49
50### Scipy_Bspline
51```bash
52uv 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))"
53```
54
55### Sympy_Lagrange
56```bash
57uv run python -m runtime.harness scripts/sympy_compute.py interpolate "[(0,0),(1,1),(2,4)]" --var x
58```
59
60## Key Techniques
61
62*From indexed textbooks:*
63
64- [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.
65- [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.
66- [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).
67- [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].
68- [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.
69
70## Cognitive Tools Reference
71
72See `.claude/skills/math-mode/SKILL.md` for full tool documentation.
73
74---
75
76**Source:** [`parcadei/Continuous-Claude-v3`](https://github.com/parcadei/Continuous-Claude-v3) → `.claude/skills/math/numerical-methods/interpolation/SKILL.md`