A rational function is a function $$f$$ that can be described by

$f(x) = \frac{P(x)}{Q(x)}$ where $$P(x)$$ and $$Q(x)$$ are polynomials, with $$Q(x)$$ not the zero polynomial. Rational functions can generate graphs with asymptotes.

import matplotlib.pyplot as plt
import numpy as np

def rational(x):
return x**2 - 4 / x - 1

y_values = [rational(x) for x in np.linspace(-5, 5)]

plt.scatter(np.linspace(-5, 5), y_values)
plt.axvline(0, linestyle="--", color="gray")

The line $$x = a$$ is a vertical asymptote if any of the following limit statements is true:

• $$\lim_{x \to a^-} f(x) = \infty$$
• $$\lim_{x \to a^-} f(x) = -\infty$$
• $$\lim_{x \to a^+} f(x) = \infty$$
• $$\lim_{x \to a^+} f(x) = -\infty$$

If the limit of the vertical line is approaching infinity from any direction, then line is an asymptote. The graph of a rational function never crosses the asymptote.

The line $$y = b$$ is a horizontal asymptote if either or both of the following limit statement is true:

• $$\lim_{x \to -\infty} f(x) = b$$
• $$\lim_{x \to \infty} f(x) = b$$

The graph of rational function may or may not cross a horizontal asymptote.

A linear asymptote that is neither vertical nor horizontal is called a slant asymptote, or an oblique asymptote.