Path algebras of quivers #
The path algebra kQ of a quiver Q over a semiring k is the free k-module on the paths of
Q, with the product of two paths their concatenation when they are composable and 0 otherwise.
The path index TauCeti.Quiver.TotalPath and its partial concatenation are developed in
TauCeti.Combinatorics.Quiver.TotalPath, independently of the coefficient semiring.
Paths are concatenated in the later factor first order: for p : Path a b and q : Path c a,
the product of the corresponding basis elements is the basis element of q.comp p : Path c b.
With this convention an arrow α : i ⟶ j satisfies eⱼ * α = α = α * eᵢ for the vertex
idempotents e, so left multiplication by α carries the i-component of a left module to its
j-component: representations of Q are left kQ-modules.
Main definitions #
TauCeti.pathAlgebra k Q: the path algebra, withTauCeti.PathAlgebra.singleits basis elements. For any quiver it is a non-unital semiring or ring, associative or not, wheneverkis, with scalars fromkpassing through products (on both sides whenkis commutative), and it carriesSemiring,RingandAlgebra kstructures once the vertex type isFinite, finiteness being what makes the unit1 = ∑ᵥ eᵥexist.TauCeti.PathAlgebra.vertexIdempotent: the idempotenteᵥgiven by the trivial path atv.TauCeti.pathAlgebraBasis: the paths ofQas ak-basis ofkQ.TauCeti.PathAlgebra.liftNonUnitalAlgHom: extends a multiplicative assignment on paths to a non-unital algebra homomorphism, for any quiver and a possibly non-associative target.TauCeti.PathAlgebra.liftAlgHom: the unital universal property of the path algebra, extending an assignment of elements of ak-algebra to the basis paths to an algebra homomorphism out ofkQ, the only one doing so byTauCeti.PathAlgebra.liftAlgHom_unique.
Main results #
TauCeti.PathAlgebra.single_mul_single: the defining product of two basis paths.TauCeti.PathAlgebra.one_def: the vertex idempotents sum to1; they are orthogonal byTauCeti.PathAlgebra.vertexIdempotent_mul_vertexIdempotent_of_ne, idempotent byTauCeti.PathAlgebra.vertexIdempotent_mul_selfand nonzero byTauCeti.PathAlgebra.vertexIdempotent_ne_zero. The first three are bundled asTauCeti.PathAlgebra.completeOrthogonalIdempotents_vertexIdempotent.TauCeti.module_finite_pathAlgebraandTauCeti.finrank_pathAlgebra:kQis a free module of rank the number of paths ofQ, withTauCeti.pathAlgebraBasis_repr_singlereading off the coordinates of a basis path andTauCeti.linearIndependent_ofPathrecording that the path basis is linearly independent. Over a nonzerokthe finiteness is an equivalence,TauCeti.module_finite_pathAlgebra_iff; the specialization to a finite acyclic quiver, whose paths are finite, isTauCeti.finiteDimensional_pathAlgebra_of_isAcyclicinTauCeti.RepresentationTheory.Quiver.Acyclic.PathAlgebra.TauCeti.vertexIdempotent_mul_mul_vertexIdempotent: when the trivial path is the only path fromvto itself,eᵥ f eᵥis the coefficient offon that path, timeseᵥ, so the cornereᵥ kQ eᵥis a copy ofk. This is what makes the trivial paths visible to a two-sided ideal.TauCeti.PathAlgebra.adjoin_vertexIdempotents_union_arrows: the vertex idempotents and arrows generate the path algebra.
Implementation notes #
pathAlgebra k Q is a semireducible type synonym for Quiver.TotalPath Q →₀ k, following the
pattern of MonoidAlgebra: were it reducible, instance search would unfold it and pick up the
pointwise multiplication of Finsupp. The multiplication is therefore introduced as an
operation mul' on Quiver.TotalPath Q →₀ k (with singleOption naming the product of two basis
paths, which is a basis path or 0), where the Finsupp API applies without friction; the ring
axioms are proved there and transferred definitionally.
That whole layer is private. The exposed Mul instance spells out the same operation because it
cannot mention a private declaration; mul_def records their definitional agreement. The ring
axioms reach the structure instances through a by exact for the same reason. pathAlgebra is the
only definition whose body is @[expose]d, because the transported instances unfold it; every other
definition here is opaque downstream, which sees the path algebra through its algebraic structure
and the lemmas below
(ofPath_eq_single and vertexIdempotent_eq_single for the basis elements, single_mul_single
and the mul? lemmas for products) rather than through the Finsupp representation.
Since Finset.univ is data, the unit is the sum of the vertex idempotents over a Fintype
structure chosen internally by Fintype.ofFinite; the unital instances therefore ask only for
[Finite Q], and one_def identifies 1 with the sum over any Fintype Q a caller supplies.
References #
Assem--Simson--Skowroński, Elements of the Representation Theory of Associative Algebras I, Ch. II.
The path algebra #
The path algebra of a quiver Q over k: the free k-module on the paths of Q, with
multiplication the concatenation of composable paths in the later factor first order, and 0 on
non-composable pairs.
This is a semireducible type synonym so that instance search does not confuse the path
multiplication with the pointwise multiplication of Finsupp.
Equations
- TauCeti.pathAlgebra k Q = (TauCeti.Quiver.TotalPath Q →₀ k)
Instances For
Equations
- One or more equations did not get rendered due to their size.
The basis element of the path algebra attached to a path, with a coefficient.
Equations
Instances For
A basis path with coefficient zero is zero.
Basis paths are additive in their coefficient.
Additive induction on the path algebra: it suffices to treat 0, sums, and basis paths.
Equations
- One or more equations did not get rendered due to their size.
The multiplication #
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Products of basis paths #
The defining product of two basis paths: their concatenation, later factor first, when they
are composable, and 0 otherwise.
Multiplying two composable basis paths concatenates them, later factor first.
The product of two basis paths that are not composable vanishes.
Equations
- TauCeti.PathAlgebra.instNonUnitalSemiringPathAlgebra = { toNonUnitalNonAssocSemiring := TauCeti.PathAlgebra.instNonUnitalNonAssocSemiringPathAlgebra, mul_assoc := ⋯ }
The basis element of the path algebra attached to a path.
Equations
Instances For
A path is the basis element it indexes, with coefficient one.
The defining product of two basis paths: their concatenation, later factor first, when
they are composable, and 0 otherwise. This is TauCeti.PathAlgebra.single_mul_single read on the
path basis.
Two composable paths multiply to their concatenation, later factor first.
The vertex idempotents #
The idempotent of the path algebra attached to a vertex: the trivial path at that vertex.
Equations
Instances For
The vertex idempotent is the basis element of the trivial path, with coefficient one.
The vertex idempotent is the basis element of the trivial path at its vertex.
The vertex idempotent at the target of a path is a left unit for it.
The vertex idempotent at the source of a path is a right unit for it.
The vertex idempotent at the target of a path is a left unit for its canonical element.
The vertex idempotent at the source of a path is a right unit for its canonical element.
A vertex idempotent not at the target of a path annihilates its canonical element on the left.
A vertex idempotent not at the source of a path annihilates its canonical element on the right.
The vertex idempotents are idempotent.
Over a nonzero base ring, a vertex idempotent is nonzero.
The unit #
Equations
- TauCeti.PathAlgebra.instOnePathAlgebra = { one := ∑ v : Q, TauCeti.PathAlgebra.vertexIdempotent k v }
Equations
- One or more equations did not get rendered due to their size.
The vertex idempotents are a complete orthogonal family of idempotents: they are
idempotent, pairwise orthogonal, and sum to 1. This bundles TauCeti.PathAlgebra.one_def
with the orthogonality and idempotency above.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- TauCeti.PathAlgebra.instNonUnitalRingPathAlgebra = { toNonUnitalNonAssocRing := TauCeti.PathAlgebra.instNonUnitalNonAssocRingPathAlgebra, mul_assoc := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
The image of a scalar in the path algebra spreads it over the vertex idempotents.
The path basis #
The paths of Q are a k-basis of the path algebra.
Equations
Instances For
The path basis consists of the basis paths.
The path algebra of a quiver with finitely many paths is a finite k-module.
The path algebra is a finite module exactly when the quiver has finitely many paths, over a
nonzero base ring. Over the zero ring the path algebra is the zero module however many paths Q
has.
The paths form a linearly independent family in the path algebra.
The coordinates of a basis path for the path basis.
The coordinates of eᵥ f: left multiplication by the vertex idempotent at v keeps the
coordinates of f on the paths ending at v and kills the others.
Multiplying on both sides by a vertex idempotent reads off a coordinate. When the trivial
path is the only path from v to itself, eᵥ f eᵥ is the coordinate of f on that path, times
eᵥ, so that the corner eᵥ kQ eᵥ is a copy of k. An acyclic quiver supplies the hypothesis
through TauCeti.Quiver.IsAcyclic.eq_nil.
The universal property #
The k-linear map extending an assignment of module elements to the basis paths. Its
multiplicative upgrade TauCeti.PathAlgebra.liftNonUnitalAlgHom is available when the assignment
concatenates composable paths and annihilates products of paths that do not meet. For finite vertex
types, TauCeti.PathAlgebra.liftAlgHom also preserves the unit when the trivial paths map to a
decomposition of the target unit.
Equations
- TauCeti.PathAlgebra.liftLinear k F = ((TauCeti.pathAlgebraBasis k Q).constr ℕ) F
Instances For
The linear extension of an assignment agrees with it on the basis paths.
The linear extension of an assignment on a basis path with a coefficient.
The linear extension of an assignment sending the trivial paths to a decomposition of 1
preserves the unit.
Non-unital algebra homomorphisms out of a path algebra are determined by their values on the basis paths.
A path assignment respecting concatenation and vanishing on noncomposable products has a multiplicative linear extension. No finiteness assumption on the vertex type or unit in the target is required.
Extend a path assignment respecting concatenation and vanishing on noncomposable products
to a non-unital algebra homomorphism. This is the path-algebra analogue of
MonoidAlgebra.liftMagma: the quiver may have infinitely many vertices, and the target need not
have a unit or associative multiplication.
Equations
- TauCeti.PathAlgebra.liftNonUnitalAlgHom k F hcomp hzero = { toFun := (↑(TauCeti.PathAlgebra.liftLinear k F).toAddMonoidHom).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯, map_mul' := ⋯ }
Instances For
The non-unital lift has the given linear extension as its underlying function.
The non-unital lift agrees with the assignment on basis paths.
The non-unital lift sends a scaled basis path to the scaled assigned value.
The non-unital lift is the unique non-unital algebra homomorphism extending the assignment.
The universal property of the path algebra: an assignment F of elements of a k-algebra
B to the basis paths extends to a k-algebra homomorphism kQ →ₐ[k] B as soon as it turns the
three defining products of kQ into products in B — composable paths concatenate (hcomp,
later factor first, as TauCeti.PathAlgebra.single_mul_single_of_comp multiplies them), paths that
do not meet annihilate one another (hzero), and the trivial paths give a decomposition of the
unit (hone), as TauCeti.PathAlgebra.one_def says of the vertex idempotents.
Equations
- TauCeti.PathAlgebra.liftAlgHom k F hcomp hzero hone = AlgHom.ofLinearMap (TauCeti.PathAlgebra.liftLinear k F) ⋯ ⋯
Instances For
The lift extends the assignment: a basis path goes to the element it was assigned.
Forgetting the unit condition on the unital lift gives the non-unital lift.
The lift is k-linear, so a scaled basis path scales the element it was assigned.
Algebra homomorphisms out of a path algebra are determined by their values on the paths.
This is TauCeti.PathAlgebra.liftAlgHom_unique in the form which
compares two given homomorphisms, with no assignment F to name.
The lift is the only one: an algebra homomorphism out of kQ taking the value F x on
each basis path is TauCeti.PathAlgebra.liftAlgHom.
Algebra isomorphisms out of a path algebra are determined by their values on the paths.
Two ring homomorphisms out of an algebra admitting a surjective map from a path algebra are equal if they agree on coefficients and on the images of all paths.
The finite rank of the path algebra is the number of paths of Q. If there are infinitely
many paths, both sides are zero.
The path-algebra element attached to an arrow.
Equations
Instances For
Extending a path by an arrow. In the later-factor-first convention the new arrow is the left factor, so the product is the path with that arrow consed on.
Transporting an arrow along equalities of its source and target does not change the basis element it names, the endpoints of a path being recorded in the path itself.
The coordinates of an arrow times a basis path: the basis path extended by the arrow. This is
not a simp lemma, since TauCeti.PathAlgebra.ofArrow_eq_ofPath rewrites its left-hand side.
The simp-normal form of TauCeti.PathAlgebra.pathAlgebraBasis_repr_ofArrow_mul_single, in
which TauCeti.PathAlgebra.ofArrow_eq_ofPath has written the arrow as its length-one path.
Reading off a coordinate through the last arrow: the coordinate of b f on the path q
followed by b is the coordinate of f on q.
The simp-normal form of TauCeti.PathAlgebra.pathAlgebraBasis_repr_ofArrow_mul_cons, in which
TauCeti.PathAlgebra.ofArrow_eq_ofPath has written the arrow as its length-one path.
A path ending in the arrow b has coordinate zero in b' f for every other arrow b' with
the same target.
The simp-normal form of TauCeti.PathAlgebra.pathAlgebraBasis_repr_ofArrow_mul_cons_of_ne, in
which TauCeti.PathAlgebra.ofArrow_eq_ofPath has written the arrow b' as its length-one path.
The vertex idempotents and arrows generate the path algebra. Vertex idempotents are necessary: arrows alone do not generate the path algebra of, for example, a discrete multi-vertex quiver.