The Riemann-Roch Theorem for Curves

⚡ Key Takeaways

One-line statement: For a divisor DD on a smooth projective curve XX of genus gg, ℓ(D)−ℓ(K−D)=deg⁡D+1−g\ell(D) - \ell(K - D) = \deg D + 1 - g.

In words: The Riemann–Roch theorem counts the dimension of the space of meromorphic functions with poles bounded by a divisor, correcting a naïve count (deg⁡D+1−g\deg D + 1 - g) by an error term measured by holomorphic differentials (the "Serre dual").

Where it applies: Smooth projective algebraic curves over an algebraically closed field (equivalently compact Riemann surfaces over C\mathbb{C}); the foundational tool of curve theory, embeddings, and moduli.

Who/when: Bernhard Riemann (inequality, 1857), Gustav Roch (equality via the index term, 1865); modern sheaf-cohomological recasting by Serre (1950s).

💡 The Core Insight

A divisor DD poses a system of linear conditions on rational functions: to have a pole no worse than nPn_P at PP. Naïvely each unit of degree should buy one new function, giving deg⁡D+1\deg D + 1 (the +1+1 being the constants). But on a curve of positive genus there are gg independent holomorphic 1-forms, and these obstruct sections via a residue/period pairing. Riemann–Roch says the defect equals g−ℓ(K−D)g - \ell(K-D): the obstruction is measured by exactly those holomorphic differentials that do not vanish enough to be "killed" by DD. The two unknowns ℓ(D)\ell(D) and ℓ(K−D)\ell(K-D) are dual partners, and their difference is purely topological:

1
ℓ(D)−ℓ(K−D)=deg⁡D+1−g.\quad \ell(D) - \ell(K-D) = \deg D + 1 - g.

Derivation hint: this is the Euler characteristic χ(OX(D))=deg⁡D+1−g\chi(\mathcal{O}_X(D)) = \deg D + 1 - g combined with Serre duality h1(OX(D))=h0(ΩX(−D))=ℓ(K−D)h^1(\mathcal{O}_X(D)) = h^0(\Omega_X(-D)) = \ell(K-D).

Formal Statement

DefinitionDivisors, linear systems, and the basic invariants

Let XX be a smooth projective curve over an algebraically closed field kk (or a compact Riemann surface over C\mathbb{C}). A divisor is a finite formal sum D=∑P∈XnP PD = \sum_{P \in X} n_P \, P with nP∈Zn_P \in \mathbb{Z}. Its degree is

2
deg⁡D=∑PnP∈Z.\quad \deg D = \sum_{P} n_P \in \mathbb{Z}.

Derivation hint: degree is the unique Z\mathbb{Z}-linear map sending each point PP to 11; for a principal divisor div⁡(f)\operatorname{div}(f) it counts zeros minus poles, which equals 00 on a projective curve. For a nonzero rational function f∈k(X)×f \in k(X)^\times, the principal divisor is div⁡(f)=∑Pord⁡P(f) P\operatorname{div}(f) = \sum_P \operatorname{ord}_P(f)\, P. Two divisors are linearly equivalent, D∼D′D \sim D', if D−D′=div⁡(f)D - D' = \operatorname{div}(f). The Riemann–Roch space is the finite-dimensional kk-vector space

3
L(D)=H0(X,OX(D))={f∈k(X)×:div⁡(f)+D≥0}∪{0},\quad L(D) = H^0(X,\mathcal{O}_X(D)) = \{ f \in k(X)^\times : \operatorname{div}(f) + D \ge 0\} \cup \{0\},

and ℓ(D)=dim⁡kL(D)\ell(D) = \dim_k L(D). Derivation hint: the condition div⁡(f)+D≥0\operatorname{div}(f) + D \ge 0 means ord⁡P(f)≥−nP\operatorname{ord}_P(f) \ge -n_P for all PP, i.e. poles bounded by DD; finite-dimensionality follows from the compactness of XX together with the bound ℓ(D)≤deg⁡D+1\ell(D) \le \deg D + 1. The genus gg is g=dim⁡kH0(X,ΩX1)=h0(K)g = \dim_k H^0(X, \Omega_X^1) = h^0(K), the dimension of global holomorphic 1-forms. A canonical divisor K=div⁡(ω)K = \operatorname{div}(\omega) for any nonzero rational 1-form ω\omega; all canonical divisors are linearly equivalent and deg⁡K=2g−2\deg K = 2g - 2.

