Skip to content

Path Algebras

A quiver is a directed multigraph — vertices, and arrows between them, with loops and parallel arrows allowed. Its path algebra has a basis of all directed paths, one trivial path per vertex included, and the product is concatenation:

Like the incidence algebra, most products are zero. Unlike every other family here, this one need not be finite-dimensional.

One loop and the algebra is infinite

is finite-dimensional exactly when is acyclic. A single loop gives the paths — the Jordan quiver, whose path algebra is the polynomial ring . There is no finite basis and no dimension, so Basis and AlgebraDimension have nothing to return and leave the call standing rather than enumerating forever.

Acyclic or not

The linear quiver is acyclic and has a dimension; the Jordan quiver has a loop, so its dimension does not exist and the call stays put.

source
<notatio-cell value="QuiverIsAcyclic(LinearQuiver(4))" />
<notatio-cell value="QuiverIsAcyclic(JordanQuiver)" />
<notatio-cell value="AlgebraDimension(PathAlgebra(LinearQuiver(4)))" />
<notatio-cell value="AlgebraDimension(PathAlgebra(JordanQuiver))" />

That distinction is the whole reason this family is worth having next to the others: every previous one was finite by construction, and this is the first place where "there is no answer" is a structural fact about the input rather than a missing feature.

Aₙ's path algebra is a chain's incidence algebra

The linear quiver has exactly one path from to when , and none otherwise. So its paths are the intervals of a chain, and is the incidence algebra of Chain(n) — same dimension , same product, two libraries describing one object from different directions.

The same algebra, twice

Both are C(7,2) = 21.

source
<notatio-cell value="AlgebraDimension(PathAlgebra(LinearQuiver(6)))" />
<notatio-cell value="AlgebraDimension(IncidenceAlgebra(Chain(6)))" />

The path count is verified a second way in the tests, against powers of the adjacency matrix: paths of length are the entries of , and an acyclic quiver on vertices has none longer than . Enumeration and linear algebra agree.

Composition, and zero

Concatenate or annihilate

1→2 then 2→3 composes. The other order does not meet, so it is zero — not an error.

source
<notatio-cell value="QuiverCompose(LinearQuiver(4), QuiverPath(1, [0]), QuiverPath(2, [1]))" />
<notatio-cell value="QuiverCompose(LinearQuiver(4), QuiverPath(2, [1]), QuiverPath(1, [0]))" />

A path is written QuiverPath(start, [arrow indices]), so the trivial path at is QuiverPath(v, []). Those trivial paths are the local identities:

and together they sum to the identity of the algebra.

Parallel arrows are distinct

Quiver(n, [[from,to],…]) builds one explicitly, and arrows are indexed by position — so two arrows with the same endpoints are two different basis elements. The Kronecker quiver is the smallest example: two vertices, two parallel arrows, four paths.

The Kronecker quiver

Four paths: two trivial, two arrows. The two arrows do not compose with each other, so their product is zero.

source
<notatio-cell value="AlgebraDimension(PathAlgebra(Quiver(2, [[1, 2], [1, 2]])))" />
<notatio-cell value="Basis(PathAlgebra(KroneckerQuiver))" />

Things worth knowing

Named quivers are recognised, not declared. JordanQuiver and KroneckerQuiver are bare symbols. Declaring them as nullary functions gave them the type () -> value, which then failed PathAlgebra's value parameter — an undeclared symbol types as unknown and passes. Same lesson as the named hypercomplex algebras.

Composition takes its quiver. A path does not know which quiver it belongs to, so QuiverCompose(quiver, p, q) names it rather than riding the shared ordered product.

Not built yet. Representations of a quiver — the actual subject, and where Gabriel's theorem lives: a connected quiver has finitely many indecomposable representations exactly when its underlying graph is a Dynkin diagram of type , or . Also quotients by an admissible ideal, which is how a cyclic quiver is made finite-dimensional in practice.