# Nakafa Framework: LLM

URL: /en/subject/high-school/11/mathematics/function-modeling/asymptote
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/high-school/11/mathematics/function-modeling/asymptote/en.mdx

Output docs content for large language models.

---

import { LineEquation } from "@repo/design-system/components/contents/line-equation";
import { getColor } from "@repo/design-system/lib/color";

export const metadata = {
  title: "Asymptote",
  description: "Discover vertical, horizontal, and oblique asymptotes with step-by-step examples and interactive visualizations. Master rational function graphing techniques.",
  authors: [{ name: "Nabil Akbarazzima Fatih" }],
  date: "05/18/2025",
  subject: "Functions and Their Modeling",
};

## What is an Asymptote?

Have you ever noticed a function graph that approaches a line but never touches it? Well, that line is called an **asymptote**!

An asymptote is a straight line that is approached by a function graph when its variable value approaches infinity or approaches a certain value. Imagine like you're walking towards a wall but never actually touching it, that's the concept of an asymptote.

## Types of Asymptotes

There are three types of asymptotes you need to know:

### Vertical Asymptote

A vertical asymptote is a vertical line that the graph approaches when the function value approaches positive or negative infinity.

**Definition:** The line <InlineMath math="x = a" /> is a vertical asymptote if:

- When <InlineMath math="x" /> approaches <InlineMath math="a" /> from the left, <InlineMath math="f(x) \to \pm\infty" />
- When <InlineMath math="x" /> approaches <InlineMath math="a" /> from the right, <InlineMath math="f(x) \to \pm\infty" />

**How to find:** For rational functions, vertical asymptotes occur when denominator = 0 (and numerator ≠ 0), or when <InlineMath math="Q(x) = 0" /> and <InlineMath math="P(x) \neq 0" />.

### Horizontal Asymptote

A horizontal asymptote is a horizontal line that the graph approaches when <InlineMath math="x" /> approaches positive or negative infinity.

**Definition:** The line <InlineMath math="y = b" /> is a horizontal asymptote if:

- <InlineMath math="\lim_{x \to \infty} f(x) = b" />
- <InlineMath math="\lim_{x \to -\infty} f(x) = b" />

### Oblique Asymptote (Oblique)

An oblique asymptote is a slanted line that the graph approaches when <InlineMath math="x" /> approaches infinity.

**Definition:** The line <InlineMath math="y = mx + c" /> is an oblique asymptote if:

<BlockMath math="\lim_{x \to \pm\infty} [f(x) - (mx + c)] = 0" />

## Asymptotes in Rational Functions

Let's focus on rational functions <InlineMath math="f(x) = \frac{P(x)}{Q(x)}" /> where <InlineMath math="P(x)" /> and <InlineMath math="Q(x)" /> are polynomials.

### Finding Vertical Asymptotes

**Steps:**

1. Find the value of <InlineMath math="x" /> that makes <InlineMath math="Q(x) = 0" />
2. Check if <InlineMath math="P(x) \neq 0" /> at that value
3. If yes, then there is a vertical asymptote at <InlineMath math="x = a" />

**Example:** Determine the vertical asymptote of <InlineMath math="f(x) = \frac{x + 3}{x - 2}" />

**Solution:**

- Denominator is zero when: <InlineMath math="x - 2 = 0" />, so <InlineMath math="x = 2" />
- When <InlineMath math="x = 2" />, numerator = <InlineMath math="2 + 3 = 5 \neq 0" />
- Therefore, vertical asymptote: <InlineMath math="x = 2" />

Let's look at the function behavior around the vertical asymptote:

| <InlineMath math="x" />    | <InlineMath math="f(x) = \frac{x + 3}{x - 2}" />                       | Description                              |
| -------------------------- | ---------------------------------------------------------------------- | ---------------------------------------- |
| <InlineMath math="1.9" />  | <InlineMath math="\frac{1.9 + 3}{1.9 - 2} = \frac{4.9}{-0.1} = -49" /> | Approaches <InlineMath math="-\infty" /> |
| <InlineMath math="1.99" /> | <InlineMath math="\frac{4.99}{-0.01} = -499" />                        | Getting more negative                    |
| <InlineMath math="2.01" /> | <InlineMath math="\frac{5.01}{0.01} = 501" />                          | Approaches <InlineMath math="+\infty" /> |
| <InlineMath math="2.1" />  | <InlineMath math="\frac{5.1}{0.1} = 51" />                             | Getting more positive                    |

