Why This Matters
The formal limit is the foundation of all of calculus. Without a precise definition of what it means for a function to approach a value, derivatives and integrals would rest on shaky intuition. The epsilon-delta definition gives us a way to prove, not just guess, that a function approaches a specific value as the input approaches some target.
Before the 19th century, mathematicians used phrases like "infinitely close" without defining what that meant. The epsilon-delta framework replaced vague language with a concrete contract: for every tolerance epsilon around the output, there exists a tolerance delta around the input that keeps the function within bounds. This is one of the great achievements of mathematical rigor.
Understanding one-sided limits is equally important. A function might approach different values from the left and right, and the full limit only exists when both sides agree. This distinction becomes critical when analyzing piecewise functions, absolute value expressions, and functions with jumps or asymptotes.
Define Terms
Visual Model
The full process at a glance. Click Start tour to walk through each step.
The epsilon-delta definition: for every output tolerance epsilon, there exists an input tolerance delta that keeps f(x) close to L.
Code Example
// Numerically approximate the limit of (x^2 - 1)/(x - 1) as x -> 1
function approachLimit(f, a, steps) {
const results = [];
let h = 0.1;
for (let i = 0; i < steps; i++) {
const fromLeft = f(a - h);
const fromRight = f(a + h);
results.push({ h, fromLeft: fromLeft.toFixed(8), fromRight: fromRight.toFixed(8) });
h /= 10;
}
return results;
}
// f(x) = (x^2 - 1) / (x - 1) -- undefined at x=1, but limit exists
const f = (x) => (x * x - 1) / (x - 1);
const table = approachLimit(f, 1, 6);
table.forEach(row => {
console.log(`h=${row.h}: left=${row.fromLeft}, right=${row.fromRight}`);
});
// Both sides approach 2.00000000 as h shrinks
// Verify: (x^2 - 1)/(x - 1) = (x+1)(x-1)/(x-1) = x + 1
// At x = 1: x + 1 = 2. The limit is 2.
console.log("Limit:", 2);
// One-sided limit example: f(x) = |x|/x
const g = (x) => Math.abs(x) / x;
console.log("Left of 0:", g(-0.001)); // -1
console.log("Right of 0:", g(0.001)); // 1
console.log("One-sided limits differ, so limit does not exist at 0");Interactive Experiment
Try these exercises:
- Change the function to
sin(x)/xand approximate the limit as x approaches 0. What value do the left and right sides converge to? - Try smaller and smaller values of h (like 1e-10, 1e-15). At what point does floating-point error start causing problems?
- Create a function with a jump discontinuity and verify that the one-sided limits differ.
- Modify the code to check whether
|fromLeft - fromRight| < epsilonfor a given epsilon, to automatically detect whether the limit exists. - Try the function
1/xas x approaches 0. What happens to the left and right limits?
Quick Quiz
Coding Challenge
Write a function called `approximateLimit` that takes a function f, a target value a, and returns the estimated limit by evaluating f at points approaching a from both sides. Use h values of 0.1, 0.01, 0.001, 0.0001, and 0.00001. Return the average of the left and right evaluations at the smallest h value (0.00001). Round to 4 decimal places.
Real-World Usage
Limits are foundational throughout mathematics and its applications:
- Defining derivatives: The derivative is defined as a limit of the difference quotient. Without limits, there is no calculus.
- Numerical analysis: Finite element methods, numerical integration, and iterative solvers all depend on convergence, which is a limit concept.
- Signal processing: The Fourier transform involves limits of infinite sums and integrals. Convergence guarantees determine when the transform is valid.
- Machine learning: Gradient descent converges to a minimum as the number of steps approaches infinity -- a limit statement about optimization.
- Physics simulations: Continuous models are approximated by discrete steps. The accuracy of the simulation depends on the limit as step size approaches zero.