TheoremRiemann–Roch for curves

Let XX be a smooth projective curve of genus gg over an algebraically closed field, KK a canonical divisor, and DD any divisor. Then

4
ℓ(D)−ℓ(K−D)=deg⁡D−g+1.\quad \ell(D) - \ell(K - D) = \deg D - g + 1.

Derivation hint: equate the Euler characteristic χ(OX(D))=h0(OX(D))−h1(OX(D))\chi(\mathcal{O}_X(D)) = h^0(\mathcal{O}_X(D)) - h^1(\mathcal{O}_X(D)) computed two ways — once as deg⁡D+1−g\deg D + 1 - g via additivity in DD, once with h1h^1 replaced by ℓ(K−D)\ell(K-D) via Serre duality.

Riemann's inequality is the weaker statement ℓ(D)≥deg⁡D−g+1\ell(D) \ge \deg D - g + 1, recovered by dropping the nonnegative term ℓ(K−D)\ell(K-D).

Specialization corollaries:

  • D=0D = 0: ℓ(0)=1\ell(0) = 1, ℓ(K)=g\ell(K) = g, giving 1−g=0−g+11 - g = 0 - g + 1. ✓
  • D=KD = K: ℓ(K)−ℓ(0)=deg⁡K−g+1\ell(K) - \ell(0) = \deg K - g + 1 forces deg⁡K=2g−2\deg K = 2g - 2.
  • If deg⁡D>2g−2\deg D > 2g - 2, then deg⁡(K−D)<0\deg(K-D) < 0 so ℓ(K−D)=0\ell(K-D) = 0 and ℓ(D)=deg⁡D−g+1\ell(D) = \deg D - g + 1 exactly.
TheoremSerre duality — the engine of the index term

There is a perfect kk-bilinear pairing

5
H0(X,ΩX1(−D))×H1(X,OX(D))⟶H1(X,ΩX1)≅k,\quad H^0(X, \Omega_X^1(-D)) \times H^1(X, \mathcal{O}_X(D)) \longrightarrow H^1(X,\Omega_X^1) \cong k,

hence h1(OX(D))=h0(ΩX1(−D))=ℓ(K−D)h^1(\mathcal{O}_X(D)) = h^0(\Omega_X^1(-D)) = \ell(K - D). Derivation hint: the trace map H1(X,ΩX1)→kH^1(X,\Omega_X^1)\to k (sum of residues) is an isomorphism by the residue theorem; cup product then identifies H1(OX(D))H^1(\mathcal{O}_X(D)) with the dual of H0(ΩX1(−D))H^0(\Omega_X^1(-D)).

Why It Holds / Derivation

ProofCohomological proof via Euler characteristic and Serre duality

Step 1 — Define the Euler characteristic. For the invertible sheaf L=OX(D)\mathcal{L} = \mathcal{O}_X(D) set

6
χ(L)=h0(L)−h1(L),hi=dim⁡kHi(X,L).\quad \chi(\mathcal{L}) = h^0(\mathcal{L}) - h^1(\mathcal{L}), \qquad h^i = \dim_k H^i(X,\mathcal{L}).

Derivation hint: on a curve, cohomology vanishes above degree 11 by Grothendieck's bound dim⁡X=1\dim X = 1, so only h0,h1h^0, h^1 contribute.

Step 2 — Additivity under adding a point. Let P∈XP\in X and compare DD with D+PD+P. The skyscraper exact sequence

7
0→OX(D)→OX(D+P)→kP→0\quad 0 \to \mathcal{O}_X(D) \to \mathcal{O}_X(D+P) \to k_P \to 0

Derivation hint: OX(D+P)/OX(D)\mathcal{O}_X(D+P)/\mathcal{O}_X(D) is supported at PP with one-dimensional stalk (a length-one skyscraper sheaf kPk_P). gives, by the long exact cohomology sequence and the fact that χ\chi is additive on short exact sequences,

8
χ(OX(D+P))=χ(OX(D))+χ(kP)=χ(OX(D))+1.\quad \chi(\mathcal{O}_X(D+P)) = \chi(\mathcal{O}_X(D)) + \chi(k_P) = \chi(\mathcal{O}_X(D)) + 1.

Derivation hint: χ(kP)=h0(kP)−h1(kP)=1−0=1\chi(k_P) = h^0(k_P) - h^1(k_P) = 1 - 0 = 1 since a skyscraper has only H0H^0.

