← Library

Algebraic Cycles in Neural Codes

DH, MO, CB, TOC, DB

1. The Graph as a 1-Dimensional Space

Take a graph $\Gamma$. Think of it as:

vertices = 0-cells, edges = 1-cells.

So you get chain groups:

$$C_0(\Gamma) \cong \mathbb{Z}^V, \qquad C_1(\Gamma) \cong \mathbb{Z}^E$$

with boundary map

$$\partial : C_1 \to C_0$$

This is the incidence matrix.

2. Divisors = 0-Chains

$$\mathrm{Div}(\Gamma) = C_0(\Gamma)$$

So a divisor is just:

$$D = \sum a_v \cdot v$$

Nothing fancy — just integer weights on vertices.

3. Principal Divisors = Flows Coming from Potentials

Take a function $f : V \to \mathbb{Z}$. This gives a "gradient flow" on edges:

$$df \in C_1$$

Then apply boundary:

$$\partial(df) \in C_0$$

This is exactly the graph Laplacian:

$$\Delta f = \partial\, df$$

So:

$$\mathrm{Prin}(\Gamma) = \mathrm{im}(\Delta)$$

functions = potentials. principal divisors = divergences of gradient flows.

4. Picard = Charges Modulo Conservative Flows

$$\mathrm{Pic}(\Gamma) = C_0 / \mathrm{im}(\Delta)$$

Configurations of charge modulo what you can redistribute via flows.

Purely algebraic. Built from local redistribution rules.

5. Where Cycles Enter

$$\ker(\partial) \subset C_1$$

These are cycles:

$$H_1(\Gamma, \mathbb{Z})$$

Flows with zero divergence everywhere.

So: gradients = flows with no curl. Cycles = flows with no divergence.

This is a discrete version of the gradient vs harmonic vs curl-free / divergence-free decomposition.

6. The Hidden Pairing

There is a natural pairing between divisors (charges) and cycles (loops).

A divisor induces a "potential," and cycles measure periods. More concretely:

Solve $\Delta f = D$ over $\mathbb{R}$, not $\mathbb{Z}$. Then integrate $df$ along cycles.

This gives:

$$\text{periods} \in H_1(\Gamma, \mathbb{R})$$

But: changing $D$ by a principal divisor doesn't change periods. And integer cycles give a lattice.

So you land in:

$$H_1(\Gamma, \mathbb{R}) / H_1(\Gamma, \mathbb{Z})$$

7. That Quotient is the Jacobian

$$\mathrm{Jac}(\Gamma) = H_1(\Gamma, \mathbb{R}) / H_1(\Gamma, \mathbb{Z})$$

This is a torus.

From cycles alone: integer cycles = lattice. Real cycles = vector space. Quotient = torus.

8. How Pic and Jac Match

From the divisor side:

$$\mathrm{Pic}^0(\Gamma) = \ker(\deg) / \mathrm{im}(\Delta)$$

From the cycle side:

$$\mathrm{Jac}(\Gamma) = H_1(\Gamma, \mathbb{R}) / H_1(\Gamma, \mathbb{Z})$$

These are canonically isomorphic.

9. Why They Feel Different

Because they come from dual constructions:

Pic sideJac side
built from 0-chainsbuilt from 1-cycles
quotient by Laplacianquotient of $\mathbb{R}^g$ by lattice
local redistribution rulesglobal topology
combinatorial / discretegeometric / continuous

10. The Conceptual Bridge

The Laplacian gives an isomorphism:

$$C_0^0 \;\longleftrightarrow\; (\ker \partial)^*$$

Degree-zero divisors ≈ dual of cycles.

Then: modding out by principal divisors corresponds to taking periods modulo integers. And that's exactly how the torus appears.

11. Clean Mental Picture

$\mathrm{Div}(\Gamma)$ = charges.

$\mathrm{Prin}(\Gamma)$ = charges you can neutralize locally via flows.

$\mathrm{Pic}(\Gamma)$ = global charge configurations.

Meanwhile:

Cycles = conserved flows.

$\mathrm{Jac}(\Gamma)$ = space of possible global "circulations."

The theorem is:

global charge configurations = global circulation states.

12. Why Grothendieck's Language Hides This

Because he starts from line bundles (global objects) and cohomology, instead of flows, Laplacians, and cycles.

So the local → global physical intuition disappears, and you're left with:

Pic = abstract classification. Jac = geometric object.

What you're doing — building from cycles/rings — is actually the most concrete way to see the truth:

Pic is the "charge picture." Jac is the "cycle/period picture." The Laplacian is the bridge between them.

13. The Algebra

Everything above was $\mathbb{Z}$-linear algebra on a graph. Here is what the objects actually are.

The ring

$$\mathcal{O}(\Gamma) = \mathrm{Map}(V, \mathbb{Z})$$

Integer-valued functions on vertices. Pointwise operations. This is the coordinate ring.

Modules

$\mathrm{Div}(\Gamma)$ is an $\mathcal{O}(\Gamma)$-module: $f \cdot D = \sum f(v)\, a_v \cdot v$. The Laplacian is an $\mathcal{O}(\Gamma)$-module map. $\mathrm{Prin}(\Gamma)$ is a submodule. $\mathrm{Pic}(\Gamma)$ is the quotient module.

Line bundles

A line bundle on $\Gamma$ is a locally free $\mathcal{O}_\Gamma$-module of rank 1. At each vertex it looks like $\mathcal{O}_\Gamma$; transition data along edges encodes the twist. Each divisor $D$ gives a line bundle $\mathcal{O}(D)$. Two divisors give isomorphic bundles iff they differ by a principal divisor.

$$\mathrm{Pic}(\Gamma) \cong \{\text{rank-1 locally free } \mathcal{O}_\Gamma\text{-modules}\} / {\cong}$$

The group operation is tensor product.

Characters

A character of $\mathrm{Jac}(\Gamma)$ is a homomorphism $\mathrm{Jac}(\Gamma) \to \mathbb{R}/\mathbb{Z}$.

$$\mathrm{Jac}(\Gamma)^{\widehat{}} \;\cong\; H_1(\Gamma, \mathbb{Z})$$

The Pontryagin dual of the Jacobian is the cycle lattice. Each independent loop $\gamma$ is a character: it reads off flux through $\gamma$, mod integers. Jac is a torus because its dual is free abelian of rank $g$. Each cycle is a coordinate.