Learning Objectives
By the end of this section, you will be able to:
- Interpret as a statement about settling, not arrival.
- Recognize a horizontal asymptote on a graph and explain what it signals about end-behavior.
- Apply the divide-by-highest-power trick to compute limits of rational functions.
- Use the degree race (numerator vs. denominator) to decide between a finite asymptote, zero, and infinity.
- Prove a limit at infinity using the formal ε–N definition.
- Translate every technique into Python and PyTorch to verify results numerically.
The Question: What Happens at the Far End?
So far our limits have all asked “what value does settle on as closes in on some finite point?” Now we change the horizon. We ask what happens when is allowed to run away — unboundedly — toward or . The machinery from one-sided limits carries over almost word-for-word; only the moving part changes.
The motivating picture: imagine releasing a skydiver at . Air resistance grows with speed, so the falling object does not keep accelerating forever. Instead, speed settles to a terminal velocity. The function has a horizontal asymptote, and the language of “” limits is what lets us name and compute that terminal value.
Intuition: Settling Down to a Level
Write and read it out loud: “as is made larger and larger, the value gets trapped arbitrarily close to and stays there.” Three features of that sentence matter:
- Arbitrarily close, not equal. The function never has to reach . It just has to refuse to leave any tolerance band around once is big enough.
- Eventually, not immediately. The function is allowed to behave wildly for small . We only care about what it does past some cut-off.
- And stays. Once trapped in the band, the function must not escape. A graph that dips in and out of a horizontal strip does not have a limit at infinity.
Interactive: Watching a Limit Form
Slide the x-window to the right and the tolerance band (ε) tighter. Notice how you can always squeeze the band smaller — and for any such ε you can still find an x-value past which the curve never leaves the band. That is exactly what “limit at infinity” means, in visual form.
Horizontal Asymptote Explorer
Drag the x-window and ε-tube to see how f(x) settles toward L.
The Horizontal Asymptote
When the limit exists, the horizontal line is called the horizontal asymptote of . Formally:
A function can have up to two horizontal asymptotes: one for and a potentially different one for . The arctangent is the classic example: at , at .
Horizontal vs. vertical asymptote
The Formal Definition (ε–N)
The informal “arbitrarily close, eventually” language becomes mathematics when we ask: how close, and past which x? The answer is a contract:
ε–N definition
means:
For every there exists such that .
Read it as a negotiation. A skeptic hands you a tolerance . You must produce a cut-off that depends on and guarantees the function stays inside the -band past . If you can answer any , the limit exists.
Worked ε–N proof
Let . We claim . Let .
We need , i.e. . So pick . For any challenge , this explicit works. The limit is proved. ∎
Interactive: The ε–N Challenge
Be the skeptic, then the responder. Shrink ε; you can always win by pushing N big enough. The algebraic formula is the universal winning strategy — the proof in action.
The ε–N Game: Challenge and Response
Skeptic picks ε. You must find an N so that |f(x) − L| < ε for every x > N. Function: f(x) = (3x+1)/(x+2), L = 3.
The Three Fates of a Rational Function
For a rational function with and , end-behavior is settled entirely by the degree race:
| Case | Behavior as x → ∞ | Horizontal asymptote? |
|---|---|---|
| m < n (denominator wins) | f(x) → 0 | Yes, y = 0 |
| m = n (tied) | f(x) → (leading coeff of P) / (leading coeff of Q) | Yes, y = a_m / b_n |
| m > n (numerator wins) | |f(x)| → ∞ | No — there may be a slant / curved asymptote instead |
The mental trick: divide top and bottom by the highest power of x anywhere in sight. Every term like or vanishes, and the picture becomes transparent.
Why the trick works
Interactive: Degree Race
Three rational functions of the same family are plotted below. Watch how each settles — one to 0, one to 3, one unbounded — as you push the x-window further right.
The Three Fates of a Rational Function
Only three things can happen to P(x)/Q(x) as x → ∞ — and all three depend on the degree race.
Worked Example — Step by Step
Find .
📐 Expand: full pencil-and-paper solution
Essential Limits You Must Know
A small vocabulary of standard end-behaviors makes every future problem easier.
| Expression | Limit as x → ∞ | Why |
|---|---|---|
| 1 / x^p (p > 0) | 0 | Polynomial in the denominator outgrows 1. |
| e^(-x) | 0 | Exponential decay beats every polynomial. |
| arctan(x) | π/2 ≈ 1.5708 | Slope of arctan → 0; range bounded above by π/2. |
| 1 / ln(x) | 0 | ln(x) → ∞, just slowly. |
| sin(x) | does not exist | Oscillates in [−1, 1]; never settles. |
| (1 + 1/x)^x | e ≈ 2.71828 | Euler's limit — the compound-interest fingerprint. |
Python: Building Intuition Numerically
Reading a proof is one thing; watching the limit form, row by row, is another. The script below probes our example function at a geometric ladder of x-values and tabulates . Click any line to see what Python is doing at that moment.
Two observations make the limit feel inevitable:
- The rewrite column collapses to as the and terms die.
- The error column shrinks by a factor of 10 every time grows by a factor of 10 — a visual fingerprint of .
PyTorch: The Same Idea, on Tensors
Now we rebuild the experiment with tensors — so the entire ladder is evaluated in a single vectorized call — and use autograd to verify the convergence rate without any hand-computed derivative.
The same table falls out, but two things are different:
- Vectorized evaluation — one tensor call, six answers. This is exactly how deep-learning libraries compute losses over batches.
- Automatic differentiation — PyTorch produces without us writing the derivative. Since , the function is flattening — the horizontal asymptote is not a numerical illusion, it is structural.
Why This Matters — Real-World Stories
🪂 Terminal velocity
The skydiver's speed has horizontal asymptote — the terminal velocity. Every safety chart is an ε-N argument in disguise.
🧬 Logistic growth
Bacteria, tumors, social-network adoption: has horizontal asymptote (the carrying capacity). Long-term forecasts rest on this limit.
📡 Sampling & convergence
“The sample mean converges to the expected value as ” is the law of large numbers — a limit at infinity in the exact sense of this section.
🤖 Learning-rate schedules
In deep learning, cosine and inverse-square-root schedules drive the learning rate to as training steps . The asymptote makes the optimizer stop wobbling near the minimum.
Common Pitfalls
- Plugging in ∞ directly. is not a number. “” is an indeterminate form — the divide-by-highest-power trick resolves it.
- Only checking one direction. and can give different answers. is the canonical example.
- Assuming smoothness means settling. is smooth and bounded but has no limit at infinity — it never commits.
- Confusing numerical proximity with proof. A Python table can suggest a limit but cannot prove one. The ε–N argument is what actually discharges the claim.
Summary
A limit at infinity is a contract between a tolerance and a cut-off : for any challenge the function must promise to live inside an -band around for all . When such a contract exists the horizontal line is the function's horizontal asymptote.
For rational functions, the degree race of numerator and denominator settles the answer immediately. For other functions, we lean on the growth hierarchy or rewrite the expression until every vanishing piece is made visible. Python lets us watch the convergence row by row; PyTorch lets us differentiate through it to confirm the rate. In every application — terminal velocity, logistic growth, law of large numbers, learning-rate decay — the same idea shows up: a process that settles.