Bernhard Riemann

1826–1866 • Geometry, Analysis, and the Hypothesis

1. Life 1826–1866 Göttingen

Georg Friedrich Bernhard Riemann transformed mathematics in just 39 years. A shy pastor's son from Breselenz, he entered Göttingen in 1846, studied under Gauss, then Dirichlet in Berlin, and returned to revolutionize analysis, geometry, and number theory.

1826 — Born September 17 in Breselenz, Kingdom of Hanover.
1851 — Doctoral thesis introduces Riemann surfaces and the Cauchy–Riemann foundation for complex functions.
1854 — Habilitation lecture "Ueber die Hypothesen..." — birth of Riemannian geometry and manifolds.
1854 — Habilitation thesis defines the Riemann integral with rigorous upper and lower sums.
1859 — "On the Number of Primes" introduces ζ(s) in ℂ and states the Riemann Hypothesis.
1866 — Dies July 20 in Selasca, Italy, of tuberculosis.

Why he matters

  • Replaced Euclidean space with manifolds carrying metric gij.
  • Turned multi-valued functions into geometry via Riemann surfaces.
  • Gave the rigorous integral used in every calculus class.
  • Linked primes to complex zeros — the deepest unsolved problem.

Einstein used Riemann's geometry 60 years later for general relativity: ds² = gij dxi dxj.

2. The Riemann Integral

Riemann asked: when can area under a curve be approximated by rectangles? Partition [a,b] into n strips, pick sample points x*i, then:

ab f(x) dx = limn→∞ Σ f(x*i) Δx    where Δx = (b−a)/n
Sum = —

The integral exists iff upper and lower Darboux sums converge as mesh → 0 — Riemann's criterion.

3. Complex Analysis & Riemann Surfaces

For f(z)=u(x,y)+i v(x,y) analytic, the Cauchy–Riemann equations hold:

∂u/∂x = ∂v/∂y    and    ∂u/∂y = −∂v/∂x

A Riemann surface turns a multi-valued function like √z or log z into a single-valued function on a branched manifold.

Left: z-plane grid. Right: image under f.

Intuition

Analytic maps are conformal: they preserve angles locally. That's the geometric meaning of Cauchy–Riemann.

Riemann proved every simply-connected domain (≠ ℂ) is conformally equivalent to the unit disk — the Riemann mapping theorem.

His surfaces gave topology its first deep link to analysis.

4. Riemannian Geometry

Riemann replaced Pythagoras with a position-dependent metric tensor:

ds² = Σ gij(x) dxi dxj

Curvature is then intrinsic, measured by the Riemann tensor Rlijk. In 2D, one number K suffices.

Angle sum = 270°

On a sphere, triangle angles sum >180°. On a saddle, <180°. Gauss's Theorema Egregium: K is intrinsic.

5. Zeta Function & the Hypothesis

For Re(s)>1, ζ(s)=Σ n−s. Riemann analytically continued it to ℂ\{1} and proved:

ζ(s) = 2s πs−1 sin(πs/2) Γ(1−s) ζ(1−s)

Riemann Hypothesis: All non-trivial zeros satisfy Re(s)=½.

|ζ(½+it)| known zeros Hover to read t

Plot computed via Dirichlet eta series; dips touch zero near first zeros at t≈14.13, 21.02, 25.01, …

6. Octave / MATLAB Code

% 1) Riemann sums
f = @(x) sin(x) + 1.5;
a = 0; b = 2*pi; n = 32;
dx = (b-a)/n; x = a+dx/2:dx:b;
mid = sum(f(x))*dx
% compare
integral(f,a,b)
% 2) Cauchy–Riemann for f(z)=z^2
pkg load symbolic
syms x y real
u = x^2 - y^2; v = 2*x*y;
cr1 = simplify(diff(u,x) - diff(v,y))  % 0
cr2 = simplify(diff(u,y) + diff(v,x))  % 0
% 3) Riemann surface of sqrt(z) - two sheets
[theta,r] = meshgrid(linspace(0,2*pi,200), linspace(0,1.5,80));
[X,Y] = deal(r.*cos(theta), r.*sin(theta));
Z1 = sqrt(r).*cos(theta/2);  % sheet 1
Z2 = -Z1;                     % sheet 2
surf(X,Y,Z1); hold on; surf(X,Y,Z2); shading interp
% 4) Metric of 2-sphere
syms th ph real
g = [1, 0; 0, sin(th)^2];
g_inv = inv(g);
% Christoffel: Gamma^k_ij = 1/2 g^{kl}(∂i glj + ∂j gli - ∂l gij)
% Gaussian curvature K = 1
% 5) Zeta on critical line, first zeros
pkg load symbolic
t = linspace(0,50,2000);
z = arrayfun(@(tt) abs(double(zeta(0.5+1i*tt))), t);
plot(t,z); ylim([0,5]);
hold on;
zeros = [14.1347,21.0220,25.0109,30.4249,32.9351,...
         37.5862,40.9187,43.3271,48.0052,49.7738];
plot(zeros, zeros*0, 'ro');
% 6) Visualize ds^2 = E du^2 + 2F dudv + G dv^2
% For surface z = x*y (saddle, K<0)
[U,V] = meshgrid(-1:0.05:1);
X = U; Y = V; Z = X.*Y;
surf(X,Y,Z); title('Saddle surface: negative curvature')