Step 3 — Integrate from the trivial sheaf. Since χ\chi changes by +1+1 each time we add a point and by −1-1 each time we subtract one, and χ(OX)=h0(OX)−h1(OX)=1−g\chi(\mathcal{O}_X) = h^0(\mathcal{O}_X) - h^1(\mathcal{O}_X) = 1 - g, induction on deg⁡D\deg D yields

9
χ(OX(D))=deg⁡D+χ(OX)=deg⁡D+1−g.\quad \chi(\mathcal{O}_X(D)) = \deg D + \chi(\mathcal{O}_X) = \deg D + 1 - g.

Derivation hint: h0(OX)=1h^0(\mathcal{O}_X) = 1 (only constants are everywhere regular on a projective curve) and h1(OX)=gh^1(\mathcal{O}_X) = g is the definition of genus in the cohomological sense, consistent with h0(Ω1)=gh^0(\Omega^1)=g by Serre duality on OX\mathcal{O}_X.

Step 4 — Apply Serre duality. By [5], h1(OX(D))=h0(ΩX1⊗OX(−D))=ℓ(K−D)h^1(\mathcal{O}_X(D)) = h^0(\Omega_X^1 \otimes \mathcal{O}_X(-D)) = \ell(K - D). Substitute into [6]:

10
ℓ(D)−ℓ(K−D)=χ(OX(D))=deg⁡D+1−g.\quad \ell(D) - \ell(K - D) = \chi(\mathcal{O}_X(D)) = \deg D + 1 - g.

Derivation hint: simply rename h0(OX(D))=ℓ(D)h^0(\mathcal{O}_X(D)) = \ell(D) and replace h1h^1 by its Serre dual; the result is [4]. ■\blacksquare

∎
ProofClassical analytic proof (Riemann surfaces) — sketch

Step 1 — Riemann's inequality via periods. A meromorphic function with prescribed poles at DD exists iff certain period integrals of an associated differential vanish. Counting the deg⁡D\deg D free Laurent coefficients against the gg period conditions gives ℓ(D)≥deg⁡D−g+1\ell(D) \ge \deg D - g + 1.

Step 2 — Roch's correction. Roch identified the exact deficiency: the number of independent holomorphic differentials ω\omega with div⁡(ω)≥D\operatorname{div}(\omega) \ge D, i.e. those vanishing along DD. This is precisely ℓ(K−D)\ell(K - D), because ω/ω0∈L(K−D)\omega/\omega_0 \in L(K-D) for a fixed reference ω0\omega_0 with div⁡(ω0)=K\operatorname{div}(\omega_0) = K. Derivation hint: the residue theorem ∑PRes⁡P(fω)=0\sum_P \operatorname{Res}_P(f\omega) = 0 supplies the linear relations; the cokernel of "evaluate principal parts" is dual to holomorphic differentials, giving the index term. ■\blacksquare

∎
mathematician · Bernhard Riemann | 1826–1866

Riemann reconceived a "curve" as an abstract two-dimensional surface (a Riemann surface) carrying complex structure, freeing the theory from any particular embedding. In his 1857 memoir on Abelian functions he introduced the genus as the connectivity number of the surface and proved the inequality ℓ(D)≥deg⁡D−g+1\ell(D) \ge \deg D - g + 1 by counting "moduli" and period conditions on Abelian integrals. His student Gustav Roch (1839–1866), in an 1865 paper, supplied the missing index term ℓ(K−D)\ell(K-D) that turns the inequality into an equality. Both men died young of tuberculosis within a year of each other; the theorem fusing their names became the seed of a century of generalization, from Hirzebruch's signature and χ\chi-formulas to Grothendieck's relative Riemann–Roch and the Atiyah–Singer index theorem.

Building Intuition

🧠 Intuition