<LineEquation
  title={
    <>
      Graph of <InlineMath math="f(x) = \frac{x + 3}{x - 2}" /> with Vertical
      Asymptote
    </>
  }
  description={
    <>
      Notice how the graph approaches the vertical line{" "}
      <InlineMath math="x = 2" /> without ever touching it.
    </>
  }
  data={[
    {
      points: [
        { x: -2, y: 0.25, z: 0 },
        { x: -1, y: 0.67, z: 0 },
        { x: 0, y: 1.5, z: 0 },
        { x: 1, y: 4, z: 0 },
        { x: 1.5, y: 9, z: 0 },
        { x: 1.8, y: 29, z: 0 },
        { x: 1.9, y: 49, z: 0 },
      ],
      color: getColor("PURPLE"),
      showPoints: false,
      labels: [{ text: "x → 2^{-}", at: 1, offset: [-1, 0.5, 0] }],
    },
    {
      points: [
        { x: 2.1, y: 51, z: 0 },
        { x: 2.2, y: 31, z: 0 },
        { x: 2.5, y: 11, z: 0 },
        { x: 3, y: 6, z: 0 },
        { x: 4, y: 3.5, z: 0 },
        { x: 5, y: 2.67, z: 0 },
        { x: 6, y: 2.25, z: 0 },
      ],
      color: getColor("PURPLE"),
      showPoints: false,
      labels: [{ text: "x → 2^{+}", at: 6, offset: [0.5, -0.5, 0] }],
    },
    {
      points: [
        { x: 2, y: -50, z: 0 },
        { x: 2, y: 0, z: 0 },
        { x: 2, y: 50, z: 0 },
      ],
      color: getColor("ORANGE"),
      showPoints: false,
      labels: [{ text: "x = 2", at: 1, offset: [1, -0.5, 0] }],
    },
  ]}
  cameraPosition={[10, 6, 10]}
  showZAxis={false}
/>

### Finding Horizontal Asymptotes

**Rules for rational functions:**

Let the degree of numerator = <InlineMath math="m" /> and degree of denominator = <InlineMath math="n" />

1. If <InlineMath math="m < n" />: Horizontal asymptote is <InlineMath math="y = 0" />
2. If <InlineMath math="m = n" />: Horizontal asymptote is <InlineMath math="y = \frac{a}{b}" /> (ratio of leading coefficients)
3. If <InlineMath math="m > n" />: No horizontal asymptote (but there might be an oblique asymptote)

**Example:** Determine the horizontal asymptote of:

1. <InlineMath math="f(x) = \frac{2x + 1}{x^2 - 4}" />

   **Solution:**

   - Degree of numerator = 1, degree of denominator = 2
   - Since 1 < 2, horizontal asymptote: <InlineMath math="y = 0" />

2. <InlineMath math="g(x) = \frac{3x^2 - 1}{2x^2 + 5}" />

   **Solution:**

   - Degree of numerator = 2, degree of denominator = 2
   - Since degrees are equal, horizontal asymptote: <InlineMath math="y = \frac{3}{2}" />

Let's see how the function approaches the horizontal asymptote:

| <InlineMath math="x" />    | <InlineMath math="g(x) = \frac{3x^2 - 1}{2x^2 + 5}" />                              | Approaches                |
| -------------------------- | ----------------------------------------------------------------------------------- | ------------------------- |
| <InlineMath math="10" />   | <InlineMath math="\frac{3(100) - 1}{2(100) + 5} = \frac{299}{205} \approx 1.459" /> | <InlineMath math="1.5" /> |
| <InlineMath math="100" />  | <InlineMath math="\frac{29999}{20005} \approx 1.4997" />                            | <InlineMath math="1.5" /> |
| <InlineMath math="1000" /> | <InlineMath math="\frac{2999999}{2000005} \approx 1.49997" />                       | <InlineMath math="1.5" /> |

<LineEquation
  title={
    <>
      Graph of <InlineMath math="g(x) = \frac{3x^2 - 1}{2x^2 + 5}" /> with
      Horizontal Asymptote
    </>
  }
  description={
    <>
      The graph approaches <InlineMath math="y = 1.5" /> when{" "}
      <InlineMath math="x \to \pm\infty" />.
    </>
  }
  data={[
    {
      points: Array.from({ length: 40 }, (_, i) => {
        const x = -10 + i * 0.5;
        const y = (3 * x * x - 1) / (2 * x * x + 5);
        return { x, y, z: 0 };
      }),
      color: getColor("TEAL"),
      showPoints: false,
    },
    {
      points: [
        { x: -10, y: 1.5, z: 0 },
        { x: 0, y: 1.5, z: 0 },
        { x: 10, y: 1.5, z: 0 },
      ],
      color: getColor("AMBER"),
      showPoints: false,
      labels: [{ text: "y = 1.5", at: 1, offset: [2, 0.5, 0] }],
    },
  ]}
  cameraPosition={[10, 6, 10]}
  showZAxis={false}
