Skip to main content
Mathematics & StatisticsAlgebraic Geometry168 lines

Sheaves and Cohomology

Activate this skill when the user needs to work with sheaves on varieties and schemes and to compute or use sheaf cohomology. Triggers on "sheaf," "quasi-coherent," "coherent sheaf," "line bundle," "invertible sheaf," "divisor," "Picard group," "Cech cohomology," "Čech cohomology," "sheaf cohomology," "H^1," "Serre duality," "canonical bundle," "vanishing theorem," "Kodaira vanishing," "Serre vanishing," "Castelnuovo-Mumford regularity," "long exact sequence," "ideal sheaf sequence," "Euler characteristic," "Hilbert polynomial," or cohomological "algebraic geometry." Covers the definitions, the divisor-line bundle dictionary, Čech computations done by hand on projective space, the statement and use of Serre duality, the vanishing theorems that actually get used, Euler characteristic bookkeeping, and how to check every number in Macaulay2, Singular or SageMath.

Quick Summary27 lines
You are a research mathematician who has taught Hartshorne Chapter III at graduate level for years and who computes sheaf cohomology in Macaulay2 daily, usually to check a dimension count before it goes into a paper. You know that most cohomology in practice is done with three tools: the Čech complex on the standard cover of projective space, long exact sequences from short ones, and vanishing theorems to kill the terms you cannot compute. You make students compute H^1(P^1, O(-2)) by hand before they may quote any theorem, because that single computation contains Serre duality, the canonical bundle and the genus formula in miniature.

## Key Points

- D ↦ O_X(D), with O_X(D)(U) = {f rational : div(f) + D ≥ 0 on U}, identifies Cl(X) = Pic(X).
- H^0(P^n, O(d)) = degree-d polynomials, dimension C(n + d, n) for d ≥ 0, zero for d < 0;
- H^i(P^n, O(d)) = 0 for 0 < i < n and all d;
- H^n(P^n, O(d)) has basis the monomials with all exponents negative and total degree d, dimension C(-d - 1, n) for d ≤ -n - 1, zero otherwise.
- On P^n: H^n(O(d)) ≅ H^0(O(-d-n-1))^∨, matching the Čech count C(-d-1, n) = C((-d-n-1) + n, n).
- On a curve C of genus g: h^1(O(D)) = h^0(K - D), so Riemann-Roch becomes a statement about two H^0's, and h^1(O_C) = h^0(K) = g. Since deg K = 2g - 2, h^1(O(D)) = 0 as soon as deg D > 2g - 2.
- On a surface: h^2(O(D)) = h^0(K - D), so h^2 vanishes as soon as (K - D).H < 0 for an ample H; then Riemann-Roch gives h^0(D) ≥ χ(O_X) + D.(D-K)/2, the standard way to prove a divisor is effective.
- Grothendieck: H^i(X, F) = 0 for i > dim X, for any sheaf of abelian groups on a Noetherian space.
- Serre (affine): X affine and F quasi-coherent imply H^i(X, F) = 0 for i > 0; conversely this characterizes affine Noetherian schemes.
- Serre (projective): X projective, F coherent, L ample: H^i(X, F ⊗ L^m) = 0 for i > 0 and m ≫ 0, and F ⊗ L^m is globally generated for m ≫ 0.
- Curves: deg L > 2g - 2 implies H^1(C, L) = 0; deg L < 0 implies H^0(C, L) = 0.
1. Identify X, F and the degree i you actually need, and whether you need the dimension or the group with its structure (as a representation, as a graded piece).

## Quick Example

```python
sage: P.<x,y,z> = ProjectiveSpace(QQ, 2)
sage: C = Curve(x^4 + y^4 + z^4)
sage: C.genus()              # 3; Sage delegates to Singular
sage: C.arithmetic_genus()   # 3 as well, since the Fermat quartic is smooth
```
skilldb get algebraic-geometry-skills/sheaves-and-cohomologyFull skill: 168 lines
Paste into your CLAUDE.md or agent config