Think of L(D)L(D) as a budget for poles. The divisor DD tells you, at each point PP, how many "units of pole" you may spend (nPn_P). Each available unit of pole degree should let you build one more linearly independent function — like adding a degree of freedom. So the naïve dimension is deg⁡D+1\deg D + 1 (the +1+1 is the free constant function, which has no poles). On the Riemann sphere (g=0g=0) this naïve count is exactly right: ℓ(D)=deg⁡D+1\ell(D) = \deg D + 1 for deg⁡D≥0\deg D \ge 0. Rational functions are totally flexible. On a higher-genus surface, the surface has "handles," and threading a function through a handle imposes constraints. There are exactly gg independent holomorphic 1-forms — these are global "obstruction vectors." When you try to spend pole-budget, you must remain orthogonal to certain residue conditions coming from these forms. That subtracts up to gg from your count. But if DD is large enough that no holomorphic form can "fit inside" K−DK-D (i.e. ℓ(K−D)=0\ell(K-D)=0), all obstructions are saturated and you recover the clean formula ℓ(D)=deg⁡D−g+1\ell(D)=\deg D - g + 1. The term ℓ(K−D)\ell(K-D) is literally "how many of the gg obstructions are still active." The deepest comfort is the self-duality: the error term in computing ℓ(D)\ell(D) is itself a Riemann–Roch quantity for the complementary divisor K−DK-D. The theorem is its own bookkeeping audit.

Figure
A genus-2 curve: holomorphic 1-forms supply the obstruction term ℓ(K−D)\ell(K-D)
Genus g = 2 surface: 2 handles → 2 holomorphic 1-forms a₁ a₂ P₁ P₂ D = P₁+P₂, deg K = 2g−2 = 2, ℓ(D)−ℓ(K−D) = 2+1−2 = 1

Worked Examples

ExampleGenus 0: the Riemann sphere P1\mathbb{P}^1

Given: X=P1X = \mathbb{P}^1, so g=0g = 0, deg⁡K=2g−2=−2\deg K = 2g - 2 = -2 (one takes K=−2 ∞K = -2\,\infty). Let D=n ∞D = n\,\infty with n≥0n \ge 0.

Step 1 — Apply Riemann–Roch [4]:

ℓ(D)−ℓ(K−D)=deg⁡D−g+1=n−0+1=n+1.\ell(D) - \ell(K - D) = \deg D - g + 1 = n - 0 + 1 = n + 1.

Step 2 — Vanishing of the index term. deg⁡(K−D)=−2−n<0\deg(K - D) = -2 - n < 0, and a divisor of negative degree has no global sections, so ℓ(K−D)=0\ell(K-D) = 0.

Step 3 — Solve. ℓ(D)=n+1\ell(D) = n + 1.

Check by hand: L(n ∞)={L(n\,\infty) = \{polynomials in zz of degree ≤n}=⟨1,z,z2,…,zn⟩\le n\} = \langle 1, z, z^2, \dots, z^n\rangle, dimension n+1n+1. ✓

 ℓ(n ∞)=n+1(dimensionless count of functions) \boxed{\ \ell(n\,\infty) = n + 1 \quad (\text{dimensionless count of functions})\ }
ExampleGenus 1: an elliptic curve, and why P2\mathbb{P}^2-embedding needs n≥3n\ge 3

Given: XX a smooth elliptic curve, g=1g = 1. Then K∼0K \sim 0 (canonical divisor is trivial: deg⁡K=0\deg K = 0 and ℓ(K)=g=1\ell(K)=g=1 force K∼0K \sim 0). Take D=n OD = n \, O for the origin OO, with n≥1n \ge 1.

Step 1 — Riemann–Roch: ℓ(nO)−ℓ(K−nO)=n−1+1=n\ell(n O) - \ell(K - n O) = n - 1 + 1 = n.

Step 2 — Index term. deg⁡(K−nO)=0−n=−n<0\deg(K - nO) = 0 - n = -n < 0 for n≥1n \ge 1, so ℓ(K−nO)=0\ell(K - nO) = 0.

Step 3 — Solve. ℓ(nO)=n\ell(n O) = n for every n≥1n \ge 1.

Step 4 — Interpret the Weierstrass tower.

  • n=1n=1: ℓ(O)=1\ell(O) = 1 — only constants (no nonconstant function with a single simple pole on g=1g=1).
  • n=2n=2: ℓ(2O)=2=⟨1,℘⟩\ell(2O) = 2 = \langle 1, \wp \rangle — the Weierstrass ℘\wp-function appears.
  • n=3n=3: ℓ(3O)=3=⟨1,℘,℘′⟩\ell(3O) = 3 = \langle 1, \wp, \wp' \rangle — enough sections for a map to P2\mathbb{P}^2, giving the cubic Weierstrass equation ℘′2=4℘3−g2℘−g3\wp'^2 = 4\wp^3 - g_2 \wp - g_3.

