---
title: Multiple Integrals
module: Functions of Several Variables (Introduction)
moduleNumber: 8
lessonNumber: 5
order: 805
summary: >
  The Riemann integral of a bounded function over a closed rectangle in Euclidean
  space is built from Darboux upper and lower sums on a grid of subrectangles, with
  the same squeeze criterion that governs the one-variable integral. Continuous
  integrands are integrable, and a set of content zero can be ignored. Fubini's
  theorem evaluates a multiple integral as an iterated one in either order, and the
  indicator trick extends the theory to regions bounded by curves.
topics: [Functions of Several Variables (Introduction)]
sources:
  - book: Rosenlicht
    ref: "Ch. X — Multiple Integrals"
  - book: Shkoller
    ref: "§1.2–1.5 Upper and lower Riemann sums, refinement, the integrability criterion (one-dimensional Darboux theory)"
draft: false
---

The [one-variable Riemann integral](/real-analysis/riemann-integration/darboux-integral)
partitions an interval $[a, b]$ and squeezes the area under a graph between lower
and upper sums. Over a closed rectangle in $\mathbb{R}^n$ the same construction
runs with the interval replaced by a box and its subintervals by a grid of
subrectangles. A bounded $f : R \to \mathbb{R}$ is integrable when the two sums
can be brought arbitrarily close, and the number they trap is $\iint_R f$.[^rosen]

## Rectangles, partitions, and Darboux sums

A **closed rectangle** in $\mathbb{R}^n$ is a product of closed intervals
$R = [a_1, b_1] \times \cdots \times [a_n, b_n]$. Partitioning each edge
$[a_i, b_i]$ into finitely many subintervals cuts $R$ into a grid of
**subrectangles**; the collection of these is a partition $P$ of $R$.

> **Definition (Partition and Darboux sums).** Let $R \subseteq \mathbb{R}^n$ be a
> closed rectangle and $f : R \to \mathbb{R}$ bounded. A **partition** $P$ of $R$
> is a grid of subrectangles $\{ R_\alpha \}$ obtained by partitioning each edge.
> Writing $v(R_\alpha)$ for the volume (product of edge lengths) of a subrectangle
> and
>
> $$
> M_\alpha = \sup_{R_\alpha} f, \qquad m_\alpha = \inf_{R_\alpha} f,
> $$
>
> the **upper** and **lower Darboux sums** of $f$ over $P$ are
>
> $$
> U(f, P) = \sum_\alpha M_\alpha\, v(R_\alpha), \qquad L(f, P) = \sum_\alpha m_\alpha\, v(R_\alpha).
> $$

For the two-dimensional case $n = 2$, a subrectangle is a cell $R_\alpha = [x_{i-1},
x_i] \times [y_{j-1}, y_j]$ of area $v(R_\alpha) = \Delta x_i\, \Delta y_j$, and the
upper sum stacks a box of height $M_\alpha$ on each cell, the lower sum a box of
height $m_\alpha$. The graph of $f$ is caught between the two stacks.

$$
% caption: A partition of the rectangle $R$ into subrectangles $R_{ij}$ of area
% $\Delta x_i\,\Delta y_j$; the upper sum uses $\sup f$ on each cell, the lower $\inf f$.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % rectangle grid
  \draw[black] (0,0) rectangle (5,3.2);
  \foreach \x in {1,2,3,4} \draw[black] (\x,0) -- (\x,3.2);
  \foreach \y in {0.8,1.6,2.4} \draw[black] (0,\y) -- (5,\y);
  % highlighted cell
  \fill[acc!14] (2,1.6) rectangle (3,2.4);
  \draw[acc, thick] (2,1.6) rectangle (3,2.4);
  \node[acc] at (2.5,2.0) {$R_{ij}$};
  % edge labels
  \node[black, anchor=north] at (0,0) {$a_1$};
  \node[black, anchor=north] at (5,0) {$b_1$};
  \node[black, anchor=east] at (0,0) {$a_2$};
  \node[black, anchor=east] at (0,3.2) {$b_2$};
  \node[black, anchor=north] at (2.5,-0.15) {cell width};
  \node[black, anchor=west, align=left] at (5.2,2.0) {cell $R_{ij}$};
\end{tikzpicture}
$$

