The dual space is itself a Banach space, so it has a weak topology. But that weak topology requires the bidual , which can be enormous. The weak* topology sidesteps the bidual entirely by testing only against elements of . This gives a coarser topology with fewer open sets, making compactness easier, and leads to the Banach-Alaoglu theorem.
We now want a weak-type topology on the dual space , for the same reason we wanted one on : to gain compactness. Since is a Banach space in its own right, the most natural first attempt is to apply the same construction as before. Weak convergence of a sequence in would then mean
This requires testing against every element of the bidual .
Example 1 (The bidual can be much larger than )
Recall the duality chain from Example 5: for , and . To check weak convergence of a sequence in , we would need to test against every element of .
Each gives an element of via the canonical embedding , and testing against just means evaluating , which is concrete: we point the instrument at the object and read off the result.
But also contains elements not in . Consider . Its action on is . This is a perfectly valid bounded linear functional on , but it does not come from the canonical embedding: there is no with , since does not converge to zero. Requiring convergence against such “phantom” test functionals is a strictly stronger demand, and it makes compactness harder to achieve.
Now recall the canonical embedding , which identifies each with the evaluation functional . Every element of already lives inside . So instead of testing against all of , we could test against just : ask only that
This is weaker (we test against fewer functionals), but it has two advantages. First, it uses only elements of , which we already understand. Second, because the topology is coarser (fewer open sets, fewer open covers), compactness becomes easier.
The weak* topology¶
Definition 1 (Weak* topology)
The weak* topology on , denoted , is the coarsest topology making every evaluation map , , continuous. A basis of open neighborhoods of is:
where and .
Continuity of requires preimages of open sets to be open. Every open set in is a union of open intervals, and is a slab in . So any topology making all evaluation maps continuous must contain all such slabs. The coarsest such topology is the one generated by the slabs alone. A weak* slab constrains the values of on finitely many test objects.
Example 2 (The weak* topology on )
Take (sequences converging to 0 with sup norm). Its dual is with for , .
The norm ball in is , the familiar cross-polytope (diamond) in finite-dimensional slices.
Now take the test object . The evaluation defines a weak* slab
This slab constrains only the first component of . A sequence like has (inside the slab) but (outside the norm ball).
More generally, the weak* neighborhood constrains the first components but places no restriction on for . In infinite dimensions, every weak* neighborhood of 0 is unbounded in .
Where weak* sits: the hierarchy of topologies¶
The weak* topology is one of three natural topologies on . The canonical embedding mediates between them: each defines an evaluation functional by .
The weak* topology on is : slabs come from for .
The weak topology on is : slabs come from all , including those not in .
The norm topology on uses norm balls.
Since , every weak* open set is also weakly open, and every weakly open set is norm-open. More test functionals means more slabs, which means more open sets:
Each inclusion means “coarser than or equal to.” The first inclusion is strict when is not reflexive (there exist elements of that generate extra slabs). When is reflexive, and the weak* and weak topologies on coincide.
Example 3 ()
Take . Then and . The canonical embedding sends to the same sequence viewed in . Since (e.g., the constant sequence ), the space is not reflexive.
The weak* topology on uses slabs from : neighborhoods constrain for . The weak topology on uses slabs from : neighborhoods can additionally constrain against sequences that do not converge to 0. The weak topology is strictly finer, with more open sets and therefore fewer compact sets.
Remark 1 (The compactness payoff)
The coarser the topology, the easier it is for sets to be compact. This is why compactness improves as we move left in the chain:
Norm topology: the closed unit ball of is compact only if is finite-dimensional.
Weak topology on : the closed unit ball is compact if and only if is reflexive.
Weak* topology on : the closed unit ball is always compact (Banach-Alaoglu).
The weak* topology is the coarsest of the three, so it is the easiest setting for compactness. This is exactly why Banach-Alaoglu works without any reflexivity assumption.
Weak* convergence¶
Definition 2 (Weak* convergence)
Let be a normed space and let be a sequence in . We say (weak* convergence) if
Now the picture flips: each is an instrument, and the sequence is a sequence of instruments, not objects. Think of replacing your entire measurement apparatus, swapping one thermometer for another, one scale for another. Fix any object and read off . Weak* convergence means these readings stabilize to for every fixed object. Geometrically, each defines a different foliation (different isotherms), and these foliations rearrange from step to step, but at every fixed point the height reading converges.
Proposition 1 (Strong convergence in implies weak* convergence)
Let be a normed space. If in the norm of , then .
Proof 1
Proposition 2 (Weak convergence in implies weak* convergence)
Let be a normed space. If weakly in , then .
Proof 2
Weak convergence in means for every . For any , the canonical image acts by . In particular,
Since , weak convergence tests against a larger set of functionals than weak* convergence, so the former implies the latter.
In summary:
and neither arrow reverses in general. When is reflexive ( is surjective), the last two notions coincide.
Example 4 (Weak* convergent but not weakly convergent in )
Take , so and . The standard basis vectors converge weak* to 0: for any ,
since means . But does not converge weakly to 0 in . The element satisfies
so . This is precisely the kind of “phantom” test functional in from Example 1: it does not correspond to any object in , but it detects the non-convergence.
Visualizing weak* convergence in ¶
Consider on . Each has kernel line , which slowly rotates toward the -axis as . For any fixed point :
where . The foliations converge pointwise: at each location, the height readings stabilize, even though the kernel lines are visibly rotating from picture to picture.
As with weak convergence, the picture is a visual scaffold: in finite dimensions weak* = weak = strong, so the foliations converge uniformly, not just pointwise. The genuine weak* phenomenon, where pointwise convergence of height readings does not imply uniform convergence, requires infinite dimensions. The top row below shows the geometry (rotating level sets), but the real content is in the bottom row: height readings at fixed test points stabilizing one by one.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
fig, axes = plt.subplots(2, 3, figsize=(15, 10))
# Top row: the foliations f_n for n = 2, 4, ∞
square_verts = np.array([[-1, -1], [1, -1], [1, 1], [-1, 1]])
# Fixed test points
test_points = [
(1.5, 0.8, r'$p_1$', 'C3'),
(-0.5, 1.2, r'$p_2$', 'C2'),
(0.8, -0.6, r'$p_3$', 'C4'),
]
n_values = [2, 4, None] # None = limit f(x,y) = x
titles_top = [r'$f_2 = \frac{1}{2}x + \frac{1}{2}y$',
r'$f_4 = \frac{3}{4}x + \frac{1}{4}y$',
r'$f = x$ (limit)']
for idx, (n_val, title) in enumerate(zip(n_values, titles_top)):
ax = axes[0, idx]
# Draw unit square
sq = Polygon(square_verts, fill=True, facecolor='C0', alpha=0.08,
edgecolor='C0', lw=1.5)
ax.add_patch(sq)
t = np.linspace(-2.5, 2.5, 200)
if n_val is not None:
a = 1 - 1/n_val
b = 1/n_val
# Draw level sets: a*x + b*y = level
for level in np.arange(-3, 3.5, 0.5):
y_line = (level - a * t) / b
mask = (y_line > -2.5) & (y_line < 2.5)
lw = 1.5 if abs(level - round(level)) < 0.01 and level == int(level) else 0.6
alpha_val = 0.5 if lw > 1 else 0.15
color = 'C3' if abs(level) < 0.01 else 'gray'
ax.plot(t[mask], y_line[mask], color=color, alpha=alpha_val, lw=lw)
else:
a, b = 1.0, 0.0
# Limit: f(x,y) = x, level sets are vertical lines x = level
for level in np.arange(-3, 3.5, 0.5):
if -2.5 < level < 2.5:
lw = 1.5 if abs(level - round(level)) < 0.01 and level == int(level) else 0.6
alpha_val = 0.5 if lw > 1 else 0.15
color = 'C3' if abs(level) < 0.01 else 'gray'
ax.axvline(level, color=color, alpha=alpha_val, lw=lw)
# Plot test points with their heights
for (px, py, label, color) in test_points:
height = a * px + b * py
ax.plot(px, py, 'o', color=color, ms=7, zorder=10)
ax.text(px + 0.08, py + 0.12, f'{label}: {height:.2f}', fontsize=9, color=color)
ax.set_xlim(-2.2, 2.2)
ax.set_ylim(-2.2, 2.2)
ax.set_aspect('equal')
ax.set_title(title, fontsize=12)
ax.set_xlabel(r'$x$')
ax.set_ylabel(r'$y$')
# Bottom row: height readings at each test point as n varies
n_range = np.arange(2, 20)
for idx, (px, py, label, color) in enumerate(test_points):
ax = axes[1, idx]
heights = [(1 - 1/n) * px + (1/n) * py for n in n_range]
limit = px # f(x,y) = x
ax.plot(n_range, heights, 'o-', color=color, ms=5, lw=1.5)
ax.axhline(limit, color=color, ls='--', lw=2, alpha=0.6,
label=f'limit $f({label[1:-1]}) = {limit}$')
ax.set_xlabel(r'$n$')
ax.set_ylabel(f'$f_n({label[1:-1]})$')
ax.set_title(f'Height readings at {label}', fontsize=11)
ax.legend(fontsize=9)
ax.set_ylim(min(min(heights), limit) - 0.3, max(max(heights), limit) + 0.3)
plt.suptitle(r'Weak* convergence: foliations rotate, height readings stabilize at each point',
fontsize=13, y=1.01)
plt.tight_layout()
plt.show()
Top row: the level sets of rotate as increases. For the level sets are diagonal; by they are nearly vertical; at the limit they are exactly vertical. Bottom row: for each fixed test point, the height reading converges to the limiting value . This is weak* convergence: the foliations rearrange, but at every fixed point the readings stabilize.
The Banach-Alaoglu theorem¶
We claimed that the weak* topology makes compactness easier. The following theorem delivers on this promise: the closed unit ball of is always weak* compact, for any normed space .
The intuition is simple. Each is determined by its readings on all objects, and since , each reading satisfies , so . An instrument is a choice of one bounded number per object. Given a sequence of instruments, focus on a single object : the readings are bounded, so Bolzano-Weierstrass gives a convergent subsequence. Extract a further subsequence to make the readings converge at , then , and so on.
This is the same diagonal argument behind Arzelà-Ascoli and compact operators: whenever there are countably many coordinates to control, Bolzano-Weierstrass plus diagonalization does the job. If is separable, a countable dense subset provides the coordinates, and the argument goes through.
We give the full proof for separable spaces, then state the general result.
Theorem 1 (Banach-Alaoglu (separable case))
Let be a separable Banach space and a bounded sequence with . Then has a weak* convergent subsequence.
Proof 3
Step 1: set up the countable dense subset. Since is separable, there exists a countable dense subset .
Step 2: successive extraction. Evaluate the sequence at . Since for all , the sequence is bounded in . By Bolzano-Weierstrass, extract a convergent subsequence:
Now evaluate this subsequence at . The numbers are again bounded, so extract a further subsequence:
The second subsequence still converges at because it is a subsequence of something that already converged there. Continue: at stage , extract a subsequence that converges at . This gives nested subsequences:
Step 3: the diagonal trick. Define , the -th element of the -th subsequence. For any fixed and , the element belongs to the -th subsequence, which is a sub-subsequence of the -th subsequence. So the tail is a subsequence of the -th extracted sequence, which converges at . Since finitely many initial terms do not affect convergence, converges for every . Call the limit .
Step 4: extend from the dense subset to all of . Take arbitrary . Given , pick from the dense subset with . Then:
The first and third terms are bounded by each. The middle term is less than for large enough since converges. So for sufficiently large. The sequence is Cauchy in , hence convergent. Define .
Step 5: the limit is in . Linearity of follows from linearity of each and limits. Boundedness follows from , so and . By construction for all , which is exactly .
Leonidas Alaoglu extended this result to non-separable spaces in his 1938 PhD thesis at the University of Chicago, replacing the diagonal argument with Tychonoff’s theorem.
Remark 2 (The general (non-separable) case)
For arbitrary normed spaces, the theorem states that is compact (not just sequentially compact) in the weak* topology. The proof embeds into the product via . By Tychonoff’s theorem, is compact in the product topology. The product topology is exactly the topology of pointwise convergence, which is the weak* topology. One checks that is closed in (limits of linear functions are linear, and the norm bound is preserved), so it is compact as a closed subset of a compact space.
Corollary 1 (Weak sequential compactness in separable reflexive spaces)
Let be a separable reflexive Banach space. Then every bounded sequence in has a weakly convergent subsequence.
Proof 4
Since is reflexive, the canonical embedding is surjective, so . Now apply Banach-Alaoglu to the space : the unit ball is compact in the weak* topology of (i.e., the topology of pointwise convergence on ). But under the identification , the weak* topology on corresponds exactly to the weak topology on (both test against elements of ). Therefore is weakly compact.
For sequences: since is separable, is separable in the weak* topology (a countable dense subset of generates a countable family of weak* continuous functionals that separate points of ). The diagonal argument from the Banach-Alaoglu proof then applies directly: given with , pick a countable dense subset , diagonalize to extract a subsequence along which converges for every , and extend to all of by density and uniform boundedness.
This corollary is the reason reflexivity matters in applications. In a separable reflexive space (such as or for ), bounded sequences always have weakly convergent subsequences. Without reflexivity, Banach-Alaoglu still gives weak* compactness of , but this is a statement about functionals on , not about elements of itself.