A divisor DD is very ample (embeds XX) when it separates points and tangents; for g=1g=1 this requires deg⁡D≥3\deg D \ge 3, exactly the threshold appearing here.

 ℓ(nO)=n,embedding into P2 at n=3 \boxed{\ \ell(nO) = n,\quad \text{embedding into }\mathbb{P}^2\text{ at }n=3\ }

Common Misconceptions

⚠️ Common mistake

"ℓ(D)\ell(D) only depends on deg⁡D\deg D." False in general. For g≥1g \ge 1, two divisors of equal degree can have different ℓ\ell. Example: on a curve of genus g≥1g\ge 1, a point PP and the divisor K−P+QK - P + Q may differ. Only when deg⁡D>2g−2\deg D > 2g-2 does ℓ(D)\ell(D) become the universal value deg⁡D−g+1\deg D - g + 1, independent of which divisor of that degree you chose. In the intermediate range 0≤deg⁡D≤2g−20 \le \deg D \le 2g-2, the so-called special divisors have ℓ(K−D)>0\ell(K-D) > 0 and genuinely depend on the geometry (this is Brill–Noether theory).

"ℓ(D)=deg⁡D−g+1\ell(D) = \deg D - g + 1 always." That is only Riemann's inequality's equality case; it holds when ℓ(K−D)=0\ell(K-D)=0. Forgetting the index term is the single most common error.

"KK is a number." KK is a divisor class, not a scalar; "KK" in formulas means a representative of the canonical class. Only deg⁡K=2g−2\deg K = 2g-2 is numerical.