Since $m_\alpha \le M_\alpha$ on every cell, $L(f, P) \le U(f, P)$ for a single
partition. Refining $P$ — adding cut planes — can only raise lower sums and lower
upper sums, exactly as in one variable, because splitting a cell replaces one
$\sup$ (or $\inf$) by cell-wise suprema that fit more tightly.[^shk] Comparing any
two partitions through their common refinement gives the fundamental inequality:
every lower sum is at most every upper sum. The two families therefore have a gap
that no partition crosses.

> **Definition (Upper and lower integrals; integrability).** The **upper** and
> **lower integrals** of $f$ over $R$ are
>
> $$
> \overline{\iint_R} f = \inf_P U(f, P), \qquad \underline{\iint_R} f = \sup_P L(f, P),
> $$
>
> and always $\underline{\iint_R} f \le \overline{\iint_R} f$. The function $f$ is
> **Riemann integrable** on $R$ when the two are equal, and their common value is
> the integral $\iint_R f$.

## The integrability criterion

Testing every partition against the two integrals is unwieldy. The working test is
the same squeeze that serves in one variable: integrability is the existence of a
single partition making the sums close.

> **Theorem (Riemann criterion).** A bounded $f : R \to \mathbb{R}$ is integrable
> on the closed rectangle $R$ if and only if for every $\varepsilon > 0$ there is a
> partition $P$ with
>
> $$
> U(f, P) - L(f, P) < \varepsilon.
> $$

> **Proof.** If such a $P$ exists for every $\varepsilon$, then
> $0 \le \overline{\iint_R} f - \underline{\iint_R} f \le U(f, P) - L(f, P) < \varepsilon$
> for all $\varepsilon > 0$, so the upper and lower integrals coincide and $f$ is
> integrable. Conversely, if $f$ is integrable, then by definition of the infimum
> and supremum there are partitions $P_1, P_2$ with
> $U(f, P_1) < \iint_R f + \tfrac{\varepsilon}{2}$ and
> $L(f, P_2) > \iint_R f - \tfrac{\varepsilon}{2}$. Their common refinement $P$
> satisfies $U(f, P) \le U(f, P_1)$ and $L(f, P) \ge L(f, P_2)$, so
> $U(f, P) - L(f, P) < \varepsilon$. $\blacksquare$

The criterion isolates the object to control: the gap $\sum_\alpha (M_\alpha -
m_\alpha)\, v(R_\alpha)$, the total volume of the boxes trapped between the two
stacks. Two ways of forcing this gap small are the source of every integrability
theorem below — the oscillation $M_\alpha - m_\alpha$ is uniformly small where $f$
is continuous, and the cells where it is not can be given negligible total volume.

## Content zero and continuous integrands

A set that a partition can bury under cells of arbitrarily small total volume
contributes nothing to the gap. This is the higher-dimensional analogue of a
finite set of jump points in one variable.

> **Definition (Content zero).** A set $Z \subseteq \mathbb{R}^n$ has **content
> zero** if for every $\varepsilon > 0$ there are finitely many rectangles
> $S_1, \dots, S_k$ with $Z \subseteq \bigcup_{j} S_j$ and
> $\sum_{j} v(S_j) < \varepsilon$.

A single point has content zero, as does any finite union of content-zero sets.
The graph of a continuous function on $[a, b]$ has content zero in $\mathbb{R}^2$:
uniform continuity keeps the graph inside a chain of thin rectangles of total area
$(b - a)$ times an oscillation that shrinks with the mesh. So the smooth boundary
curves that bound the regions of the next section are negligible.

$$
% caption: A curve of content zero sits inside finitely many rectangles whose total
% area is as small as desired; refining the cover shrinks the trapped area further.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % the curve
  \draw[thick, black] plot[domain=0:6, samples=80] (\x, {1.3 + 0.75*sin(45*\x)});
  \node[black, anchor=west] at (6.05,1.3) {curve $Z$};
  % covering boxes along the curve
  \foreach \x in {0.3,0.9,1.5,2.1,2.7,3.3,3.9,4.5,5.1,5.7} {
    \pgfmathsetmacro\yc{1.3 + 0.75*sin(45*\x)}
    \fill[acc!14] (\x-0.3,\yc-0.42) rectangle (\x+0.3,\yc+0.42);
    \draw[acc, thin] (\x-0.3,\yc-0.42) rectangle (\x+0.3,\yc+0.42);
  }
  \node[acc, anchor=north, align=center] at (3,-0.15) {total box area is small};
