Skip to content
The Lumenary
First-year graduateGraduate 120 min

Quivers and path algebras

Draw a directed graph, multiply its paths by concatenation, and get an algebra whose modules are exactly the configurations of vector spaces and linear maps shaped like the graph.

Formally verified · 12 LeanComputationally tested · 2 PythonAI-drafted · awaiting human reviewMathematically reviewed: Awaiting human review
MotivationH

Linear algebra shaped like a graph

Many problems of linear algebra ask for normal forms of a configuration of vector spaces and linear maps:

  • one linear map V→WV \to W (normal form: its rank);
  • one endomorphism V→VV \to V (normal form: Jordan blocks, depending on eigenvalues);
  • a chain V1→V2→⋯→VnV_1 \to V_2 \to \cdots \to V_n — for instance the homology of a growing sequence of spaces in data analysis;
  • two maps V⇉WV \rightrightarrows W (Kronecker's matrix pencils).

Each is described by a directed graph — a quiver — with a vector space at each vertex and a linear map on each arrow. Gabriel (1972) observed that such representations of a quiver QQ are precisely the modules over a single algebra, the path algebra kQkQ, whose basis is the set of paths in QQ and whose multiplication is concatenation. So the whole theory of modules — submodules, quotients, direct sums, projectives, Ext\mathrm{Ext} — applies to these problems at once, and conversely quivers give a concrete, pictorial handle on finite-dimensional algebras.

This lesson builds path algebras, proves the equivalence between representations and modules, and classifies the representations of the simplest family, the linearly oriented quivers AnA_n. It assumes modules; the classification of all quivers of finite type (Gabriel's theorem) is the subject of quiver representations.

IntuitionH

Paths multiply when they meet

Picture the quiver 1→α2→β31 \xrightarrow{\alpha} 2 \xrightarrow{\beta} 3. Its paths are the three "stay-at-home" paths e1,e2,e3e_1, e_2, e_3, the arrows α,β\alpha, \beta, and the path αβ\alpha\beta ("first α\alpha, then β\beta"). Multiply two paths by walking one after the other if the first ends where the second starts, and get 00 otherwise: α⋅β=αβ\alpha \cdot \beta = \alpha\beta, but β⋅α=0\beta \cdot \alpha = 0 because β\beta ends at 33 and α\alpha starts at 11. The trivial paths act as "you are here" markers: e1α=αe_1 \alpha = \alpha and αe2=α\alpha e_2 = \alpha, while αe1=0\alpha e_1 = 0.

Now give each vertex a vector space and each arrow a linear map. A path acts by composing the maps along it, and a vector sitting at vertex 11 can be pushed along α\alpha, then along β\beta. That is a module over the algebra of paths: the vector space is V1⊕V2⊕V3V_1 \oplus V_2 \oplus V_3, the idempotent eie_i projects onto ViV_i, and the arrows act by the maps. Every module arises this way.

Cycles change everything. A single loop xx at one vertex has paths e,x,x2,x3,…e, x, x^2, x^3, \dots, all different: the path algebra is the polynomial ring k[x]k[x], infinite-dimensional, and its finite-dimensional modules are vector spaces with an operator, classified by Jordan normal form — with a continuous parameter, the eigenvalue.

DefinitionsH

Definitions and conventions

Definition— quiver; path

A quiver Q=(Q0,Q1,s,t)Q = (Q_0, Q_1, s, t) consists of a set Q0Q_0 of vertices, a set Q1Q_1 of arrows, and maps s,t:Q1→Q0s, t : Q_1 \to Q_0 giving the source and target of each arrow. Loops (s(α)=t(α)s(\alpha) = t(\alpha)) and multiple arrows are allowed. QQ is finite if Q0Q_0 and Q1Q_1 are finite. A path of length ℓ≥1\ell \geq 1 from aa to bb is a sequence of arrows α1α2⋯αℓ\alpha_1 \alpha_2 \cdots \alpha_\ell with s(α1)=as(\alpha_1) = a, t(αi)=s(αi+1)t(\alpha_i) = s(\alpha_{i+1}) and t(αℓ)=bt(\alpha_\ell) = b; for each vertex aa there is also a trivial path eae_a of length 00 from aa to aa. An oriented cycle is a path of positive length from a vertex to itself.

Definition— path algebra

Let kk be a field. The path algebra kQkQ is the kk-vector space with basis the set of all paths of QQ, with multiplication defined on basis elements by

p⋅q={pq (first p, then q)if t(p)=s(q),0otherwise,p \cdot q = \begin{cases} pq \ (\text{first } p, \text{ then } q) & \text{if } t(p) = s(q), \\ 0 & \text{otherwise,} \end{cases}

and extended bilinearly. Convention. This "left to right" order is used by Assem, Simson and Skowroński, among others; many texts multiply in the opposite order, like composition of functions. The two conventions give opposite algebras, and they interchange left and right modules — the main source of sign-of-the-direction confusion in the literature.

Definition— representation of a quiver

A representation VV of QQ over kk assigns a vector space VaV_a to each vertex aa and a linear map Vα:Vs(α)→Vt(α)V_\alpha : V_{s(\alpha)} \to V_{t(\alpha)} to each arrow. A morphism φ:V→W\varphi : V \to W is a family of linear maps φa:Va→Wa\varphi_a : V_a \to W_a with Wαφs(α)=φt(α)VαW_\alpha \varphi_{s(\alpha)} = \varphi_{t(\alpha)} V_\alpha for every arrow. Representations and morphisms form a kk-linear abelian category Repk(Q)\mathrm{Rep}_k(Q) (kernels and cokernels are computed vertex by vertex). For finite-dimensional VV, the dimension vector is dim⁡‾ V=(dim⁡Va)a∈Q0\underline{\dim}\, V = (\dim V_a)_{a \in Q_0}. A path p=α1⋯αℓp = \alpha_1 \cdots \alpha_\ell acts by Vp=Vαℓ∘⋯∘Vα1V_p = V_{\alpha_\ell} \circ \cdots \circ V_{\alpha_1}, and Vea=idVaV_{e_a} = \mathrm{id}_{V_a}.

Definition— simple, projective and injective representations

For a vertex aa: the simple representation S(a)S(a) has kk at aa and 00 elsewhere; the projective representation P(a)P(a) has P(a)bP(a)_b = the vector space with basis the paths from aa to bb, with arrows acting by extending paths (p↦pαp \mapsto p\alpha); the injective representation I(a)I(a) has I(a)bI(a)_b = the dual of the space spanned by the paths from bb to aa.

Definition— indecomposable; interval module

A non-zero representation is indecomposable if it is not a direct sum of two non-zero subrepresentations. For the linearly oriented quiver An:1→2→⋯→nA_n : 1 \to 2 \to \cdots \to n and 1≤a≤b≤n1 \leq a \leq b \leq n, the interval module [a,b][a, b] has kk at the vertices a,a+1,…,ba, a+1, \dots, b, the identity on the arrows between them, and 00 elsewhere.

Worked examplesH

Examples

Example— Path algebras you already know

  • One vertex, no arrows: kQ=kkQ = k. nn vertices, no arrows: kQ=kn=k×⋯×kkQ = k^n = k \times \cdots \times k.
  • One loop xx: paths e,x,x2,…e, x, x^2, \dots with xixj=xi+jx^i x^j = x^{i+j}, so kQ≅k[x]kQ \cong k[x]. Representations are pairs (V,T)(V, T): a vector space with an operator, as in modules over k[x]k[x].
  • One vertex, mm loops: kQkQ is the free algebra k⟨x1,…,xm⟩k\langle x_1, \dots, x_m \rangle on mm non-commuting variables; there are mℓm^\ell paths of length ℓ\ell.
  • Kronecker quiver 1⇉21 \rightrightarrows 2 (arrows α,β\alpha, \beta): basis e1,e2,α,βe_1, e_2, \alpha, \beta, so dim⁡kQ=4\dim kQ = 4; kQ≅(kk20k)kQ \cong \left(\begin{smallmatrix} k & k^2 \\ 0 & k \end{smallmatrix}\right). Representations are pairs of matrices up to (A,B)↦(gAh−1,gBh−1)(A, B) \mapsto (gAh^{-1}, gBh^{-1}): matrix pencils.

Example— Linear Aₙ is upper triangular matrices

In An:1→2→⋯→nA_n : 1 \to 2 \to \cdots \to n there is exactly one path pijp_{ij} from ii to jj for each i≤ji \leq j (with pii=eip_{ii} = e_i), and none for i>ji > j. The multiplication is pijpjl=pilp_{ij} p_{jl} = p_{il} and pijpkl=0p_{ij} p_{kl} = 0 for j≠kj \neq k — exactly the rule EijEkl=δjkEilE_{ij} E_{kl} = \delta_{jk} E_{il} for matrix units. So pij↦Eijp_{ij} \mapsto E_{ij} is an isomorphism from kAnkA_n onto the algebra Tn(k)T_n(k) of upper triangular n×nn \times n matrices, and dim⁡kAn=n(n+1)/2\dim kA_n = n(n+1)/2.

Example— Projectives and injectives of A₃

For 1→2→31 \to 2 \to 3: P(1)=[1,3]P(1) = [1, 3] (paths from 11 reach 1,2,31, 2, 3), P(2)=[2,3]P(2) = [2, 3], P(3)=[3,3]=S(3)P(3) = [3, 3] = S(3); I(1)=[1,1]=S(1)I(1) = [1, 1] = S(1), I(2)=[1,2]I(2) = [1, 2], I(3)=[1,3]I(3) = [1, 3]. So [1,3][1, 3] is projective and injective, the sink gives a simple projective and the source a simple injective. The six interval modules [1,1],[2,2],[3,3],[1,2],[2,3],[1,3][1,1], [2,2], [3,3], [1,2], [2,3], [1,3] are all the indecomposables (Theorem 4).

Example— Orientation matters

The quivers 1→2→31 \to 2 \to 3 and 1→2←31 \to 2 \leftarrow 3 have the same underlying graph but different path algebras: the first has 66 paths (33 trivial, 22 arrows, 11 of length 22), the second only 55. Their representation categories are not equivalent — the first has an indecomposable representation that is both projective and injective, [1,3][1, 3], and the second has none — though they have the same number of indecomposables, as Gabriel's theorem predicts for every orientation of a Dynkin diagram.

ProofH

The main theorems

Theorem— Proposition 1 (structure of kQ)

kQkQ is an associative algebra. The trivial paths are orthogonal idempotents, eaea=eae_a e_a = e_a and eaeb=0e_a e_b = 0 for a≠ba \neq b; ea p=pe_a\, p = p if pp starts at aa and 00 otherwise, and p eb=pp\, e_b = p if pp ends at bb and 00 otherwise. If Q0Q_0 is finite, 1=∑a∈Q0ea1 = \sum_{a \in Q_0} e_a is the identity element, and kQ=⨁a,bea kQ ebkQ = \bigoplus_{a, b} e_a\, kQ\, e_b with ea kQ ebe_a\, kQ\, e_b spanned by the paths from aa to bb.

Proof

On basis elements, (p⋅q)⋅r(p \cdot q) \cdot r and p⋅(q⋅r)p \cdot (q \cdot r) are both non-zero exactly when t(p)=s(q)t(p) = s(q) and t(q)=s(r)t(q) = s(r), and then both equal the concatenation pqrpqr; by bilinearity, multiplication is associative. The statements about eae_a are the definition of the product, with eae_a the path of length 00 at aa. If Q0Q_0 is finite, (∑aea)p=es(p)p=p\bigl(\sum_a e_a\bigr) p = e_{s(p)} p = p and similarly on the right. Finally ea p ebe_a\, p\, e_b is pp if pp runs from aa to bb and 00 otherwise.

∎

Theorem— Theorem 2 (finite dimension)

For a finite quiver QQ, kQkQ is finite-dimensional if and only if QQ has no oriented cycles. In that case every path has length less than ∣Q0∣|Q_0|.

Proof

If cc is an oriented cycle, its powers c,c2,c3,…c, c^2, c^3, \dots are paths of lengths ℓ,2ℓ,3ℓ,…\ell, 2\ell, 3\ell, \dots (ℓ≥1\ell \ge 1), all distinct basis elements, so dim⁡kQ=∞\dim kQ = \infty. Conversely, if there is no oriented cycle, a path α1⋯αℓ\alpha_1 \cdots \alpha_\ell visits the vertices s(α1),t(α1),…,t(αℓ)s(\alpha_1), t(\alpha_1), \dots, t(\alpha_\ell), and these ℓ+1\ell + 1 vertices are distinct — a repetition would contain an oriented cycle. So ℓ+1≤∣Q0∣\ell + 1 \leq |Q_0|. There are at most ∣Q1∣ℓ|Q_1|^\ell paths of length ℓ\ell, hence finitely many paths in all.

∎

The Lean proof of the second half uses a height function: in an acyclic finite quiver one can number the vertices so that every arrow increases the number (a topological sort), and then a path from aa to bb has length at most h(b)−h(a)h(b) - h(a). The first experiment counts paths with powers of the adjacency matrix AA: the number of paths of length ℓ\ell from aa to bb is (Aℓ)ab(A^\ell)_{ab}, and QQ is acyclic iff AA is nilpotent.

Theorem— Theorem 3 (representations are modules)

Let QQ be a finite quiver, and use the multiplication convention above. Then Repk(Q)\mathrm{Rep}_k(Q) is equivalent to the category of right kQkQ-modules (finite-dimensional representations corresponding to finite-dimensional modules). Under this equivalence S(a)S(a), P(a)P(a) and I(a)I(a) correspond to the simple module, the projective module ea kQe_a\, kQ and the injective module Homk(kQ ea,k)\Hom_k(kQ\, e_a, k), and Hom(P(a),V)≅Va\Hom(P(a), V) \cong V_a for every representation VV.

Proof

From representations to modules. Given VV, let F(V)=M=⨁aVaF(V) = M = \bigoplus_{a} V_a, and for a vector v∈Vav \in V_a and a path pp put v⋅p=Vp(v)∈Vt(p)v \cdot p = V_p(v) \in V_{t(p)} if s(p)=as(p) = a, and v⋅p=0v \cdot p = 0 otherwise; extend bilinearly. Then (v⋅p)⋅q=VqVp(v)=Vpq(v)=v⋅(pq)(v \cdot p) \cdot q = V_q V_p (v) = V_{pq}(v) = v \cdot (pq) when the paths compose, and both sides are 00 otherwise; and v⋅1=∑av⋅ea=vv \cdot 1 = \sum_a v \cdot e_a = v. So MM is a right kQkQ-module. A morphism (φa)(\varphi_a) gives ⨁φa\bigoplus \varphi_a, which commutes with the action of arrows — hence of all paths — because φt(α)Vα=Wαφs(α)\varphi_{t(\alpha)} V_\alpha = W_\alpha \varphi_{s(\alpha)}.

From modules to representations. Given a right module MM, put G(M)a=MeaG(M)_a = M e_a and, for an arrow α:a→b\alpha : a \to b, G(M)α(m)=mαG(M)_\alpha(m) = m\alpha; this lies in MebM e_b because α=αeb\alpha = \alpha e_b. A module homomorphism ff restricts to maps Mea→NeaM e_a \to N e_a commuting with the arrows.

They are inverse. F(V)ea=VaF(V) e_a = V_a with the original maps, so GF(V)=VGF(V) = V. Conversely, since the eae_a are orthogonal idempotents with sum 11, M=⨁aMeaM = \bigoplus_a M e_a, and the action of a path p=α1⋯αℓp = \alpha_1 \cdots \alpha_\ell on m∈Meam \in Me_a is the composite of the actions of its arrows, so FG(M)≅MFG(M) \cong M, naturally in MM.

Special objects. F(P(a))F(P(a)) is spanned by the paths starting at aa, that is, ea kQe_a\, kQ, a direct summand of kQ=⨁aea kQkQ = \bigoplus_a e_a\, kQ and hence projective. A module map eakQ→Me_a kQ \to M is determined by the image mm of eae_a, which can be any element with m=meam = m e_a, so Hom(eakQ,M)≅Mea=Va\Hom(e_a kQ, M) \cong M e_a = V_a. The statement for S(a)S(a) is clear, and that for I(a)I(a) is the dual argument.

∎

The isomorphism Hom(P(a),V)≅Va\Hom(P(a), V) \cong V_a is the Yoneda lemma in disguise: P(a)P(a) is the linearised representable functor "paths out of aa" (see the categories viewpoint).

Theorem— Theorem 4 (representations of linear Aₙ)

Every finite-dimensional representation of An:1→2→⋯→nA_n : 1 \to 2 \to \cdots \to n is isomorphic to a direct sum of interval modules [a,b][a, b], 1≤a≤b≤n1 \le a \le b \le n. The interval modules are indecomposable and pairwise non-isomorphic, so AnA_n has exactly n(n+1)/2n(n+1)/2 indecomposable representations up to isomorphism. The multiplicity of [i,j][i, j] in VV is

mij(V)=rij−ri−1, j−ri, j+1+ri−1, j+1,m_{ij}(V) = r_{ij} - r_{i-1,\,j} - r_{i,\,j+1} + r_{i-1,\,j+1},

where rijr_{ij} is the rank of the composite map Vi→VjV_i \to V_j (for i≤ji \leq j), and rij=0r_{ij} = 0 if i=0i = 0 or j=n+1j = n + 1. In particular the decomposition is unique up to isomorphism.

Proof

Reformulation. Let M=V1⊕⋯⊕VnM = V_1 \oplus \cdots \oplus V_n, graded by vertex, and let T:M→MT : M \to M act as Vi→i+1V_{i \to i+1} on ViV_i (and as 00 on VnV_n). Then TT is nilpotent and raises degree by 11. Subrepresentations of VV are exactly the TT-invariant graded subspaces, and direct sum decompositions of VV are decompositions of MM into TT-invariant graded subspaces. Call a homogeneous vector u∈Vau \in V_a with Tb−au≠0T^{b-a}u \neq 0 and Tb−a+1u=0T^{b-a+1}u = 0 the top of a chain u,Tu,…,Tb−auu, Tu, \dots, T^{b-a}u; these vectors lie in different degrees, so they are linearly independent, and they span a subrepresentation isomorphic to [a,b][a, b]. It suffices to show that MM has a basis that is a disjoint union of chains.

Existence of a chain basis — the Jordan normal form argument for nilpotent operators, done with homogeneous vectors. Induct on dim⁡M\dim M; if T=0T = 0, any homogeneous basis consists of chains of length one. Otherwise W=T(M)W = T(M) is a graded TT-invariant subspace of smaller dimension (a nilpotent map is not surjective unless M=0M = 0), so it has a chain basis, with chains C1,…,CrC_1, \dots, C_r with tops w1,…,wrw_1, \dots, w_r and last vectors z1,…,zrz_1, \dots, z_r. Each wi=T(ui)w_i = T(u_i) with uiu_i homogeneous: if wi∈Vcw_i \in V_{c} and wi=T(u)w_i = T(u), take for uiu_i the component of uu in Vc−1V_{c-1}. The last vectors ziz_i form a basis of ker⁡T∩W\ker T \cap W, because TT maps each other chain vector to the next vector of its chain. Choose homogeneous y1,…,ysy_1, \dots, y_s forming a basis of a graded complement of ker⁡T∩W\ker T \cap W in ker⁡T\ker T (complements can be chosen degree by degree). We claim that the extended chains ui,Tui,…u_i, T u_i, \dots together with the chains yjy_j of length one form a basis of MM. Count: their number is dim⁡W+r+s=dim⁡T(M)+dim⁡ker⁡T=dim⁡M\dim W + r + s = \dim T(M) + \dim \ker T = \dim M. Independence: apply TT to a vanishing linear combination; the result is a combination of chain vectors of WW in which each wiw_i appears only with the coefficient of uiu_i, and the other vectors are images of distinct chain vectors, so all coefficients of the uiu_i and of the non-last vectors of the CiC_i vanish; what remains is a combination of the ziz_i and the yjy_j, which are independent.

Indecomposability. An endomorphism of [a,b][a, b] is a family of scalars φa,…,φb\varphi_a, \dots, \varphi_b with φi+1=φi\varphi_{i+1} = \varphi_i (commutation with the identity maps), so End⁡([a,b])=k\operatorname{End}([a, b]) = k. A decomposition into two non-zero summands would give an idempotent endomorphism other than 00 and 11, which kk does not have.

Multiplicities. On [a,b][a, b], the composite map from vertex ii to vertex jj is the identity of kk if a≤i≤j≤ba \leq i \leq j \leq b and 00 otherwise. Ranks add over direct sums, so if V≅⨁[a,b]mabV \cong \bigoplus [a, b]^{m_{ab}} then rij=∑a≤i, b≥jmabr_{ij} = \sum_{a \le i,\ b \ge j} m_{ab}. Inclusion–exclusion over the conditions a≤i−1a \leq i - 1 and b≥j+1b \geq j + 1 gives the formula for mijm_{ij}. The ranks depend only on VV, so the multiplicities do too; in particular non-isomorphic interval modules are distinguished and the decomposition is unique.

∎

The same reformulation shows that representations of linear AnA_n are graded modules over k[t]k[t] killed by tnt^n, and Theorem 4 is the graded version of the structure theorem for modules over the PID k[t]k[t] — the statement behind barcodes in persistent homology (topology viewpoint below). The second experiment hides a known decomposition by random changes of basis and recovers it from the ranks.

Theorem— Theorem 5 (path algebras are hereditary; stated)

Let QQ be a finite quiver without oriented cycles. For every representation VV there is a short exact sequence, the standard resolution,

0→⨁α∈Q1Vs(α)⊗kP(t(α))⟶⨁a∈Q0Va⊗kP(a)⟶V→0.0 \to \bigoplus_{\alpha \in Q_1} V_{s(\alpha)} \otimes_k P(t(\alpha)) \longrightarrow \bigoplus_{a \in Q_0} V_a \otimes_k P(a) \longrightarrow V \to 0.

Hence every representation has projective dimension at most 11, submodules of projective modules are projective, and Extn=0\mathrm{Ext}^n = 0 for n≥2n \geq 2: kQkQ is hereditary. Moreover, for finite-dimensional V,WV, W,

dim⁡Hom(V,W)−dim⁡Ext1(V,W)=∑a∈Q0vawa−∑α∈Q1vs(α)wt(α),\dim \Hom(V, W) - \dim \mathrm{Ext}^1(V, W) = \sum_{a \in Q_0} v_a w_a - \sum_{\alpha \in Q_1} v_{s(\alpha)} w_{t(\alpha)},

the Euler form of the dimension vectors v=dim⁡‾ Vv = \underline{\dim}\, V, w=dim⁡‾ Ww = \underline{\dim}\, W.

For a proof see Crawley-Boevey's Lectures on Representations of Quivers (1992), §1, or Schiffler, Quiver Representations, Chapter 2. For AnA_n the hereditary property can be seen directly: the subrepresentations of P(i)=[i,n]P(i) = [i, n] are the [j,n]=P(j)[j, n] = P(j) for j≥ij \geq i, all projective. The Euler form leads to Gabriel's and Kac's theorems, treated in quiver representations.

Explore

Explore: paths that compose

The diagram below is a representation of the linearly oriented quiver A→B→C→DA \to B \to C \to D in sets rather than vector spaces: each vertex carries a finite set and each arrow a function. Build a path by clicking arrows. When the next arrow starts where your path ends, the path grows and acts by the composite function; when it does not, the widget refuses — that refusal is the rule "p⋅q=0p \cdot q = 0 unless t(p)=s(q)t(p) = s(q)" of the path algebra. The comparison of h∘(g∘f)h \circ (g \circ f) and (h∘g)∘f(h \circ g) \circ f is associativity, Proposition 1. (The widget writes composites in function order, g∘fg \circ f for "first ff, then gg", which is the path fgfg in this lesson's convention.)

Arrows that compose

Click arrows to build a path. Every path composes to a single arrow — and brackets never matter.

fghAidABidBCidCDidD

Your composite

Start by clicking any arrow.

Two ways to bracket h ∘ g ∘ f

x(g∘f)(x)h((g∘f)(x))(h∘g)(f(x))
1x11
2z00
3x11

The last two columns always agree: h ∘ (g ∘ f) = (h ∘ g) ∘ f. That is associativity.

Representations of the one-loop quiver are vector spaces with an operator: on R2\R^2, a 2×22 \times 2 matrix. Its subrepresentations are the invariant subspaces, which the widget draws as dashed lines. A diagonal matrix with distinct eigenvalues decomposes into two simple representations; a shear (1101)\left(\begin{smallmatrix} 1 & 1 \\ 0 & 1 \end{smallmatrix}\right) is indecomposable but not simple; and the scaling preset, with its sliders, decomposes into one-dimensional representations (R,λ)(\R, \lambda), which are pairwise non-isomorphic for different λ\lambda — a continuous family of indecomposables. This is why a quiver with a loop has infinitely many indecomposable representations, while AnA_n has n(n+1)/2n(n+1)/2.

Representations of the one-loop quiver

A representation of x ↻ on the plane is a matrix; dashed lines are subrepresentations.

Your own matrix
λ = 1Ae₁Ae₂
  • image of the grid
  • image of the unit square
  • image of the flag
  • before the transformation
  • invariant line
Entries of the matrix A
A =

The columns of A are the images of e₁ = (1, 0) and e₂ = (0, 1): Ae₁ = (1, 0), Ae₂ = (1, 1)

det A = ad − bc = 1

The unit square (area 1) becomes a parallelogram of area |det A| = 1. Since det A > 0, orientation is preserved.

Invariant lines (real eigenvectors)

λ = 1, v = (1, 0)

Only one invariant line, with eigenvalue 1: there is no second eigenvector direction.

Formal mathematicsF

Quivers in Lean and Mathlib

Mathlib has quivers and their paths, but not path algebras. We formalise the multiplication table of the basis of kQkQ — paths with a zero adjoined — and prove that it is associative, which is the combinatorial content of Proposition 1; extending it bilinearly gives kQkQ.

PathOrZeroLean 4Formally verified
/-- The basis of the path algebra together with zero: either a path `p` from some vertex `a` to
some vertex `b` (recorded with its endpoints), or `none`, standing for `0`. -/
abbrev PathOrZero (V : Type u) [Quiver.{v + 1} V] := Option (Σ a b : V, Quiver.Path a b)
Axioms used: No axiomsformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
pmulLean 4Formally verified
/-- The product of basis paths in `kQ`, with the convention used in the lesson: `p · q` means
"first `p`, then `q`", defined when `p` ends where `q` starts, and `0` otherwise. (Many books
use the opposite order; the two conventions give opposite algebras.) -/
def pmul : PathOrZero V → PathOrZero V → PathOrZero V
  | some ⟨a, b, p⟩, some ⟨c, d, q⟩ =>
      if h : b = c then some ⟨a, d, p.comp (h ▸ q)⟩ else none
  | _, _ => none
Axioms used: propextformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
pmul_assocLean 4Proved here from basic factsFormally verified
/-- **The multiplication of paths is associative**, including the cases where some product is
`0`. Human proof: `(p · q) · r` and `p · (q · r)` are both defined exactly when `p` ends where `q`
starts and `q` ends where `r` starts, and then both equal the concatenation `pqr`, by
associativity of concatenation (`Quiver.Path.comp_assoc`). Extended bilinearly, this makes `kQ`
an associative algebra. -/
theorem pmul_assoc (x y z : PathOrZero V) : pmul (pmul x y) z = pmul x (pmul y z) := by
  rcases x with _ | ⟨a, b, p⟩
  · rfl
  rcases y with _ | ⟨c, d, q⟩
  · simp [pmul]
  rcases z with _ | ⟨e, f, r⟩
  · by_cases h : b = c
    · subst h; simp [pmul]
    · simp [pmul, h]
  by_cases h1 : b = c
  · subst h1
    by_cases h2 : d = e
    · subst h2
      simp [pmul, Quiver.Path.comp_assoc]
    · simp [pmul, h2]
  · by_cases h2 : d = e
    · subst h2
      simp [pmul, h1]
    · simp [pmul, h1, h2]
Axioms used: propextformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
idempotentsLean 4Proved here from basic factsFormally verified
/-- **The trivial paths `eₐ` are orthogonal idempotents**: `eₐ · eₐ = eₐ` and `eₐ · e_b = 0` for
`a ≠ b`. (For a finite quiver their sum is the identity of `kQ`.) -/
theorem idempotents (a b : V) :
    pmul (some ⟨a, a, Quiver.Path.nil⟩) (some ⟨b, b, Quiver.Path.nil⟩) =
      if a = b then some ⟨a, a, Quiver.Path.nil⟩ else none := by
  by_cases h : a = b
  · subst h; simp [pmul]
  · simp [pmul, h]
Axioms used: propextformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
concat_assocLean 4Applies a library theoremFormally verified
/-- Concatenation of paths is associative: Mathlib's `Quiver.Path.comp_assoc`. (Mathlib's
`p.comp q` is "first `p`, then `q`".) -/
theorem concat_assoc {V : Type u} [Quiver.{v + 1} V] {a b c d : V} (p : Quiver.Path a b)
    (q : Quiver.Path b c) (r : Quiver.Path c d) : (p.comp q).comp r = p.comp (q.comp r) :=
  Quiver.Path.comp_assoc p q r
Axioms used: No axiomsformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor

Both halves of Theorem 2: a height function bounds the lengths of paths, and a cycle of positive length has infinitely many distinct powers.

path_length_leLean 4Proved here from basic factsFormally verified
/-- **Acyclic quivers have bounded paths.** If every arrow strictly increases a height function
`h : V → ℕ`, then every path from `a` to `b` has length at most `h b - h a`. Such a function exists
for every finite quiver without oriented cycles (number the vertices compatibly with the arrows),
so then paths have length less than the number of vertices, and with finitely many arrows there
are only finitely many paths: `kQ` is finite-dimensional. Proof: induction on the path. -/
theorem path_length_le {V : Type u} [Quiver.{v + 1} V] (h : V → ℕ)
    (hh : ∀ {a b : V}, (a ⟶ b) → h a < h b) {a b : V} (p : Quiver.Path a b) :
    h a + p.length ≤ h b := by
  induction p with
  | nil => simp
  | cons p e ih =>
    rw [Quiver.Path.length_cons]
    have := hh e
    omega
Axioms used: propext, Quot.soundformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
cyclePowLean 4Formally verified
/-- The powers `cⁿ = c c ⋯ c` of a cycle `c` at a vertex `a`. -/
def cyclePow {V : Type u} [Quiver.{v + 1} V] {a : V} (c : Quiver.Path a a) : ℕ → Quiver.Path a a
  | 0 => Quiver.Path.nil
  | n + 1 => (cyclePow c n).comp c
Axioms used: No axiomsformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
cycle_infiniteLean 4Proved here from basic factsFormally verified
/-- **A cycle makes `kQ` infinite-dimensional.** If `c` is an oriented cycle of positive length,
its powers `cⁿ` have lengths `n · length c`, all different, so there are infinitely many paths
from `a` to `a`. With the previous theorem: a finite quiver has finite-dimensional path algebra
exactly when it has no oriented cycles. -/
theorem cycle_infinite {V : Type u} [Quiver.{v + 1} V] {a : V} (c : Quiver.Path a a)
    (hc : 0 < c.length) : Infinite (Quiver.Path a a) := by
  have hlen : ∀ n : ℕ, (cyclePow c n).length = n * c.length := by
    intro n
    induction n with
    | zero => simp [cyclePow]
    | succ n ih => rw [cyclePow, Quiver.Path.length_comp, ih, Nat.succ_mul]
  refine Infinite.of_injective (cyclePow c) fun m n hmn => ?_
  have := congrArg Quiver.Path.length hmn
  rw [hlen, hlen] at this
  exact Nat.eq_of_mul_eq_mul_right hc this
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor

The linearly oriented quiver AnA_n on the vertices Fin n, and the length of its paths:

LinALean 4Formally verified
/-- The linearly oriented quiver `Aₙ`: vertices `0, 1, …, n-1` and one arrow `i → i+1`. -/
def LinA (n : ℕ) : Type := Fin n
Axioms used: No axiomsformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
linAQuiverLean 4Formally verified
/-- The arrows of `Aₙ`: there is an arrow from `i` to `j` exactly when `j = i + 1`. -/
instance linAQuiver (n : ℕ) : Quiver (LinA n) where
  Hom i j := PLift ((j : Fin n).val = (i : Fin n).val + 1)
Axioms used: No axiomsformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor
lin_a_lengthLean 4Proved here from basic factsFormally verified
/-- **Paths in `Aₙ`.** Every path from `i` to `j` in the linearly oriented quiver has length
exactly `j - i`; in particular paths `i → j` exist only for `i ≤ j`. (There is in fact exactly
one for each `i ≤ j`, so `kAₙ` has dimension `n(n+1)/2` and is isomorphic to the algebra of upper
triangular `n × n` matrices.) Proof: induction on the path, each arrow adding `1`. -/
theorem lin_a_length {n : ℕ} {i j : LinA n} (p : Quiver.Path i j) :
    (i : Fin n).val + p.length = (j : Fin n).val := by
  induction p with
  | nil => simp
  | cons p e ih =>
    rw [Quiver.Path.length_cons]
    have := e.down
    omega
Axioms used: propext, Quot.soundformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor

Finally the categorical half of Theorem 3, from Mathlib's universal property of the free category: a representation is the same as a functor out of the path category.

rep_extendsLean 4Applies a library theoremFormally verified
/-- **Representations of `Q` are functors out of the path category.** A representation — a
prefunctor `ρ : Q ⥤q ModuleCat k` — extends to a functor `F` on the free category `Paths Q`
(paths act by composites of the arrow maps), and `F` is the unique functor that restricts to `ρ`
on arrows. Mathlib: `Paths.lift`, `Paths.lift_spec`, `Paths.lift_unique`. Linearising, a functor
`Paths Q ⥤ ModuleCat k` is the same as a `kQ`-module — the equivalence proved in the lesson. -/
theorem rep_extends {Q : Type u} [Quiver.{w} Q] {k : Type v} [Field k]
    (ρ : Q ⥤q ModuleCat.{v} k) :
    ∃ F : Paths Q ⥤ ModuleCat.{v} k, Paths.of Q ⋙q F.toPrefunctor = ρ ∧
      ∀ G : Paths Q ⥤ ModuleCat.{v} k, Paths.of Q ⋙q G.toPrefunctor = ρ → G = F :=
  ⟨Paths.lift ρ, Paths.lift_spec ρ, fun G hG => Paths.lift_unique ρ G hG⟩
Axioms used: propext, Quot.soundformal/Lumenary/PathAlgebras.leanTry it in the Lean web editor

What is and is not formalised. Proved here: associativity of path multiplication with zero, orthogonality of the trivial idempotents, the length bound for acyclic quivers, infinitely many paths in the presence of a cycle, and the length of paths in AnA_n. From Mathlib: associativity of concatenation and the universal property of the free category. Not formalised: kQkQ as a kk-algebra (it is the contracted semigroup algebra of PathOrZero), the equivalence with kQkQ-modules, the existence of a height function for every finite acyclic quiver, Theorem 4 and Theorem 5. The research lesson on quiver representations formalises Tits forms and the root combinatorics of D4D_4.

ComputationC

Paths and barcodes, computed

The first experiment counts paths with powers of the adjacency matrix: it finds dim⁡kQ\dim kQ for several acyclic quivers (including n(n+1)/2n(n+1)/2 for linear AnA_n), the Cartan matrix C=I+A+A2+⋯=(I−A)−1C = I + A + A^2 + \cdots = (I - A)^{-1} whose entries are the dimensions dim⁡ea kQ eb\dim e_a\, kQ\, e_b, and the growth of path counts when the quiver has cycles.

Counting paths: dimensions of path algebrasPythonExact computationComputationally tested
"""Counting paths: when is a path algebra finite-dimensional?

The path algebra kQ has a basis of all paths, including one trivial path at
each vertex. If A is the adjacency matrix of Q (A[i][j] = number of arrows
i -> j), the number of paths of length k from i to j is the (i, j) entry of
A^k, so dim kQ = sum over k of the entries of A^k. This is finite exactly when
A is nilpotent, that is, when Q has no oriented cycles; then the Cartan
matrix C = I + A + A^2 + ... = (I - A)^(-1) records dim e_i kQ e_j, the number
of paths from i to j. We compute these for several quivers, and the growth of
the number of paths when there are cycles. Exact integer arithmetic.
"""

def matmul(a, b):
    """Product of square integer matrices."""
    n = len(a)
    return [[sum(a[i][k] * b[k][j] for k in range(n)) for j in range(n)]
            for i in range(n)]

def identity(n):
    """The n x n identity matrix."""
    return [[int(i == j) for j in range(n)] for i in range(n)]

def adjacency(n, arrows):
    """Adjacency matrix from a list of arrows (i, j), vertices 0..n-1."""
    a = [[0] * n for _ in range(n)]
    for i, j in arrows:
        a[i][j] += 1
    return a

def paths_by_length(a, max_len):
    """Total number of paths of each length 0..max_len."""
    counts, power = [], identity(len(a))
    for _ in range(max_len + 1):
        counts.append(sum(map(sum, power)))
        power = matmul(power, a)
    return counts

def is_acyclic(a):
    """Q has no oriented cycle iff A^n = 0, n = number of vertices."""
    power = identity(len(a))
    for _ in range(len(a)):
        power = matmul(power, a)
    return all(v == 0 for row in power for v in row)

def cartan(a):
    """C = I + A + A^2 + ... for acyclic Q: C[i][j] = paths from i to j."""
    n = len(a)
    total, power = identity(n), identity(n)
    for _ in range(n):
        power = matmul(power, a)
        total = [[x + y for x, y in zip(r, s)] for r, s in zip(total, power)]
    return total

QUIVERS = {
    "A_4 linear 0->1->2->3": (4, [(0, 1), (1, 2), (2, 3)]),
    "A_4 zigzag 0->1<-2->3": (4, [(0, 1), (2, 1), (2, 3)]),
    "D_4, arms into centre": (4, [(1, 0), (2, 0), (3, 0)]),
    "Kronecker 0 => 1": (2, [(0, 1), (0, 1)]),
    "A_3 cyclic 0->1->2->0": (3, [(0, 1), (1, 2), (2, 0)]),
    "one loop (Jordan)": (1, [(0, 0)]),
    "two loops": (1, [(0, 0), (0, 0)]),
}

def main():
    print("Quiver                     acyclic  dim kQ   paths of length 0..6")
    for name, (n, arrows) in QUIVERS.items():
        a = adjacency(n, arrows)
        counts = paths_by_length(a, 6)
        dim = sum(map(sum, cartan(a))) if is_acyclic(a) else "inf"
        print(f"{name:26} {str(is_acyclic(a)):7}  {str(dim):6}   {counts}")
    lin = [sum(map(sum, cartan(adjacency(n, [(i, i + 1) for i in range(n - 1)]))))
           for n in range(1, 9)]
    print("dim kA_n, linear A_n, n = 1..8:", lin)
    print("  equal to n(n+1)/2:", lin == [n * (n + 1) // 2 for n in range(1, 9)])
    print("Cartan matrix of linear A_4 (row i: paths from i to j):")
    for row in cartan(adjacency(4, QUIVERS["A_4 linear 0->1->2->3"][1])):
        print("  ", row)
    print()
    print("Epistemic status: exact counts for the listed quivers and lengths. "
          "That dim kQ\nis finite exactly for acyclic finite quivers is proved "
          "in the lesson (and its\ntwo halves in Lean); the growth figures for "
          "cyclic quivers are illustrations.")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

The second builds random representations of A5A_5 over F7\mathbb{F}_7 as sums of interval modules, disguises them by random changes of basis at every vertex, and recovers the multiplicities from ranks alone, using the formula of Theorem 4.

Recovering interval decompositions of linear A_nPythonExact computationExperimental evidenceComputationally tested
"""Recovering the interval decomposition of a representation of linear A_n.

A representation of 1 -> 2 -> ... -> n over F_p is a list of matrices. The
lesson proves it is a direct sum of interval modules [a, b] (k at vertices
a..b, identity maps inside), and that the multiplicity of [i, j] is
    m(i, j) = r(i, j) - r(i-1, j) - r(i, j+1) + r(i-1, j+1),
where r(i, j) is the rank of the composite map V_i -> V_j (and r = 0 when
i = 0 or j = n + 1). We build random representations as sums of known
intervals, hide the decomposition by random changes of basis at each vertex,
and recover the multiplicities from ranks alone. Exact arithmetic mod p,
seeded random examples.
"""

import random

P = 7

def matmul(a, b, p=P):
    """Matrix product mod p (a is m x k, b is k x n, lists of rows)."""
    if not a or not b or not b[0]:
        return [[0] * (len(b[0]) if b else 0) for _ in a]
    return [[sum(x * y for x, y in zip(row, col)) % p for col in zip(*b)]
            for row in a]

def rank(mat, p=P):
    """Rank mod p by row reduction."""
    rows = [[v % p for v in r] for r in mat]
    r = 0
    for c in range(len(rows[0]) if rows else 0):
        piv = next((i for i in range(r, len(rows)) if rows[i][c]), None)
        if piv is None:
            continue
        rows[r], rows[piv] = rows[piv], rows[r]
        inv = pow(rows[r][c], p - 2, p)
        rows[r] = [v * inv % p for v in rows[r]]
        for i in range(len(rows)):
            if i != r and rows[i][c]:
                k = rows[i][c]
                rows[i] = [(x - k * y) % p for x, y in zip(rows[i], rows[r])]
        r += 1
    return r

def inverse(mat, p=P):
    """Inverse of an invertible square matrix mod p (Gauss-Jordan)."""
    n = len(mat)
    aug = [[v % p for v in row] + [int(i == j) for j in range(n)]
           for i, row in enumerate(mat)]
    for c in range(n):
        piv = next(i for i in range(c, n) if aug[i][c])
        aug[c], aug[piv] = aug[piv], aug[c]
        inv = pow(aug[c][c], p - 2, p)
        aug[c] = [v * inv % p for v in aug[c]]
        for i in range(n):
            if i != c and aug[i][c]:
                k = aug[i][c]
                aug[i] = [(x - k * y) % p for x, y in zip(aug[i], aug[c])]
    return [row[n:] for row in aug]

def random_invertible(n, rng, p=P):
    """A random invertible n x n matrix mod p."""
    while True:
        m = [[rng.randrange(p) for _ in range(n)] for _ in range(n)]
        if rank(m, p) == n:
            return m

def interval_sum(n, intervals):
    """Dimensions and maps (V_k -> V_(k+1), rows = target) of a sum of
    interval modules [a, b], vertices 1..n."""
    dims = [sum(1 for a, b in intervals if a <= k <= b) for k in range(1, n + 1)]
    maps = []
    for k in range(1, n):
        src = [t for t, (a, b) in enumerate(intervals) if a <= k <= b]
        dst = [t for t, (a, b) in enumerate(intervals) if a <= k + 1 <= b]
        maps.append([[int(s == d) for s in src] for d in dst])
    return dims, maps

def disguise(dims, maps, rng):
    """Change basis at every vertex: f_k -> g_(k+1) f_k g_k^(-1)."""
    g = [random_invertible(d, rng) for d in dims]
    return [matmul(matmul(g[k + 1], f), inverse(g[k]))
            for k, f in enumerate(maps)]

def composite_rank(dims, maps, i, j):
    """Rank of V_i -> V_j (1 <= i <= j <= n); 0 outside that range."""
    n = len(dims)
    if i < 1 or j > n:
        return 0
    if dims[i - 1] == 0:
        return 0
    m = [[int(r == c) for c in range(dims[i - 1])] for r in range(dims[i - 1])]
    for k in range(i, j):
        if dims[k] == 0:
            return 0
        m = matmul(maps[k - 1], m)
    return rank(m)

def multiplicities(dims, maps):
    """{(i, j): m(i, j)} from ranks by inclusion-exclusion."""
    n = len(dims)

    def r(i, j):
        return composite_rank(dims, maps, i, j)

    return {(i, j): r(i, j) - r(i - 1, j) - r(i, j + 1) + r(i - 1, j + 1)
            for i in range(1, n + 1) for j in range(i, n + 1)}

def main():
    rng = random.Random(1972)
    n, trials, recovered = 5, 200, 0
    example = None
    for _ in range(trials):
        intervals = sorted((a, b) for a, b in
                           (sorted(rng.choices(range(1, n + 1), k=2))
                            for _ in range(rng.randint(1, 6))))
        dims, maps = interval_sum(n, intervals)
        hidden = disguise(dims, maps, rng)
        mult = multiplicities(dims, hidden)
        truth = {(i, j): intervals.count((i, j))
                 for i in range(1, n + 1) for j in range(i, n + 1)}
        recovered += mult == truth
        if example is None and len(intervals) >= 4:
            example = (intervals, dims, hidden, mult)
    intervals, dims, hidden, mult = example
    print(f"Linear A_{n} over F_{P}: {n * (n + 1) // 2} interval modules "
          "[a, b] are the indecomposables.")
    print(f"Hidden barcode {intervals}")
    print(f"  dimension vector {dims}; after random changes of basis the map")
    print(f"  V_1 -> V_2 is {hidden[0]}")
    found = sorted(k for k, v in mult.items() for _ in range(v))
    print(f"  recovered from ranks: {found}")
    print(f"Barcode recovered exactly in {recovered} of {trials} random trials")
    print()
    print("Epistemic status: exact arithmetic mod 7 on 200 seeded random "
          "examples; evidence\nthat the rank formula recovers the "
          "decomposition, not a proof. The lesson proves\nthe interval "
          "decomposition and the formula for every representation.")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.
Exercises

Exercises

1. Quivers and path algebras

Warm-upHuman

The quiver QQ has vertices 1,2,31, 2, 3 and arrows α:1→2\alpha : 1 \to 2, β:2→3\beta : 2 \to 3 and γ:1→3\gamma : 1 \to 3. What is dim⁡kkQ\dim_k kQ?

2. Quivers and path algebras

Warm-upHuman

For which of these finite quivers is the path algebra kQkQ finite-dimensional? (Choose all that apply.)

Choose all that apply

3. Quivers and path algebras

CoreHuman

In kQkQ for Q:1→α2→β3Q : 1 \xrightarrow{\alpha} 2 \xrightarrow{\beta} 3, with the lesson's convention (pqpq = first pp, then qq), which products are non-zero? (Choose all that apply.)

Choose all that apply

4. Quivers and path algebras

CoreHuman

How many indecomposable representations, up to isomorphism, does the linearly oriented quiver 1→2→⋯→61 \to 2 \to \cdots \to 6 have?

5. Quivers and path algebras

CoreHuman

A representation VV of 1→2→31 \to 2 \to 3 has dimension vector (2,3,2)(2, 3, 2), and the composite maps have ranks r12=2r_{12} = 2, r23=2r_{23} = 2, r13=1r_{13} = 1. What is its decomposition into interval modules?

Choose one

6. Quivers and path algebras

StretchHuman

In the proof that representations of QQ are the same as kQkQ-modules, where is it used that QQ has finitely many vertices?

Choose one

7. Quivers and path algebras

CoreFormal

Which Lean statement expresses the half of Theorem 2 proved in cycle_infinite (for a vertex a of a quiver V)?

Choose one

8. Quivers and path algebras

StretchComputational

For an acyclic quiver with vertices 0,…,n−10, \dots, n-1 and a list of arrows (i, j) (from ii to jj, repeats allowed), write projective_dims(n, arrows, a) returning the dimension vector of the projective representation P(a)P(a): entry bb is the number of paths from aa to bb (including the trivial path when b=ab = a).

Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.
Common misconceptionsH

Common misconceptions

Misconception

"The order of multiplication of paths is standard." It is not. This lesson writes pqpq for "first pp, then qq", and representations become right modules; texts that multiply like composition of functions write qpqp for the same path, and representations become left modules. Neither is wrong, but mixing them silently replaces kQkQ by its opposite algebra — which is the path algebra kQopkQ^{\mathrm{op}} of the quiver with all arrows reversed — and exchanges projectives with injectives. Always check a book's convention before using its formulas.

Misconception

"A quiver is just a graph." Orientation and multiplicity matter. 1→2→31 \to 2 \to 3 and 1→2←31 \to 2 \leftarrow 3 have the same underlying graph but path algebras of different dimensions (66 and 55) and inequivalent representation categories. Two arrows 1⇉21 \rightrightarrows 2 give the Kronecker quiver, with infinitely many indecomposables, while one arrow gives A2A_2, with three. What the underlying graph does control, by Gabriel's theorem, is whether there are finitely many indecomposables at all.

Misconception

"Path algebras are always finite-dimensional" — or, conversely, "an infinite-dimensional path algebra has no interesting finite-dimensional representations". A single loop already gives k[x]k[x], whose finite-dimensional modules are all square matrices up to similarity. Finiteness of kQkQ is about oriented cycles (Theorem 2), not about the number of arrows.

Misconception

"The dimension vector determines a representation." For A3A_3, the representations [1,2]⊕[2,3]⊕[1,3][1,2] \oplus [2,3] \oplus [1,3] and [1,3]2⊕[2,2][1,3]^2 \oplus [2,2] both have dimension vector (2,3,2)(2, 3, 2), but the rank of V1→V3V_1 \to V_3 is 11 for the first and 22 for the second. The dimension vector is the first invariant; the ranks of composite maps complete it for AnA_n (Theorem 4).

ViewpointsH

Viewpoints

Category theory— Free categories, functors and Yoneda

The paths of QQ form the free category Path(Q)\mathrm{Path}(Q) on QQ: objects are vertices, morphisms are paths, composition is concatenation, and every graph morphism from QQ to the underlying graph of a category C\mathcal{C} extends uniquely to a functor Path(Q)→C\mathrm{Path}(Q) \to \mathcal{C}. The path algebra is its linearisation — the free kk-linear category with all objects added together — and a representation is a functor Path(Q)→Vectk\mathrm{Path}(Q) \to \cat{Vect}_k, with morphisms of representations the natural transformations (see categories and functors). The projective P(a)P(a) is the linearised representable functor k Path(Q)(a,−)k\,\mathrm{Path}(Q)(a, -), and Hom(P(a),V)≅Va\Hom(P(a), V) \cong V_a is the Yoneda lemma. Representations in sets, as in the widget above, are functors to Set\cat{Set}.

Algebra— Every finite-dimensional algebra is a quotient of a path algebra

Path algebras are the free objects among finite-dimensional algebras of a certain kind: kQkQ is the tensor algebra of the kQ0k^{Q_0}-bimodule spanned by the arrows. Gabriel proved that every finite-dimensional algebra AA over an algebraically closed field is Morita equivalent to a bound quiver algebra kQ/IkQ/I, where QQ — the Gabriel quiver of AA — has one vertex for each simple module and dim⁡Ext1(Sa,Sb)\dim \mathrm{Ext}^1(S_a, S_b) arrows joining aa and bb (oriented according to the chosen convention), and II is an admissible ideal of relations (Assem–Simson–Skowroński, Chapter II). So quivers with relations are a universal language for finite-dimensional algebras; for instance the group algebra of a cyclic pp-group over Fp\mathbb{F}_p is k[x]/(xpm)k[x]/(x^{p^m}), one loop with one relation. Conversely, the basic connected hereditary finite-dimensional algebras over an algebraically closed field are exactly the path algebras kQkQ of acyclic quivers, with no relations (Assem–Simson–Skowroński, Chapter VII).

Topology— Persistence modules and barcodes

In topological data analysis a point cloud is thickened at increasing scales ε1<⋯<εn\varepsilon_1 < \cdots < \varepsilon_n, giving spaces X1⊆⋯⊆XnX_1 \subseteq \cdots \subseteq X_n and, for each degree dd, a representation Hd(X1)→⋯→Hd(Xn)H_d(X_1) \to \cdots \to H_d(X_n) of linear AnA_n — a persistence module. Theorem 4 decomposes it into intervals [a,b][a, b]: homological features (components, loops, voids) born at scale εa\varepsilon_a and dying after εb\varepsilon_b. This barcode is computed from the ranks rijr_{ij} exactly as in the formula of Theorem 4, and the stability theorem of Cohen-Steiner, Edelsbrunner and Harer (2007) shows it changes little when the data change little (in the bottleneck distance). Zigzag persistence (Carlsson and de Silva, 2010) uses AnA_n with arbitrary orientations, where Gabriel's theorem again guarantees interval decompositions (see algebraic topology).

Geometry— Representation spaces and orbits

Fix a dimension vector dd. All representations with Va=kdaV_a = k^{d_a} form the affine space Rep(Q,d)=∏α∈Q1Hom(kds(α),kdt(α))\mathrm{Rep}(Q, d) = \prod_{\alpha \in Q_1} \Hom(k^{d_{s(\alpha)}}, k^{d_{t(\alpha)}}), on which the group GL(d)=∏aGLda(k)GL(d) = \prod_a GL_{d_a}(k) acts by change of basis; isomorphism classes of representations are its orbits. For A2A_2 the orbits in Hom(km,kn)\Hom(k^m, k^n) are the matrices of fixed rank, and orbit closures are the determinantal varieties "rank ≤r\leq r". Counting dimensions — dim⁡Rep(Q,d)=∑αds(α)dt(α)\dim \mathrm{Rep}(Q, d) = \sum_\alpha d_{s(\alpha)} d_{t(\alpha)} against dim⁡GL(d)−1=∑ada2−1\dim GL(d) - 1 = \sum_a d_a^2 - 1 (scalars act trivially) — shows that finitely many orbits force ∑ada2−∑αds(α)dt(α)≥1\sum_a d_a^2 - \sum_\alpha d_{s(\alpha)}d_{t(\alpha)} \geq 1: the Euler form of Theorem 5 again, the starting point of Tits' proof of one half of Gabriel's theorem. Quotients of Rep(Q,d)\mathrm{Rep}(Q, d) by GL(d)GL(d) in geometric invariant theory give quiver varieties, used for example in Nakajima's geometric construction of representations of Kac–Moody algebras.

History & global context

History and global context

  • Special cases are classical: Karl Weierstrass (1868) and Leopold Kronecker (1890) classified matrix pencils — representations of the Kronecker quiver — and Jordan normal form classifies representations of the loop.
  • Israel Gelfand and V. A. Ponomarev solved the four-subspace problem (1970). Pierre Gabriel introduced the word Köcher (quiver) and the general notion of quiver representation, and proved that a connected quiver has finitely many indecomposables exactly when its graph is of type AA, DD or EE (1972). I. N. Bernstein, I. M. Gelfand and V. A. Ponomarev gave a new proof with reflection functors (1973), and the tame quivers (extended Dynkin diagrams) were classified independently by L. A. Nazarova (1973) and by Peter Donovan and Mary Ruth Freislich (1973).
  • The Kyiv school of matrix problems (A. V. Roiter, who proved the first Brauer–Thrall conjecture in 1968, and Nazarova), Maurice Auslander and Idun Reiten's almost split sequences (1970s), Claus Michael Ringel's work on tame algebras, and Victor Kac's theorem relating indecomposables to roots (1980) shaped the representation theory of finite-dimensional algebras, now pursued by research groups across Europe, the Americas and Asia; a standard textbook is by Ibrahim Assem (Sherbrooke), Daniel Simson and Andrzej Skowroński (Toruń).
  • Persistence: Herbert Edelsbrunner, David Letscher and Afra Zomorodian introduced persistent homology (2002); Zomorodian and Gunnar Carlsson gave its module-theoretic form (2005); Carlsson and Vin de Silva connected it to quiver representations through zigzag persistence (2010).
Further reading

Further reading

  • Ralf Schiffler, Quiver Representations (2014) — an accessible first course: path algebras, the equivalence of categories, Auslander–Reiten theory and Gabriel's theorem.
  • Ibrahim Assem, Daniel Simson and Andrzej Skowroński, Elements of the Representation Theory of Associative Algebras, Volume 1 (2006) — bound quiver algebras, Gabriel's theorem on finite-dimensional algebras, hereditary algebras.
  • Harm Derksen and Jerzy Weyman, An Introduction to Quiver Representations (2017) — with invariant theory and the geometric viewpoint.
  • William Crawley-Boevey, Lectures on Representations of Quivers (1992 lecture notes) — a short, classic introduction including the standard resolution and Gabriel's theorem.
  • Alexander Kirillov Jr., Quiver Representations and Quiver Varieties (2016) — from quivers to Lie theory and geometry.
  • Steve Y. Oudot, Persistence Theory: From Quiver Representations to Data Analysis (2015) — barcodes, stability and zigzags.