"Negative-degree divisors can have sections." If deg⁡D<0\deg D < 0 then L(D)=0L(D)=0, since a nonzero f∈L(D)f \in L(D) would give div⁡(f)+D≥0\operatorname{div}(f) + D \ge 0 of degree deg⁡D<0\deg D < 0, impossible (a global function's divisor has degree 00, and adding D<0D<0 cannot stay effective).

CounterexampleThe naïve count fails on a genus-2 curve

Let XX have g=2g = 2, so deg⁡K=2\deg K = 2. Take D=KD = K, a divisor of degree 22. The naïve formula would predict ℓ(D)=deg⁡D+1=3\ell(D) = \deg D + 1 = 3. But Riemann–Roch gives

ℓ(K)−ℓ(K−K)=deg⁡K−g+1=2−2+1=1,\ell(K) - \ell(K - K) = \deg K - g + 1 = 2 - 2 + 1 = 1,

and ℓ(0)=1\ell(0) = 1, so ℓ(K)=2\ell(K) = 2, not 33. The defect of 11 is exactly ℓ(K−D)=ℓ(0)=1\ell(K - D) = \ell(0) = 1: the canonical divisor is special. Indeed L(K)L(K) has dimension g=2g = 2 — the canonical map X→P1X \to \mathbb{P}^1 is the hyperelliptic double cover, not an embedding, precisely because ℓ(K)=2<3\ell(K) = 2 < 3.

Connections

connection

Riemann–Roch sits at the crossroads of analysis, algebra, and topology.

  • <span class="wiki-link-missing">Serre Duality</span> is the abstract reformulation of Roch's index term: h1(L)=h0(ωX⊗L−1)h^1(\mathcal{L}) = h^0(\omega_X \otimes \mathcal{L}^{-1}). Riemann–Roch for curves is exactly "χ\chi is topological" + Serre duality.
  • <span class="wiki-link-missing">Hirzebruch-Riemann-Roch Theorem</span> generalizes [4] to higher-dimensional varieties: χ(L)=∫Xch⁡(L) td⁡(X)\chi(\mathcal{L}) = \int_X \operatorname{ch}(\mathcal{L})\,\operatorname{td}(X). On a curve this reduces to deg⁡D+1−g\deg D + 1 - g via td⁡(X)=1−12K\operatorname{td}(X) = 1 - \tfrac12 K.
  • <span class="wiki-link-missing">Grothendieck-Riemann-Roch Theorem</span> lifts the statement to a commutative diagram for proper morphisms, replacing absolute χ\chi with pushforward of Chern characters.
  • <span class="wiki-link-missing">Atiyah-Singer Index Theorem</span> is the differential-geometric apex: ℓ(D)−ℓ(K−D)\ell(D)-\ell(K-D) is the index of a ∂ˉ\bar\partial-operator twisted by O(D)\mathcal{O}(D), and deg⁡D+1−g\deg D + 1 - g is its topological index.
  • <span class="wiki-link-missing">Brill-Noether Theory</span> studies the locus of special divisors where ℓ(K−D)>0\ell(K-D) > 0, refining the theorem with dimension estimates for the varieties Wdr(X)W^r_d(X).
  • <span class="wiki-link-missing">Jacobian Variety</span> and <span class="wiki-link-missing">Abel-Jacobi Map</span>: linear equivalence classes of degree-dd divisors form a torsor over Jac⁡(X)\operatorname{Jac}(X), and Riemann–Roch governs the fibers of the Abel–Jacobi map.

Real-World Applications

🔬 Where this appears

Historical Development

⏳ History
- 1851 — Riemann's doctoral thesis introduces Riemann surfaces and the geometric (topological) viewpoint on multivalued functions, laying the groundwork for genus.
- 1857 — Riemann's Theorie der Abel'schen Functionen defines the genus via connectivity and proves the inequality ℓ(D)≥deg⁡D−g+1\ell(D) \ge \deg D - g + 1 using period integrals and the "Dirichlet principle."
- 1865 — Gustav Roch publishes the index correction, turning the inequality into the equality ℓ(D)−ℓ(K−D)=deg⁡D−g+1\ell(D) - \ell(K-D) = \deg D - g + 1.
- 1874–1882 — Brill and Noether recast the theorem algebraically (the Brill–Noether "residuation" and the reduction lemma), founding the German school of algebraic curves and the study of special divisors.
- 1882 — Dedekind and Weber give a purely algebraic, field-theoretic proof valid over arbitrary fields, treating curves as function fields — a milestone in abstract algebraic geometry.
- 1931–1939 — F. K. Schmidt and others establish Riemann–Roch over arbitrary (including finite) base fields, essential for later coding theory.
- 1950s — Serre reformulates the index term as coherent sheaf cohomology and proves Serre duality, making h1=ℓ(K−D)h^1 = \ell(K-D) conceptually transparent; Kodaira gives the analytic (harmonic-theory) version on complex manifolds.
- 1954 — Hirzebruch proves the higher-dimensional Riemann–Roch theorem using Chern classes and the Todd genus, unifying curves, surfaces, and beyond.
- 1957–1963 — Grothendieck's relative Riemann–Roch (functorial, for morphisms) and Atiyah–Singer's index theorem place curve Riemann–Roch as a special case of vast general machinery.

Subtleties & Limits

open-problem

Brill–Noether theory and special divisors. Riemann–Roch tells you the difference ℓ(D)−ℓ(K−D)\ell(D)-\ell(K-D) but not ℓ(D)\ell(D) individually when 0≤deg⁡D≤2g−20 \le \deg D \le 2g-2. Determining the dimension of the variety

Wdr(X)={[D]∈Pic⁡d(X):ℓ(D)≥r+1}W^r_d(X) = \{[D] \in \operatorname{Pic}^d(X) : \ell(D) \ge r+1\}

is the central open-ended program. The Brill–Noether number ρ=g−(r+1)(g−d+r)\rho = g - (r+1)(g - d + r) predicts dim⁡Wdr=ρ\dim W^r_d = \rho for a general curve (Griffiths–Harris, Gieseker, Eisenbud–Harris), but for special curves the dimensions can jump unpredictably, and a full classification of Brill–Noether loci across all curves remains active research (e.g. the Brill–Noether theory of curves with fixed gonality, and of curves on special surfaces).

Maximal curves over finite fields. The Hasse–Weil bound ∣N−(q+1)∣≤2gq|N - (q+1)| \le 2g\sqrt q interacts with Riemann–Roch in coding theory; constructing curves attaining the Hasse–Weil–Serre and Drinfeld–Vlăduţ bounds with explicit equations and controlled L(D)L(D) is an ongoing computational and theoretical challenge.

Higher rank / non-abelian analogues. Replacing line bundles O(D)\mathcal{O}(D) by vector bundles leads to the Riemann–Roch on the moduli of bundles and the Verlinde formula; sharp effective versions and their arithmetic refinements (e.g. Arakelov Riemann–Roch with metric data) continue to generate open questions.

See Also

Serre Duality · Hirzebruch-Riemann-Roch Theorem · Grothendieck-Riemann-Roch Theorem · Atiyah-Singer Index Theorem · Brill-Noether Theory · Jacobian Variety · Abel-Jacobi Map · Compact Riemann Surfaces · Divisors on Algebraic Curves · Canonical Divisor and Canonical Map · Algebraic Geometry Codes · Weierstrass Points