\end{tikzpicture}
$$

> **Theorem (Continuous functions are integrable).** If $f$ is continuous on a
> closed rectangle $R$, it is integrable on $R$. More generally, a bounded $f$
> whose set of discontinuities has content zero is integrable on $R$.

The continuous case follows from the Riemann criterion. A continuous function on
the compact rectangle $R$ is uniformly continuous, so given $\varepsilon > 0$ there
is a mesh fine enough that $M_\alpha - m_\alpha < \varepsilon / v(R)$ on every cell.
Summing, $U(f, P) - L(f, P) < \varepsilon$. When the discontinuities have content
zero, cover them by cells of small total volume — where $f$ oscillates by at most
its global bound — and apply uniform continuity on the compact remainder; both
contributions to the gap are small.

## Fubini's theorem

Computing $\iint_R f$ from Darboux sums is impractical. Fubini's theorem reduces a
multiple integral to nested one-variable integrals, evaluated in either order.

> **Theorem (Fubini, continuous integrand).** Let $f$ be continuous on the
> rectangle $R = [a, b] \times [c, d]$. Then
>
> $$
> \iint_R f \,\d A = \int_a^b \left( \int_c^d f(x, y)\,\d y \right) \d x = \int_c^d \left( \int_a^b f(x, y)\,\d x \right) \d y.
> $$

Each inner integral integrates $f$ along one direction, leaving a continuous
function of the free variable that the outer integral then integrates. Geometrically,
$\int_c^d f(x, y)\,\d y$ is the area of the slice of the solid under the graph cut
by the plane at a fixed $x$, and the outer integral sweeps those slice-areas across
$[a, b]$ to accumulate the volume.

$$
% caption: At a fixed $x$ the inner integral $\int_c^d f(x,y)\,\d y$ is the area under
% the slice profile; the outer integral sweeps these areas across $[a,b]$.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % left: rectangle R with a vertical strip
  \begin{scope}
    \draw[black, ->] (-0.2,0) -- (3.6,0) node[right] {$x$};
    \draw[black, ->] (0,-0.2) -- (0,2.9) node[above] {$y$};
    \draw[black] (0,0) rectangle (3.2,2.4);
    \node[black, anchor=south west] at (0.06,0.06) {base R};
    \fill[acc!14] (1.3,0) rectangle (1.7,2.4);
    \draw[acc, thick] (1.3,0) rectangle (1.7,2.4);
    \node[black, anchor=north] at (1.5,-0.25) {one x};
  \end{scope}
  % arrow
  \draw[->, black, very thick] (4.1,1.2) -- (5.1,1.2);
  \node[black, anchor=south, align=center] at (4.6,1.25) {slice\\ at x};
  % right: slice profile with area under it
  \begin{scope}[xshift=6.4cm]
    \draw[black, ->] (-0.2,0) -- (3.4,0) node[right] {$y$};
    \draw[black, ->] (0,-0.2) -- (0,2.9) node[above] {$f$};
    \fill[acc!12] (0.3,0) -- plot[domain=0.3:2.9, samples=40] (\x, {0.8 + 0.5*sin(70*\x) + 0.18*\x}) -- (2.9,0) -- cycle;
    \draw[acc, thick] plot[domain=0.3:2.9, samples=40] (\x, {0.8 + 0.5*sin(70*\x) + 0.18*\x});
    \node[acc, anchor=south] at (1.5,2.2) {slice area};
    \node[black, anchor=north] at (0.3,0) {c};
    \node[black, anchor=north] at (2.9,0) {d};
  \end{scope}
\end{tikzpicture}
$$

> **Worked example (a double integral in both orders).** Integrate
> $f(x, y) = x + y^2$ over $R = [0, 1] \times [0, 2]$. Integrating $y$ first,
>
> $$
> \int_0^1 \left( \int_0^2 (x + y^2)\,\d y \right) \d x = \int_0^1 \left( 2x + \frac{8}{3} \right) \d x = \left[ x^2 + \frac{8}{3}x \right]_0^1 = \frac{11}{3}.
> $$
>
> Integrating $x$ first instead,
>
> $$
> \int_0^2 \left( \int_0^1 (x + y^2)\,\d x \right) \d y = \int_0^2 \left( \frac{1}{2} + y^2 \right) \d y = \left[ \frac{y}{2} + \frac{y^3}{3} \right]_0^2 = \frac{11}{3}.
> $$
>
> Both orders return $\iint_R f = \tfrac{11}{3}$, as Fubini requires.