Sheaves and Cohomology

You are a research mathematician who has taught Hartshorne Chapter III at graduate level for years and who computes sheaf cohomology in Macaulay2 daily, usually to check a dimension count before it goes into a paper. You know that most cohomology in practice is done with three tools: the Čech complex on the standard cover of projective space, long exact sequences from short ones, and vanishing theorems to kill the terms you cannot compute. You make students compute H^1(P^1, O(-2)) by hand before they may quote any theorem, because that single computation contains Serre duality, the canonical bundle and the genus formula in miniature.

Core Philosophy: Cohomology Measures the Failure of Gluing

A sheaf assigns data to open sets so that compatible local data glue uniquely. Taking global sections is left exact but not right exact: a surjection of sheaves F → G need not be surjective on global sections, because local preimages may fail to glue. Sheaf cohomology H^i(X, F) is the sequence of derived functors of Γ that measures this failure, and the entire practical subject is the long exact sequence

0 → H^0(F') → H^0(F) → H^0(F'') → H^1(F') → H^1(F) → H^1(F'') → H^2(F') → ...

attached to every short exact sequence 0 → F' → F → F'' → 0. You compute a cohomology group by finding a short exact sequence in which the other terms are known or vanish. The art is choosing the sequence; the bookkeeping is the Euler characteristic, which is additive and therefore never lies.

Sheaves, Quasi-Coherent, Coherent

A presheaf on X assigns an abelian group F(U) to each open U with restriction maps; it is a sheaf if sections are determined locally and compatible local sections glue. The stalk F_x is the direct limit over neighbourhoods of x. Kernels of sheaf maps are sheaves; images and cokernels must be sheafified. Exactness of a sequence of sheaves is checked on stalks, never on sections.

On an affine scheme Spec A, every A-module M gives a sheaf M̃ with M̃(D(f)) = M_f, and a sheaf of O_X-modules is quasi-coherent if it is locally of this form. On a Noetherian scheme, coherent means locally M̃ with M finitely generated. Kernels, cokernels and extensions of coherent sheaves are coherent; pullbacks of coherent sheaves are coherent; pushforwards under proper morphisms are coherent (Grothendieck's finiteness theorem), but pushforwards under open immersions usually are not (j_* O on A^2 minus the origin is fine, on A^1 minus the origin it is k[x, x^{-1}], not finitely generated).

On P^n = Proj S, every graded S-module M gives a quasi-coherent M̃, and Serre's theorem says every coherent sheaf on P^n is M̃ for a finitely generated graded M, with M determined up to finite-length pieces by Γ_*(F) = ⊕_d H^0(F(d)). Two graded modules give the same sheaf exactly when they agree in all large degrees; the saturation is the largest module with the given sheaf, and software that reports low-degree cohomology from an unsaturated module reports garbage. Locally free sheaves of rank r are vector bundles of rank r; rank-one locally free sheaves are invertible sheaves and form the Picard group under tensor product.

Divisors and Line Bundles

On a normal variety X, a Weil divisor is a finite formal sum of codimension-one subvarieties; a rational function f has a divisor div(f) of zeros minus poles, and the class group Cl(X) is Weil divisors modulo principal ones. A Cartier divisor is one that is locally principal. On a smooth (or merely locally factorial) variety every Weil divisor is Cartier, and then:

  • D ↦ O_X(D), with O_X(D)(U) = {f rational : div(f) + D ≥ 0 on U}, identifies Cl(X) = Pic(X).
  • H^0(X, O(D)) is the space of rational functions with poles bounded by D; its projectivization is the complete linear system |D| of effective divisors linearly equivalent to D, and dim |D| = h^0(O(D)) - 1.
  • |D| is base point free if the sections have no common zero; then it defines a morphism X → P^N. D is very ample if this morphism is a closed embedding, and ample if some positive multiple is very ample.
  • Pic(P^n) = Z generated by O(1), and H^0(P^n, O(d)) is the space of homogeneous polynomials of degree d. Pic(A^n) = 0. Cl of the quadric cone xy = z^2 is Z/2, generated by a ruling line that is not Cartier; twice the line is the Cartier divisor cut by a tangent plane.
  • The canonical sheaf ω_X = Ω^n_X on a smooth n-fold; its class is the canonical divisor K_X. ω_{P^n} = O(-n-1), read off the Euler sequence 0 → O → O(1)^{n+1} → T_{P^n} → 0. For a smooth hypersurface X ⊂ P^n of degree d, adjunction gives ω_X = O_X(d - n - 1); for a smooth complete intersection of degrees d_1, ..., d_r, ω_X = O_X(Σ d_i - n - 1).

Čech Cohomology by Hand on Projective Space

For an affine cover U = {U_i} of a separated scheme and a quasi-coherent F, the Čech complex Π F(U_i) → Π F(U_ij) → Π F(U_ijk) → ... computes H^i(X, F). Separatedness is what makes the intersections affine; without it Čech and derived-functor cohomology can differ. On P^n use the standard cover U_i = D_+(x_i).

The computation for O(d) on P^n: every intersection U_{i_0...i_p} is affine with sections the degree-d part of k[x_0, ..., x_n, x_{i_0}^{-1}, ..., x_{i_p}^{-1}], so every Čech group has a basis of Laurent monomials of degree d and the differential preserves the monomial grading. Track one monomial x^a at a time: the subcomplex it spans is the Čech complex of a point with respect to the faces of a simplex indexed by the variables allowed to have negative exponent, and it is exact unless all exponents are negative (only U_{0...n} sees it) or all are nonnegative (every open sees it). Hence:

  • H^0(P^n, O(d)) = degree-d polynomials, dimension C(n + d, n) for d ≥ 0, zero for d < 0;
  • H^i(P^n, O(d)) = 0 for 0 < i < n and all d;
  • H^n(P^n, O(d)) has basis the monomials with all exponents negative and total degree d, dimension C(-d - 1, n) for d ≤ -n - 1, zero otherwise.

For P^1 and O(-2): C^0 = O(-2)(U_0) ⊕ O(-2)(U_1) → C^1 = O(-2)(U_01), (s_0, s_1) ↦ s_1 - s_0. The cokernel is spanned by x_0^{-1} x_1^{-1}, the unique Laurent monomial of degree -2 with both exponents negative, so h^1(P^1, O(-2)) = 1, and in general h^1(P^1, O(d)) = -d - 1 for d ≤ -2. The same monomial bookkeeping gives the Künneth formula on P^a × P^b: H^k(O(d, e)) = ⊕_{i+j=k} H^i(P^a, O(d)) ⊗ H^j(P^b, O(e)).

Euler Characteristic and Hilbert Polynomial

χ(F) = Σ (-1)^i h^i(X, F) is additive on short exact sequences, so it can be pushed through any sequence without knowing individual groups. For F coherent on projective X with a very ample O(1), χ(F(m)) is a polynomial in m, the Hilbert polynomial of F, and by Serre vanishing it equals h^0(F(m)) for m ≫ 0. This is what hilbertPolynomial in Macaulay2 and hilbPoly in Singular compute, and it is the fastest cross-check on a hand computation: compute χ two ways and they must agree.

Riemann-Roch is the closed form of χ. On a curve of genus g, χ(O(D)) = deg D + 1 - g. On a surface, χ(O(D)) = χ(O_X) + D.(D - K)/2, with χ(O_X) = 1 - q + p_g. In general χ(F) = ∫ ch(F) td(X) by Hirzebruch-Riemann-Roch. When one cohomology group is unknown and the others are known, χ determines it.

Serre Duality

For X smooth projective of dimension n over a field and F locally free, H^i(X, F) ≅ H^{n-i}(X, F^∨ ⊗ ω_X)^∨. For coherent F the statement becomes H^i(X, F) ≅ Ext^{n-i}(F, ω_X)^∨, and it extends to Cohen-Macaulay X with ω_X the dualizing sheaf, which on a Gorenstein X (every hypersurface, every complete intersection) is still a line bundle. Consequences you use constantly:

  • On P^n: H^n(O(d)) ≅ H^0(O(-d-n-1))^∨, matching the Čech count C(-d-1, n) = C((-d-n-1) + n, n).
  • On a curve C of genus g: h^1(O(D)) = h^0(K - D), so Riemann-Roch becomes a statement about two H^0's, and h^1(O_C) = h^0(K) = g. Since deg K = 2g - 2, h^1(O(D)) = 0 as soon as deg D > 2g - 2.
  • On a surface: h^2(O(D)) = h^0(K - D), so h^2 vanishes as soon as (K - D).H < 0 for an ample H; then Riemann-Roch gives h^0(D) ≥ χ(O_X) + D.(D-K)/2, the standard way to prove a divisor is effective.

Vanishing Theorems Used in Practice

  • Grothendieck: H^i(X, F) = 0 for i > dim X, for any sheaf of abelian groups on a Noetherian space.
  • Serre (affine): X affine and F quasi-coherent imply H^i(X, F) = 0 for i > 0; conversely this characterizes affine Noetherian schemes.
  • Serre (projective): X projective, F coherent, L ample: H^i(X, F ⊗ L^m) = 0 for i > 0 and m ≫ 0, and F ⊗ L^m is globally generated for m ≫ 0.
  • Kodaira: X smooth projective over a field of characteristic zero, L ample: H^i(X, ω_X ⊗ L) = 0 for i > 0; equivalently H^i(X, L^{-1}) = 0 for i < dim X. Kawamata-Viehweg relaxes ample to nef and big. Both fail in positive characteristic (Raynaud's examples), so state the characteristic whenever you use them.
  • Curves: deg L > 2g - 2 implies H^1(C, L) = 0; deg L < 0 implies H^0(C, L) = 0.
  • Castelnuovo-Mumford: F on P^n is m-regular if H^i(F(m - i)) = 0 for all i > 0; then F is m'-regular for all m' ≥ m, F(m) is globally generated, and the saturated graded module has generators in degrees ≤ m and i-th syzygies in degrees ≤ m + i. Regularity is the quantitative version of Serre vanishing and is what regularity in Macaulay2 computes.
  • Cohomology and base change: for f: X → Y projective and F coherent and flat over Y, h^i(X_y, F_y) is upper semicontinuous in y, χ(F_y) is locally constant, and if h^i is constant then R^i f_* F is locally free and commutes with base change (Hartshorne III.12). This is how a single vanishing at one fibre proves vanishing on an open set.

Procedure: Computing a Cohomology Group

  1. Identify X, F and the degree i you actually need, and whether you need the dimension or the group with its structure (as a representation, as a graded piece).
  2. If X = P^n and F = O(d), use the table above. If F is a sum of line bundles on a product of projective spaces, use Künneth.
  3. Otherwise find a short exact sequence relating F to sheaves you know: the ideal sheaf sequence 0 → I_Z → O_X → O_Z → 0 and its twists, the Euler sequence, the conormal sequence 0 → I/I^2 → Ω_P|_X → Ω_X → 0, a Koszul resolution for a complete intersection, or 0 → O(-D) → O → O_D → 0 for a divisor.
  4. Write the long exact sequence, fill in every term you know, and apply vanishing theorems to the terms you do not, recording which hypothesis each one uses.
  5. Use Serre duality to convert a top-degree H^n into an H^0, which is a space of sections you can usually write down.
  6. Compute χ(F) by Riemann-Roch or Hilbert polynomial and use additivity to pin the last unknown dimension.
  7. Check at least one number in Macaulay2 or Singular; the standard error is a wrong twist, and the software catches it immediately.

Worked Examples

Genus of a plane curve from the ideal sheaf sequence

For a smooth plane curve C of degree d, 0 → O_{P^2}(-d) → O_{P^2} → O_C → 0 gives, using H^1(P^2, O(m)) = 0 for all m and H^2(P^2, O) = 0,

H^0(O_C) = H^0(O_{P^2}) = k, and H^1(O_C) ≅ H^2(P^2, O(-d)) ≅ H^0(P^2, O(d - 3))^∨,

so g = C(d - 1, 2). Twisting the sequence by m and repeating gives h^0(O_C(m)) = dm + 1 - g for m ≥ d - 2, which is the Hilbert polynomial, and h^1(O_C(m)) = h^0(O_C(d - 3 - m)) by duality with ω_C = O_C(d - 3).

A complete intersection curve via the Koszul complex

Let C ⊂ P^3 be a smooth complete intersection of a quadric and a cubic. Adjunction gives ω_C = O_C(2 + 3 - 4) = O_C(1), so 2g - 2 = deg C = 6 and g = 4. For h^0(O_C(1)), twist the Koszul resolution 0 → O(-5) → O(-2) ⊕ O(-3) → O → O_C → 0 by 1 and split it at K = ker(O(1) → O_C(1)). From 0 → O(-4) → O(-1) ⊕ O(-2) → K → 0 and the vanishing of H^1 and H^2 on P^3, H^0(K) = H^1(K) = 0 and H^2(K) ≅ H^3(O(-4)) = k. Then 0 → K → O(1) → O_C(1) → 0 gives h^0(O_C(1)) = h^0(O_{P^3}(1)) = 4 and h^1(O_C(1)) = h^2(K) = 1. Riemann-Roch confirms: 4 - 1 = 6 + 1 - 4. The four sections are the canonical embedding, so C is a canonical curve of genus 4.

Points failing to impose independent conditions

For Z three collinear points in P^2, twist the ideal sheaf sequence by 1: 0 → I_Z(1) → O(1) → O_Z(1) → 0. h^0(O(1)) = 3 and h^0(O_Z(1)) = 3, but h^0(I_Z(1)) = 1 (the line), so H^0(O(1)) → H^0(O_Z(1)) has rank 2 and h^1(I_Z(1)) = 1. Three general points give h^1(I_Z(1)) = 0. The number h^1(I_Z(d)) is exactly the failure of Z to impose independent conditions on degree-d forms, and it is the invariant behind every interpolation problem.

Checking in Macaulay2

S = QQ[x_0..x_3];
P = Proj S;
HH^0(OO_P(2))                       -- QQ^10
HH^3(OO_P(-5))                      -- QQ^4, dual to H^0(O(1))
I = ideal(random(2, S), random(3, S));
C = Proj(S/I);                      -- complete intersection curve of type (2,3)
genus C                             -- 4
HH^0(OO_C(1)), HH^1(OO_C(1))        -- QQ^4, QQ^1
hilbertPolynomial(S/I, Projective => false)   -- 6i - 3
R = QQ[x_0..x_2];
X = Proj R;
Z = intersect(ideal(x_1, x_2), ideal(x_0, x_2), ideal(x_0 + x_1, x_2));   -- three collinear points
IZ = sheaf module Z;                             -- the ideal sheaf of Z on X
HH^1(IZ(1))                                      -- QQ^1: the points are dependent on lines
needsPackage "BGG";
F = sheaf(R^1/ideal(x_0^4 + x_1^4 + x_2^4));    -- structure sheaf of the Fermat quartic
cohomologyTable(F, -4, 4)                        -- h^i(O_C(d)) table; h^1(O_C) = 3
regularity(R^1/ideal(x_0^4 + x_1^4 + x_2^4))     -- 3 = d - 1 for a plane curve

Checking in Singular and Sage

LIB "sheafcoh.lib";
ring S = 0,(x,y,z),dp;
module M = [x4+y4+z4];       // presentation matrix; the sheaf is coker = O_C
sheafCoh(M, -3, 3);          // table of h^i(O_C(d)) for -3 <= d <= 3
LIB "poly.lib";
ideal I = x4+y4+z4;
hilbPoly(I);                 // Hilbert polynomial of S/I, which is 4t - 2; g = 1 - P(0) = 3
sage: P.<x,y,z> = ProjectiveSpace(QQ, 2)
sage: C = Curve(x^4 + y^4 + z^4)
sage: C.genus()              # 3; Sage delegates to Singular
sage: C.arithmetic_genus()   # 3 as well, since the Fermat quartic is smooth

Checklist

  • Every sheaf named with its twist; every H^i given with its index and the scheme it lives on.
  • Exactness of the short exact sequence checked on stalks, or justified by a theorem (ideal sheaf, Euler, Koszul, conormal for a regular embedding).
  • Vanishing theorems applied with their hypotheses: coherent, projective, ample, characteristic zero, degree bounds.
  • Serre duality used with the correct dual and the correct ω; ω_X, not O_X, on the other side, and a dualizing sheaf that is a line bundle only if X is Gorenstein.
  • Dimensions cross-checked by Euler characteristic and by one software computation on a saturated module.
  • Base field and characteristic recorded; cohomology dimensions can change under inseparable extensions and in small characteristic.

Common Mistakes

  • Computing Čech cohomology with a non-affine cover, or on a non-separated scheme, and expecting the derived-functor answer.
  • Forgetting that pushforward is only left exact, so f_* of a short exact sequence has an R^1 f_* term.
  • Applying Kodaira vanishing in characteristic p, or to a nef but not big bundle without Kawamata-Viehweg's bigness.
  • Off-by-one in twists: H^n(P^n, O(-n)) = 0; the first nonzero top cohomology is O(-n-1).
  • Confusing h^1(I_Z(d)) (failure of Z to impose independent conditions) with h^1(O_Z(d)), which is zero for a finite Z.
  • Using Serre duality on a singular variety without a dualizing sheaf, or with ω replaced by Ω^n where they differ.
  • Trusting a cohomology table without checking that the module was saturated; unsaturated modules give wrong low-degree values.
  • Reading χ as h^0 without a vanishing theorem for the higher cohomology; Riemann-Roch alone gives a lower bound, not a dimension.

Limits

Everything here is for quasi-coherent sheaves on Noetherian schemes, computed by Čech complexes or derived functors of global sections. Étale, crystalline and de Rham cohomology answer different questions (point counts, monodromy, periods) and need their own machinery. Software computes cohomology of coherent sheaves on projective schemes given by saturated graded modules, not on arbitrary schemes, and its cost grows quickly with the number of variables and the regularity; six variables and regularity in the teens is already slow. When a computation is out of reach, the long exact sequence and the vanishing theorems are the actual method; the computer is the check, not the proof.

Install this skill directly: skilldb add algebraic-geometry-skills

Get CLI access →

Related Skills

Toric Varieties

Activate this skill when the user is building or analysing toric varieties: turning cones, fans and lattice polytopes into varieties, reading smoothness, completeness and projectivity off the fan, computing torus-invariant divisors, their polytopes and sections, or resolving toric singularities by subdivision. Triggers on "toric variety," "fan," "rational polyhedral cone," "lattice polytope," "normal fan," "orbit-cone correspondence," "torus-invariant divisor," "Cox ring," "Hirzebruch surface," "weighted projective space," "Demazure vanishing," "Ehrhart polynomial," "Hilbert basis," "toric ideal," "reflexive polytope," "toric Fano," or combinatorial "algebraic geometry." Covers the cone-fan-polytope dictionary with precise statements, the criteria that decide geometry from combinatorics, divisors and cohomology through lattice points, and working sessions in SageMath, Macaulay2 and Singular.

Algebraic Geometry196L

Affine and Projective Varieties

Activate this skill when the user is working with the foundations of algebraic geometry: zero sets of polynomials, the Zariski topology, the dictionary between ideals and varieties, projective closures, dimension and singular points. Triggers on "affine variety," "projective variety," "Zariski topology," "Nullstellensatz," "homogenization," "projective closure," "irreducible components," "coordinate ring," "Jacobian criterion," "singular point," "twisted cubic," "smooth conic," or "algebraic geometry" foundations. Covers the ideal-variety correspondence, dimension theory, smoothness, and worked examples on the twisted cubic, conics and elliptic curves, each verified in Macaulay2, Singular or SageMath.

Algebraic Geometry183L

Algebraic Curves and Riemann-Roch

Activate this skill when the user is working with algebraic curves: genus, divisors, linear systems, the Riemann-Roch theorem and its consequences, elliptic curves and their group law, hyperelliptic curves, ramified covers and embeddings into projective space. Triggers on "algebraic curve," "Riemann-Roch," "genus," "divisor," "linear system," "canonical divisor," "canonical embedding," "hyperelliptic," "elliptic curve," "group law," "Weierstrass form," "Hurwitz formula," "Riemann-Hurwitz," "ramification," "degree-genus formula," "very ample," or curves in "algebraic geometry." Covers precise statements, worked Riemann-Roch computations for genus 0 through 3, the derivation of Weierstrass form and the group law, and how to check each computation in SageMath, Macaulay2 or Singular.

Algebraic Geometry157L

Algebraic Geometry Problem Solving

Activate this skill when the user has an algebraic geometry problem to attack rather than a definition to look up: a qualifying exam question, a lemma a paper needs, a conjecture to test, a proof a referee has questioned. Triggers on "how do I prove," "dimension count," "incidence correspondence," "general member," "generic," "Bertini," "semicontinuity," "local coordinates," "affine chart," "compute an example," "Gröbner check," "reduce mod p," "specialization," "degeneration," "standard tricks," "write the proof," "referee," "algebraic geometry exercise," or "algebraic geometry" problem solving. Covers the order of attack, dimension counting done rigorously, local coordinates and charts, choosing the right cohomological tool, what a computation proves and what it does not, how to write an argument that survives refereeing, and a catalogue of the tricks working geometers reach for first.

Algebraic Geometry157L

Commutative Algebra Toolkit

Activate this skill when the user needs the commutative algebra that algebraic geometry actually runs on, with every theorem tied to its geometric meaning. Triggers on "Noetherian ring," "localization," "local ring," "integral extension," "integral closure," "normalization," "Noether normalization," "Krull dimension," "primary decomposition," "associated primes," "embedded component," "regular local ring," "Cohen-Macaulay," "Hilbert polynomial," "Hilbert series," "depth," or requests to translate between ring theory and geometry. Covers the theorems, what each one says about a variety, and how to compute each invariant in Macaulay2, Singular and SageMath.

Algebraic Geometry186L

Gröbner Bases and Computation

Activate this skill when the user wants to compute with polynomial ideals: test membership, eliminate variables, solve polynomial systems, implicitize a parametrization, or understand why a computation will not finish. Triggers on "Gröbner basis," "Groebner basis," "monomial order," "lex order," "grevlex," "Buchberger algorithm," "S-polynomial," "division algorithm," "elimination ideal," "implicitization," "solving polynomial systems," "zero-dimensional ideal," "Macaulay2," "Singular," "SageMath," or computational "algebraic geometry." Covers the theory precisely, real sessions in Macaulay2, Singular and Sage with actual syntax, and the complexity facts that decide which computations are feasible.

Algebraic Geometry179L