/>

### Finding Oblique Asymptotes

Oblique asymptotes appear when the degree of numerator = degree of denominator + 1.

**How to find:** Perform polynomial division.

**Example:** Determine the oblique asymptote of <InlineMath math="f(x) = \frac{x^2 + 2x - 1}{x - 1}" />

**Solution:**
Using polynomial division:

<div className="flex flex-col gap-4">
  <BlockMath math="f(x) = \frac{x^2 + 2x - 1}{x - 1} = x + 3 + \frac{2}{x - 1}" />
</div>

When <InlineMath math="x \to \pm\infty" />, the term <InlineMath math="\frac{2}{x - 1} \to 0" />

Therefore, oblique asymptote: <InlineMath math="y = x + 3" />

<LineEquation
  title={
    <>
      Graph of <InlineMath math="f(x) = \frac{x^2 + 2x - 1}{x - 1}" /> with
      Oblique Asymptote
    </>
  }
  description={
    <>
      The graph approaches the line <InlineMath math="y = x + 3" /> when{" "}
      <InlineMath math="x \to \pm\infty" />.
    </>
  }
  data={[
    {
      points: Array.from({ length: 30 }, (_, i) => {
        const x = -8 + i * 0.3;
        if (Math.abs(x - 1) < 0.1) return null;
        const y = (x * x + 2 * x - 1) / (x - 1);
        return { x, y, z: 0 };
      }).filter((p) => p !== null),
      color: getColor("PURPLE"),
      showPoints: false,
    },
    {
      points: Array.from({ length: 30 }, (_, i) => {
        const x = 1.3 + i * 0.3;
        const y = (x * x + 2 * x - 1) / (x - 1);
        return { x, y, z: 0 };
      }),
      color: getColor("PURPLE"),
      showPoints: false,
    },
    {
      points: [
        { x: -8, y: -5, z: 0 },
        { x: 0, y: 3, z: 0 },
        { x: 10, y: 13, z: 0 },
      ],
      color: getColor("PINK"),
      showPoints: false,
      labels: [{ text: "y = x + 3", at: 1, offset: [3, 1.5, 0] }],
    },
    {
      points: [
        { x: 1, y: -10, z: 0 },
        { x: 1, y: 0, z: 0 },
        { x: 1, y: 15, z: 0 },
      ],
      color: getColor("ORANGE"),
      showPoints: false,
      labels: [{ text: "x = 1", at: 1, offset: [1, -0.5, 0] }],
    },
  ]}
  cameraPosition={[10, 6, 10]}
  showZAxis={false}
/>

## Drawing Graphs with Asymptotes

Asymptotes are very helpful in drawing function graphs. Here are the steps:

1. **Determine all asymptotes** (vertical, horizontal, or oblique)
2. **Draw asymptotes with dashed lines**
3. **Find intercepts** with the axes
4. **Determine some additional points**
5. **Draw the curve** that approaches the asymptotes

**Complete Example:** Draw the graph of <InlineMath math="f(x) = \frac{x + 1}{x - 2}" />

**Step 1:** Find asymptotes

- Vertical asymptote: <InlineMath math="x = 2" /> (denominator = 0)
- Horizontal asymptote: <InlineMath math="y = 1" /> (same degree, coefficient ratio = 1/1)

**Step 2:** Intercepts

- y-axis: <InlineMath math="f(0) = \frac{0 + 1}{0 - 2} = -\frac{1}{2}" />
- x-axis: <InlineMath math="0 = \frac{x + 1}{x - 2}" />, so <InlineMath math="x = -1" />

**Step 3:** Behavior around asymptotes

- When <InlineMath math="x \to 2^-" />: <InlineMath math="f(x) \to -\infty" />
- When <InlineMath math="x \to 2^+" />: <InlineMath math="f(x) \to +\infty" />
- When <InlineMath math="x \to \pm\infty" />: <InlineMath math="f(x) \to 1" />

**Step 4:** Value table to help with drawing