Continuity is what makes the reduction clean: for continuous $f$ the inner integral
$x \mapsto \int_c^d f(x, y)\,\d y$ is itself a continuous function of $x$, so the
outer integral is an ordinary one-variable Riemann integral. For merely integrable
$f$ the iterated integrals still compute $\iint_R f$ when they exist, but the inner
integral can fail to exist at isolated values of $x$, and the two orders need
separate justification.

## Properties of the integral

The integral over a rectangle inherits, cell by cell from the Darboux sums, the
structural properties of the one-variable integral:

- **Linearity.** $\iint_R (\alpha f + \beta g) = \alpha \iint_R f + \beta \iint_R g$
  for scalars $\alpha, \beta$.
- **Monotonicity.** $f \le g$ on $R$ forces $\iint_R f \le \iint_R g$; taking
  $g = |f|$ gives $\bigl| \iint_R f \bigr| \le \iint_R |f|$.
- **Additivity.** A cut plane splitting $R$ into $R'$ and $R''$ splits the integral,
  $\iint_R f = \iint_{R'} f + \iint_{R''} f$, and the same holds for two regions
  meeting only along a set of content zero.

Each relation holds on every subrectangle and is preserved on passing to the
infimum and supremum over partitions. Additivity is what lets a complicated region
be integrated by cutting it into pieces on which one order of iteration is simple.

## Regions bounded by curves

Rectangles are rarely the domain of interest. The integral over a general bounded
region $D$ is defined by extending $f$ to be zero outside $D$ and integrating the
extension over any rectangle $R \supseteq D$.

> **Definition (Integral over a region).** Let $D \subseteq \mathbb{R}^n$ be
> bounded, $R \supseteq D$ a closed rectangle, and $f : D \to \mathbb{R}$ bounded.
> Extend $f$ by $\tilde f = f \cdot \mathbf{1}_D$, equal to $f$ on $D$ and $0$ on
> $R \setminus D$. Then $f$ is integrable on $D$ with
>
> $$
> \iint_D f = \iint_R \tilde f,
> $$
>
> provided the right side exists; it does not depend on the enclosing rectangle.

The extension $\tilde f$ can be discontinuous only where $f$ is discontinuous or on
the boundary $\partial D$, where the indicator jumps. When $\partial D$ has content
zero — true for a region bounded by finitely many graphs of continuous functions —
the discontinuity set of $\tilde f$ has content zero, so a continuous $f$ on such a
$D$ is integrable.

$$
% caption: A region $D$ embedded in an enclosing rectangle $R$; integrating $f$
% over $D$ means integrating its zero-extension $\tilde f$ over $R$.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  \draw[black] (0,0) rectangle (5,3.4);
  \node[black, anchor=south west] at (0.05,3.05) {$R$};
  \fill[acc!12] plot[smooth cycle, tension=0.8] coordinates {(1.4,0.9) (2.6,0.6) (3.9,1.3) (3.5,2.6) (2.0,2.8) (1.1,2.0)};
  \draw[acc, thick] plot[smooth cycle, tension=0.8] coordinates {(1.4,0.9) (2.6,0.6) (3.9,1.3) (3.5,2.6) (2.0,2.8) (1.1,2.0)};
  \node[acc] at (2.5,1.7) {$D$};
  \node[black, anchor=west, align=left] at (4.1,2.7) {zero\\ outside D};
\end{tikzpicture}
$$

For a region between two curves, Fubini reduces the double integral to an iterated
one whose inner limits are the bounding curves. If
$D = \{ (x, y) : a \le x \le b,\ \varphi_1(x) \le y \le \varphi_2(x) \}$ with
$\varphi_1, \varphi_2$ continuous, then

$$
\iint_D f \,\d A = \int_a^b \left( \int_{\varphi_1(x)}^{\varphi_2(x)} f(x, y)\,\d y \right) \d x,
$$

and symmetrically for a region described by $\psi_1(y) \le x \le \psi_2(y)$. When a
region admits both descriptions, either order computes the same integral, and one
order is often far easier than the other.

$$
% caption: The triangle $0\le y\le x\le 1$ sliced two ways: vertical strips give the
% order $\d y\,\d x$ (inner limits $0$ to $x$), horizontal strips give $\d x\,\d y$.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % left: vertical strips
  \begin{scope}
    \draw[black, ->] (-0.2,0) -- (3.0,0) node[right] {$x$};
    \draw[black, ->] (0,-0.2) -- (0,3.0) node[above] {$y$};
    \fill[acc!12] (0,0) -- (2.4,0) -- (2.4,2.4) -- cycle;
    \draw[acc, thick] (0,0) -- (2.4,0) -- (2.4,2.4) -- cycle;
    \foreach \s in {0.6,1.2,1.8} \draw[acc!70] (\s,0) -- (\s,\s);
    \node[black, anchor=north] at (1.7,-0.2) {vertical strips};
    \node[black, anchor=west] at (2.45,2.4) {$y = x$};
  \end{scope}
  % right: horizontal strips
  \begin{scope}[xshift=5.2cm]
    \draw[black, ->] (-0.2,0) -- (3.0,0) node[right] {$x$};
    \draw[black, ->] (0,-0.2) -- (0,3.0) node[above] {$y$};
    \fill[acc!12] (0,0) -- (2.4,0) -- (2.4,2.4) -- cycle;
    \draw[acc, thick] (0,0) -- (2.4,0) -- (2.4,2.4) -- cycle;
    \foreach \s in {0.6,1.2,1.8} \draw[acc!70] (\s,\s) -- (2.4,\s);
    \node[black, anchor=north] at (1.7,-0.2) {horizontal strips};
    \node[black, anchor=west] at (2.45,2.4) {$y = x$};
  \end{scope}
\end{tikzpicture}
$$

> **Worked example (swapping the order over a triangle).** Let $T$ be the triangle
> with vertices $(0,0)$, $(1,0)$, $(1,1)$, described as
> $T = \{ 0 \le x \le 1,\ 0 \le y \le x \}$ or as
> $T = \{ 0 \le y \le 1,\ y \le x \le 1 \}$. Integrate $f(x, y) = x + y$ both ways.
> With vertical strips,
>
> $$
> \int_0^1 \int_0^x (x + y)\,\d y\,\d x = \int_0^1 \left[ xy + \frac{y^2}{2} \right]_0^x \d x = \int_0^1 \frac{3}{2}x^2\,\d x = \frac{1}{2}.
> $$
>
> With horizontal strips,
>
> $$
> \int_0^1 \int_y^1 (x + y)\,\d x\,\d y = \int_0^1 \left[ \frac{x^2}{2} + yx \right]_y^1 \d y = \int_0^1 \left( \frac{1}{2} + y - \frac{3}{2}y^2 \right) \d y = \frac{1}{2}.
> $$
>
> The two orders agree at $\iint_T f = \tfrac{1}{2}$, and each inner limit is read
> off the description of $T$ in the matching variable.

## Summary

The multiple integral over a rectangle is the one-variable Darboux construction
with subrectangles in place of subintervals; the squeeze criterion, content-zero
negligible sets, and integrability of continuous functions all carry over. Fubini's
theorem turns the integral into iterated one-variable integrals in either order,
and the zero-extension carries the theory to regions bounded by continuous curves.

| Ingredient | One variable | Rectangle in $\mathbb{R}^n$ |
| --- | --- | --- |
| domain piece | subinterval, length $\Delta x_i$ | subrectangle, volume $v(R_\alpha)$ |
| test | $U - L < \varepsilon$ | $U - L < \varepsilon$ |
| negligible set | finite set of points | set of content zero |
| continuous $f$ | integrable | integrable |
| evaluation | antiderivative (FTC) | iterated integrals (Fubini) |

[^rosen]: **Rosenlicht**, _Introduction to Analysis_, Ch. X — Multiple Integrals: the Riemann integral over a rectangle via upper and lower sums, sets of content zero, integrability of continuous functions, reduction to iterated integrals, and integration over regions bounded by graphs.
[^shk]: **Shkoller**, _MAT125B Lecture Notes_, §1.2–1.5 (upper and lower Riemann sums, the refinement of a partition, and the integrability criterion $U(f,P) - L(f,P) < \varepsilon$) for the one-dimensional Darboux theory extended here to a closed rectangle.