| <InlineMath math="x" />  | <InlineMath math="f(x) = \frac{x + 1}{x - 2}" />                  | Description                      |
| ------------------------ | ----------------------------------------------------------------- | -------------------------------- |
| <InlineMath math="-3" /> | <InlineMath math="\frac{-3 + 1}{-3 - 2} = \frac{-2}{-5} = 0.4" /> | Point in quadrant I              |
| <InlineMath math="-1" /> | <InlineMath math="\frac{-1 + 1}{-1 - 2} = \frac{0}{-3} = 0" />    | x-axis intercept                 |
| <InlineMath math="0" />  | <InlineMath math="\frac{0 + 1}{0 - 2} = \frac{1}{-2} = -0.5" />   | y-axis intercept                 |
| <InlineMath math="1" />  | <InlineMath math="\frac{1 + 1}{1 - 2} = \frac{2}{-1} = -2" />     | Approaching vertical asymptote   |
| <InlineMath math="3" />  | <InlineMath math="\frac{3 + 1}{3 - 2} = \frac{4}{1} = 4" />       | Right of asymptote               |
| <InlineMath math="5" />  | <InlineMath math="\frac{5 + 1}{5 - 2} = \frac{6}{3} = 2" />       | Approaching horizontal asymptote |

<LineEquation
  title={
    <>
      Complete Graph of <InlineMath math="f(x) = \frac{x + 1}{x - 2}" />
    </>
  }
  description={
    <>
      Graph with vertical asymptote <InlineMath math="x = 2" /> and horizontal
      asymptote <InlineMath math="y = 1" />.
    </>
  }
  data={[
    {
      points: Array.from({ length: 40 }, (_, i) => {
        const x = -5 + i * 0.175;
        if (Math.abs(x - 2) < 0.05) return null;
        const y = (x + 1) / (x - 2);
        if (Math.abs(y) > 20) return null;
        return { x, y, z: 0 };
      }).filter((p) => p !== null),
      color: getColor("SKY"),
      showPoints: false,
    },
    {
      points: Array.from({ length: 40 }, (_, i) => {
        const x = 2.05 + i * 0.175;
        const y = (x + 1) / (x - 2);
        if (Math.abs(y) > 20) return null;
        return { x, y, z: 0 };
      }).filter((p) => p !== null),
      color: getColor("SKY"),
      showPoints: false,
    },
    {
      points: [
        { x: 2, y: -20, z: 0 },
        { x: 2, y: 0, z: 0 },
        { x: 2, y: 20, z: 0 },
      ],
      color: getColor("ORANGE"),
      showPoints: false,
      labels: [{ text: "x = 2", at: 1, offset: [2, -0.5, 0] }],
    },
    {
      points: [
        { x: -5, y: 1, z: 0 },
        { x: 0, y: 1, z: 0 },
        { x: 9, y: 1, z: 0 },
      ],
      color: getColor("AMBER"),
      showPoints: false,
      labels: [{ text: "y = 1", at: 1, offset: [1, 0.5, 0] }],
    },
    {
      points: [{ x: -1, y: 0, z: 0 }],
      color: getColor("TEAL"),
      showPoints: true,
      labels: [{ text: "(-1, 0)", at: 0, offset: [-1, -0.5, 0] }],
    },
    {
      points: [{ x: 0, y: -0.5, z: 0 }],
      color: getColor("TEAL"),
      showPoints: true,
      labels: [{ text: "(0, -0.5)", at: 0, offset: [-1.5, -1, 0] }],
    },
  ]}
  cameraPosition={[10, 6, 10]}
  showZAxis={false}
/>

## Practice Problems

1. Determine all asymptotes of <InlineMath math="f(x) = \frac{2x^2 - 3x + 1}{x - 3}" />

2. Determine the asymptotes of <InlineMath math="g(x) = \frac{x^2 - 4}{x^2 - 9}" />

3. The average cost function of a product is <InlineMath math="C(x) = \frac{500 + 3x}{x}" />. Determine the minimum cost per unit that can be achieved.

4. Draw a sketch of the graph <InlineMath math="h(x) = \frac{x}{x^2 - 1}" /> complete with its asymptotes.

### Answer Key

**Answer 1:**

- Degree of numerator (2) = degree of denominator (1) + 1
- There is an oblique asymptote. By division: <InlineMath math="f(x) = 2x + 3 + \frac{10}{x - 3}" />
- Vertical asymptote: <InlineMath math="x = 3" />
- Oblique asymptote: <InlineMath math="y = 2x + 3" />

**Answer 2:**

- Vertical asymptote: <InlineMath math="x^2 - 9 = 0" />, so <InlineMath math="x = 3" /> and <InlineMath math="x = -3" />
- But when <InlineMath math="x = 2" />, numerator = 0, so <InlineMath math="x = 2" /> is not an asymptote
- When <InlineMath math="x = -2" />, numerator = 0, so <InlineMath math="x = -2" /> is not an asymptote
- Horizontal asymptote: <InlineMath math="y = 1" /> (same degree, ratio = 1/1)

**Answer 3:**

<BlockMath math="C(x) = \frac{500 + 3x}{x} = \frac{500}{x} + 3" />
When <InlineMath math="x \to \infty" />, <InlineMath math="\frac{500}{x} \to 0" />
So minimum cost per unit = 3

**Answer 4:**

- Vertical asymptotes: <InlineMath math="x = 1" /> and <InlineMath math="x = -1" />
- Horizontal asymptote: <InlineMath math="y = 0" /> (degree of numerator < degree of denominator)
- The graph has three separate parts due to two vertical asymptotes

Value table for <InlineMath math="h(x) = \frac{x}{x^2 - 1}" />:

| <InlineMath math="x" />    | <InlineMath math="h(x)" />                              | Description |
| -------------------------- | ------------------------------------------------------- | ----------- |
| <InlineMath math="-2" />   | <InlineMath math="\frac{-2}{4-1} = -\frac{2}{3}" />     | Left part   |
| <InlineMath math="-0.5" /> | <InlineMath math="\frac{-0.5}{0.25-1} = \frac{2}{3}" /> | Middle part |
| <InlineMath math="0" />    | <InlineMath math="\frac{0}{0-1} = 0" />                 | Intercept   |
| <InlineMath math="0.5" />  | <InlineMath math="\frac{0.5}{0.25-1} = -\frac{2}{3}" /> | Middle part |
| <InlineMath math="2" />    | <InlineMath math="\frac{2}{4-1} = \frac{2}{3}" />       | Right part  |

<LineEquation
  title={
    <>
      Graph of <InlineMath math="h(x) = \frac{x}{x^2 - 1}" /> with Two Vertical
      Asymptotes
    </>
  }
  description={
    <>
      Graph with vertical asymptotes at <InlineMath math="x = -1" /> and{" "}
      <InlineMath math="x = 1" />, and horizontal asymptote{" "}
      <InlineMath math="y = 0" />.
    </>
  }
  data={[
    {
      points: Array.from({ length: 20 }, (_, i) => {
        const x = -3 + i * 0.095;
        const y = x / (x * x - 1);
        if (Math.abs(y) > 10) return null;
        return { x, y, z: 0 };
      }).filter((p) => p !== null),
      color: getColor("PURPLE"),
      showPoints: false,
    },
    {
      points: Array.from({ length: 20 }, (_, i) => {
        const x = -0.95 + i * 0.09;
        const y = x / (x * x - 1);
        if (Math.abs(y) > 10) return null;
        return { x, y, z: 0 };
      }).filter((p) => p !== null),
      color: getColor("PURPLE"),
      showPoints: false,
    },
    {
      points: Array.from({ length: 20 }, (_, i) => {
        const x = 1.05 + i * 0.095;
        const y = x / (x * x - 1);
        if (Math.abs(y) > 10) return null;
        return { x, y, z: 0 };
      }).filter((p) => p !== null),
      color: getColor("PURPLE"),
      showPoints: false,
    },
    {
      points: [
        { x: -1, y: -10, z: 0 },
        { x: -1, y: 0, z: 0 },
        { x: -1, y: 10, z: 0 },
      ],
      color: getColor("ORANGE"),
      showPoints: false,
      labels: [{ text: "x = -1", at: 1, offset: [-2, 1, 0] }],
    },
    {
      points: [
        { x: 1, y: -10, z: 0 },
        { x: 1, y: 0, z: 0 },
        { x: 1, y: 10, z: 0 },
      ],
      color: getColor("ORANGE"),
      showPoints: false,
      labels: [{ text: "x = 1", at: 1, offset: [2, -0.5, 0] }],
    },
    {
      points: [
        { x: -3, y: 0, z: 0 },
        { x: 0, y: 0, z: 0 },
        { x: 3, y: 0, z: 0 },
      ],
      color: getColor("AMBER"),
      showPoints: false,
      labels: [{ text: "y = 0", at: 1, offset: [1, 0.5, 0] }],
    },
  ]}
  cameraPosition={[10, 6, 10]}
  showZAxis={false}
/>
