\( \gdef\badDispatch#1{\textbf{\textcolor{e1432d}{#1}}} \gdef\noKatexForm#1{\badDispatch{#1}} \gdef\largeDot{\raisebox{0.06em}{\tiny∙}} \gdef\rarrbar{ {\raisebox{-0.05em}{→}\mkern{-0.13em}{\large\shortmid}}} \gdef\larrbar{ { {\large\shortmid}\mkern{-0.13em}{\raisebox{-0.05em}{←}}}} \gdef\suptrans{^\mathsf{T}} \gdef\supdagger{^\dagger} \gdef\rawsymbol#1{\operatorname{#1}} \gdef\colorsymbol#1#2{\textcolor{#1}{\rawsymbol{#2}}} \gdef\lsymbol#1{\colorsymbol{262626}{#1}} \gdef\msymbol#1{\colorsymbol{b50800}{#1}} \gdef\osymbol#1{\colorsymbol{00427f}{#1}} \gdef\lstring#1{\textcolor{666666}{\textrm{\textquotedblleft{\text{#1}}\textquotedblright}}} \gdef\boldForm#1{\textbf{#1}} \gdef\lrform#1{ {\textcolor{e1432d}{#1}}} \gdef\lgform#1{ {\textcolor{4ea82a}{#1}}} \gdef\lbform#1{ {\textcolor{3e81c3}{#1}}} \gdef\lrgform#1{ {\textcolor{ffc87d}{#1}}} \gdef\lgbform#1{ {\textcolor{96e2e3}{#1}}} \gdef\lrbform#1{ {\textcolor{f989b8}{#1}}} \gdef\rform#1{ {\textcolor{cb2b1a}{#1}}} \gdef\gform#1{ {\textcolor{399318}{#1}}} \gdef\bform#1{ {\textcolor{2b6fb0}{#1}}} \gdef\drform#1{ {\textcolor{9b0000}{#1}}} \gdef\dgform#1{ {\textcolor{006800}{#1}}} \gdef\dbform#1{ {\textcolor{004987}{#1}}} \gdef\drgform#1{ {\textcolor{ae5900}{#1}}} \gdef\dgbform#1{ {\textcolor{006567}{#1}}} \gdef\drbform#1{ {\textcolor{86004d}{#1}}} \gdef\rgform#1{ {\textcolor{dc841a}{#1}}} \gdef\gbform#1{ {\textcolor{47a5a7}{#1}}} \gdef\rbform#1{ {\textcolor{c74883}{#1}}} \gdef\pform#1{ {\textcolor{665996}{#1}}} \gdef\dpform#1{ {\textcolor{41326b}{#1}}} \gdef\waform#1{ {\textcolor{6b6b6b}{#1}}} \gdef\wbform#1{ {\textcolor{929292}{#1}}} \gdef\wcform#1{ {\textcolor{c5c5c5}{#1}}} \gdef\tick{\checkmark} \gdef\barToken{\mathbf{|}} \gdef\filledRectangleToken{▮} \gdef\emptyRectangleToken{▯} \gdef\filledSquareToken{■} \gdef\emptySquareToken{□} \gdef\filledToken{∙} \gdef\emptyToken{∘} \gdef\cardinalRewrite#1#2{\rewrite{#1}{#2}} \gdef\primed#1{ {#1}^{\prime}} \gdef\tinybullet{ {\tiny●}} \gdef\factsym#1{\mathord{#1}} \gdef\forwardFactor{\factsym{\uparrow}} \gdef\backwardFactor{\factsym{\downarrow}} \gdef\forwardBackwardFactor{\factsym{\updownarrow}} \gdef\forwardBackwardNeutralFactor{\factsym{\mathrlap{\downarrow}{\mathrlap{\uparrow}{\endash} } }} \gdef\neutralFactor{\factsym{\shornarrow}} \gdef\arrowhead{⏵} \gdef\inverseArrowhead{⏴} \gdef\rightArrowhead{⏵} \gdef\leftArrowhead{⏴} \gdef\upArrowhead{⏶} \gdef\downArrowhead{⏷} \gdef\de#1#2{ { {#1}\xundirectededge{}{#2}}} \gdef\ue#1#2{ { {#1}\xrightedge{}{#2}}} \gdef\shifttag#1{\raisebox{-1em}{$#1$}} \gdef\shifttag#1{#1} \gdef\tde#1#2#3{ {#1}\:\xrightedge{\shifttag{#3}}\;{#2}} \gdef\tue#1#2#3{ {#1}\;\xundirectededge{\shifttag{#3}}\;{#2}} \gdef\shiftunderset#1#2{\underset{\raisebox{0.15em}{\scriptsize $#1$}}{#2}} \gdef\mdtde#1#2#3#4{ {#1}\,\;\shiftunderset{#4}{\xrightedge{#3}}\;{#2}} \gdef\mtue#1#2#3#4{ {#1}\,\;\shiftunderset{#4}{\xundirectededge{#3}}\;\,{#2}} \gdef\mtde#1#2#3#4{ {#1}\,\;\operatornamewithlimits{\xrightedge{#3}}\limits_{#4} \;{#2}} \gdef\mapsfrom{\htmlClass{hreflect}{\mapsto}} \gdef\longmapsfrom{\htmlClass{hreflect}{\longmapsto}} \gdef\diffd{𝕕} \gdef\partialdof#1{\partial {#1}} \gdef\emptySet{\empty} \gdef\unknown{\wbform{\text{?}}} \gdef\notApplicable{\wbform{\text{---}}} \gdef\textAnd{\text{\,and\,}} \gdef\identicallyEqualSymbol{\equiv} \gdef\congruentSymbol{\equiv} \gdef\isomorphicSymbol{\simeq} \gdef\homeomorphicSymbol{\cong} \gdef\homotopicSymbol{\simeq} \gdef\approxEqualSymbol{\approx} \gdef\bijectiveSymbol{\approx} \gdef\defeq{\mathrel{≝}} \gdef\defEqualSymbol{\mathrel{≝}} \gdef\syntaxEqualSymbol{\mathrel{\textcolor{888888}{\equiv}}} \gdef\tailEqualSymbol{\underdot{=}} \gdef\headEqualSymbol{\dot{=}} \gdef\ruledelayed{:\to} \gdef\mathdollar{\text{\textdollar}} \gdef\hyphen{\text{-}} \gdef\endash{\text{--}} \gdef\emdash{\text{---}} \gdef\updownarrows{\uparrow\!\downarrow} \gdef\vthinspace{\mkern{1pt}} \gdef\dlq{\text{\textquotedblleft}} \gdef\drq{\text{\textquotedblright}} \gdef\dprime{ {\prime\prime}} \gdef\inverse#1{ { {#1}^{-1}}} \gdef\inverseSymbol{\inverse{□}} \gdef\groupDirectProduct#1{#1} \gdef\groupDirectProductSymbol{\times} \gdef\groupInverse{\inverse} \gdef\groupPower#1#2{ {#1}^{#2}} \gdef\groupCommutator#1#2{\left[{#1},{#2}\right]} \gdef\groupoidInverse{\inverse} \gdef\latticeBFS#1{\textrm{bfs}({#1})} \gdef\pathHomomorphism#1{#1} \gdef\groupoidFunction#1{#1} \gdef\groupoidHomomorphism#1{#1} \gdef\affineModifier#1{\overrightharpoon{#1}} \gdef\supercirc#1{#1^{\circ}} \gdef\supercircb#1{#1^{\bullet}} \gdef\blackCircleModifier#1{\supercircb{#1}} \gdef\whiteCircleModifier#1{\supercirc{#1}} \gdef\totalSpaceStyle#1{\rbform{#1}} \gdef\baseSpaceStyle#1{\bform{#1}} \gdef\fiberSpaceStyle#1{\rform{#1}} \gdef\totalSpaceElementStyle#1{\drbform{#1}} \gdef\baseSpaceElementStyle#1{\dbform{#1}} \gdef\fiberSpaceElementStyle#1{\drform{#1}} \gdef\bundleProjectionStyle#1{\dgform{#1}} \gdef\bundleGraphStyle#1{\rbform{#1}} \gdef\bundleSectionStyle#1{\drgform{#1}} \gdef\bundleFunctionStyle#1{\drbform{#1}} \gdef\graphFunctionStyle#1{\totalSpaceStyle{#1}} \gdef\projectionFunctionStyle#1{\totalSpaceStyle{#1}} \gdef\sectionFunctionStyle#1{\totalSpaceStyle{#1}} \gdef\functionGraph#1{G_{#1}} \gdef\toroidalModifier#1{\supercirc{#1}} \gdef\modulo#1{\supercirc{#1}} \gdef\dividesSymbol{\mathrel{|}} \gdef\groupFunction#1{#1} \gdef\groupHomomorphism#1{#1} \gdef\automorphisms{\operatorname{Aut}} \gdef\endomorphisms{\operatorname{End}} \gdef\transportMap#1{\transportMapSymbol_{#1}} \gdef\transportMapSymbol{\tau} \gdef\action#1{#1} \gdef\selfAction#1{\hat{#1}} \gdef\actionGroupoid#1{\utilde{#1}} \gdef\cardinalGroup#1{G^*({#1})} \gdef\signed#1{ {#1}^*} \gdef\transportAtlas#1{T_{#1}} \gdef\inverted#1{\underline{#1}} \gdef\mirror#1{\overline{#1}} \gdef\pathComposeSymbol{\mathbin{∷}} \gdef\pathCompose#1#2{ {#1}\pathComposeSymbol{#2}} \gdef\translateSymbol{\mathbin{\uparrow}} \gdef\backwardTranslateSymbol{\mathbin{\downarrow}} \gdef\pathTranslate#1#2{ {#1}\translateSymbol{#2}} \gdef\pathLeftTranslate#1{ { {#1}\translateSymbol}} \gdef\pathBackwardTranslate#1#2{ {#1}{\backwardTranslateSymbol}{#2}} \gdef\pathLeftBackwardTranslate#1{ {#1}{\backwardTranslateSymbol}} \gdef\compactCovariantDifference#1#2{\Delta_{#1}\,{#2}} \gdef\covariantDifference{ {#1}\,\Delta\,{#2}} \gdef\forwardDifference{\Delta^{+}} \gdef\backwardDifference{\Delta^{-}} \gdef\centralDifference{\Delta} \gdef\pathForwardDifference#1{\forwardDifference_{#1}} \gdef\pathBackwardDifference#1{\backwardDifference_{#1}} \gdef\pathCentralDifference#1{\centralDifference_{#1}} \gdef\pathHead#1{\pathHeadVector{#1}} \gdef\pathTail#1{\pathTailVector{#1}} \gdef\pathHeadVector#1{ {#1}^{\bullet}} \gdef\pathTailVector#1{ {#1}_{\bullet}} \gdef\pathReverse#1{ {#1}^{\dagger}} \gdef\pathIntegral#1#2{ {#1} \int {#2}} \gdef\pathIntegralSymbol{ {\int}} \gdef\pathDot#1#2{ {#1} \cdot {#2}} \gdef\pathDotSymbol{ {\cdot}} \gdef\compactBasis#1{\mathscr{B}} \gdef\length{\operatorname{len}} \gdef\signedLength{\operatorname{len^*}} \gdef\andFn{\operatorname{and}} \gdef\orFn{\operatorname{or}} \gdef\notFn{\operatorname{not}} \gdef\vertexList{\operatorname{vertices}} \gdef\vertexList{\operatorname{vertices}} \gdef\edgeList{\operatorname{edges}} \gdef\pathList{\operatorname{paths}} \gdef\cardinalList{\operatorname{cards}} \gdef\signedCardinalList{\operatorname{cards^*}} \gdef\wordOf{\operatorname{word}} \gdef\headVertex{\operatorname{head}} \gdef\tailVertex{\operatorname{tail}} \gdef\basis{\operatorname{basis}} \gdef\split{\operatorname{split}} \gdef\lcm{\operatorname{lcm}} \gdef\minimalContractionSets{\operatorname{MCSets}} \gdef\minimalContractions{\operatorname{MC}} \gdef\grade{\operatorname{grade}} \gdef\support{\operatorname{support}} \gdef\coefficient{\operatorname{coeff}} \gdef\domain{\operatorname{domain}} \gdef\codomain{\operatorname{codomain}} \gdef\modFunction{\operatorname{mod}} \gdef\clip{\operatorname{clip}} \gdef\sign{\operatorname{sign}} \gdef\step{\operatorname{step}} \gdef\projection{\operatorname{proj}} \gdef\lift{\operatorname{lift}} \gdef\identity{\operatorname{id}} \gdef\total{\operatorname{total}} \gdef\torus{\operatorname{torus}} \gdef\mobius{\operatorname{mobius}} \gdef\stateCompose{\operatorname{glue}} \gdef\infixStateComposeSymbol{\_} \gdef\stateDecompose{\operatorname{melt}} \gdef\stateJoin{\operatorname{conj}} \gdef\stateMeet{\operatorname{disj}} \gdef\stateExtent{\operatorname{extent}} \gdef\stateIntent{\operatorname{intent}} \gdef\infixStateJoinSymbol{\sqcup} \gdef\infixStateMeetSymbol{\sqcap} \gdef\isPrime#1{#1\textrm{ prime}} \gdef\blank{\_} \gdef\emptyWord{} \gdef\multiwordSymbol#1{\mathbf{#1}} \gdef\wordSymbol#1{\mathtt{#1}} \gdef\word#1{#1} \gdef\pathMap#1{#1} \gdef\function#1{#1} \gdef\imageModifier#1{ {#1}^{\rightarrow}} \gdef\preimageModifier#1{ {#1}^{\leftarrow}} \gdef\multiImageColorModifier#1{\msetCol{#1}} \gdef\multiImageModifier#1{ {#1}^{\Rightarrow}} \gdef\multiPreimageModifier#1{ {#1}^{\Leftarrow}} \gdef\functionComposition#1{#1} \gdef\functionCompositionSymbol{\mathbin{\small ∘}} \gdef\route#1#2#3{[{#1}\!:\!{#2}\!:\!{#3}]} \gdef\multiroute#1#2#3{[{#1}\!:\!{#2}\!:\!{#3}]} \gdef\pathWord#1#2#3{ {#1}\!:\!{#2}\!:\!{#3}} \gdef\parenPathWord#1#2#3{\left(\pathWord{#1}{#2}{#3}\right)} \gdef\nullPath{\bot} \gdef\nullElement{\bot} \gdef\path#1{#1} \gdef\vert#1{#1} \gdef\underdot#1{\underset{\raisebox{0.3em}{.}}{#1}} \gdef\headVertexSymbol{◨} \gdef\tailVertexSymbol{◧} \gdef\placeholderVertexSymbol{\mathrlap{◨}{◧}} \gdef\tvert#1{\underdot{#1}} \gdef\hvert#1{\dot{#1}} \gdef\edge#1{#1} \gdef\card#1{\mathtt{#1}} \gdef\path#1{#1} \gdef\quiver#1{#1} \gdef\bindingRuleSymbol{\to} \gdef\compactBindingRuleSymbol{:} \gdef\cayleyQuiverSymbol#1{\selfAction{#1}} \gdef\bindCayleyQuiver#1#2{\selfAction{#1}[#2]} \gdef\bindActionQuiver#1#2{#1[#2]} \gdef\bindSize#1#2{#1(#2)} \gdef\bindCardSize#1#2{#1[#2]} \gdef\bindCards#1#2{#1[#2]} \gdef\subSize#1#2{#1_{#2}} \gdef\gridQuiver#1{\textrm{Grid}^{#1}} \gdef\treeQuiver#1{\textrm{Tree}^{#1}} \gdef\bouquetQuiver#1{\textrm{Bq}^{#1}} \gdef\lineQuiver{\textrm{L}} \gdef\cycleQuiver{\textrm{C}} \gdef\squareQuiver{\textrm{Sq}} \gdef\cubicQuiver{\textrm{Cbc}} \gdef\triangularQuiver{\textrm{Tri}} \gdef\hexagonalQuiver{\textrm{Hex}} \gdef\rhombilleQuiver{\textrm{Rmb}} \gdef\limit#1#2{\lim_{#2}\,#1} \gdef\realVectorSpace#1{\mathbb{R}^{#1}} \gdef\complexVectorSpace#1{\mathbb{C}^{#1}} \gdef\matrixRing#1#2{M_{#2}(#1)} \gdef\groupoid#1{#1} \gdef\group#1{#1} \gdef\field#1{#1} \gdef\ring#1{#1} \gdef\indeterminate#1{#1} \gdef\semiring#1{#1} \gdef\sym#1{#1} \gdef\matrix#1{#1} \gdef\polynomial#1{#1} \gdef\setLetter{\mathcal{S}} \gdef\signedSetLetter{\mathcal{S^*}} \gdef\multisetLetter{\mathcal{M}} \gdef\signedMultisetLetter{\mathcal{M^*}} \gdef\multisetSemiringSymbol#1{#1} \gdef\multisetSemiring#1#2{\multisetLetter\left[#1, #2\right]} \gdef\signedMultisetRingSymbol#1{#1} \gdef\signedMultisetRing#1#2{\signedMultisetLetter\left[#1, #2\right]} \gdef\polynomialRing#1#2{#1[{#2}]} \gdef\routeSymbol#1{#1} \gdef\multirouteSymbol#1{\mathbf{#1}} \gdef\planSymbol#1{\mathbf{#1}} \gdef\ringElement#1{#1} \gdef\matrixPart#1#2#3{#1\llbracket{#2,#3}\rrbracket} \gdef\matrixRowPart#1{#1} \gdef\matrixColumnPart#1{#1} \gdef\subMatrixPart#1#2#3{#1_{#2,#3}} \gdef\matrixDotSymbol{\cdot} \gdef\matrixPlusSymbol{+} \gdef\wordGroup#1{\wordGroupSymbol_{#1}} \gdef\wordGroupSymbol{\Omega} \gdef\wordRing#1{\wordRingSymbol_{#1}} \gdef\wordRingSymbol{\Omega\!\degree} \gdef\linearCombinationCoefficient#1{ {\textcolor{888888}{#1}}} \gdef\plan#1{#1} \gdef\planRing#1{\planRingSymbol_{#1}} \gdef\planRingSymbol{\Phi} \gdef\basisPath#1#2{\mathbf{#1}_{#2}} \gdef\basisPathWeight#1#2{ {#1}_{#2}} \gdef\unitSymbol{\mathbf{e}} \gdef\unitVertexField{\unitSymbol_1} \gdef\forwardSymbol{f} \gdef\backwardSymbol{b} \gdef\symmetricSymbol{s} \gdef\antisymmetricSymbol{a} \gdef\wordVector#1#2{\unitSymbol_{#1}^{#2}} \gdef\gradOf#1{\grad\,{#1}} \gdef\grad{\nabla} \gdef\divOf#1{\div\,{#1}} \gdef\div{\dot{\nabla}} \gdef\laplacianOf#1{\laplacian\,{#1}} \gdef\laplacian{\ddot{\nabla}} \gdef\suchThat#1#2{ {#1}\,\big|\,{#2}} \gdef\chart#1{\chartSymbol_{#1}} \gdef\chartSymbol{C} \gdef\graphRegionIntersectionSymbol{\cap} \gdef\graphRegionUnionSymbol{\cup} \gdef\pathIso{\simeq} \gdef\factorial#1{#1!} \gdef\power#1#2{ {#1}^{#2}} \gdef\repeatedPower#1#2{ {#1}^{#2}} \gdef\contractionLattice#1{\operatorname{Con}(#1)} \gdef\contractedRelation#1{\sim_{#1}} \gdef\isContracted#1#2{ {#1} \sim {#2}} \gdef\isContractedIn#1#2#3{ {#1} \sim_{#3} {#2}} \gdef\isNotContracted#1#2{ {#1} \not \sim {#2}} \gdef\isNotContractedIn#1#2#3{ {#1} \not \sim_{#3} {#2}} \gdef\contractionSum#1{#1} \gdef\contractionSumSymbol{\sqcup} \gdef\contractionProduct#1{#1} \gdef\contractionProductSymbol{ {\cdot}} \gdef\graph#1{#1} \gdef\graphHomomorphism#1{#1} \gdef\coversSymbol{\sqsupseteq} \gdef\coveredBySymbol{\sqsubseteq} \gdef\strictlyCoversSymbol{\sqsupset} \gdef\strictlyCoveredBySymbol{\sqsubset} \gdef\graphCovering#1#2#3{ {#2} \sqsupseteq_{#1} {#3}} \gdef\quiverCovering#1#2#3{ {#2} \sqsupseteq^{#1} {#3}} \gdef\powerSetSymbol{\mathcal{P}} \gdef\powerSet#1{\powerSetSymbol({#1})} \gdef\existsForm#1#2{\exists\,{#1}\,:\,{#2}} \gdef\forAllForm#1#2{\forall\,{#1}\,:\,{#2}} \gdef\notted#1{\notSymbol {#1}} \gdef\andSymbol{\land} \gdef\orSymbol{\lor} \gdef\notSymbol{\lnot} \gdef\latticeSymbol#1{#1} \gdef\meetSemilatticeSymbol#1{#1} \gdef\joinSemilatticeSymbol#1{#1} \gdef\posetSymbol#1{#1} \gdef\latticeElementSymbol#1{#1} \gdef\meetSemilatticeElementSymbol#1{#1} \gdef\joinSemilatticeElementSymbol#1{#1} \gdef\posetElementSymbol#1{#1} \gdef\latticeMeetSymbol{\wedge} \gdef\latticeJoinSymbol{\vee} \gdef\latticeTop{\top} \gdef\latticeBottom{\bot} \gdef\semilatticeMeetSymbol{\wedge} \gdef\semilatticeJoinSymbol{\vee} \gdef\semilatticeTop{\top} \gdef\semilatticeBottom{\bot} \gdef\semilatticeSemimeetSymbol{\wedge} \gdef\semilatticeSemijoinSymbol{\vee} \gdef\latticeGreaterSymbol{>} \gdef\latticeGreaterEqualSymbol{\ge} \gdef\latticeLessSymbol{<} \gdef\latticeLessEqualSymbol{\le} \gdef\posetGreaterSymbol{>} \gdef\posetGreaterEqualSymbol{\ge} \gdef\posetLessSymbol{<} \gdef\posetLessEqualSymbol{\le} \gdef\posetCoversSymbol{⋗} \gdef\posetCoveredBySymbol{⋖} \gdef\grpname#1{\operatorname{\mathsf{#1}}} \gdef\mkg#1#2#3{\grpname{#1}({#2},{#3})} \gdef\mka#1#2#3{\mathfrak{#1}({#2},{#3})} \gdef\generalLinearAlgebra#1#2{\mka{gl}{#1}{#2}} \gdef\generalLinearGroup#1#2{\mkg{GL}{#1}{#2}} \gdef\specialLinearAlgebra#1#2{\mka{sl}{#1}{#2}} \gdef\specialLinearGroup#1#2{\mkg{SL}{#1}{#2}} \gdef\projectiveGeneralLinearAlgebra#1#2{\mka{pgl}{#1}{#2}} \gdef\projectiveGeneralLinearGroup#1#2{\mkg{PGL}{#1}{#2}} \gdef\projectiveSpecialLinearAlgebra#1#2{\mka{psl}{#1}{#2}} \gdef\projectiveSpecialLinearGroup#1#2{\mkg{PSL}{#1}{#2}} \gdef\orthogonalAlgebra#1#2{\mka{o}{#1}{#2}} \gdef\orthogonalGroup#1#2{\mkg{O}{#1}{#2}} \gdef\specialOrthogonalAlgebra#1#2{\mka{so}{#1}{#2}} \gdef\specialOrthogonalGroup#1#2{\mkg{SO}{#1}{#2}} \gdef\unitaryAlgebra#1{\mka{u}{#1}{#2}} \gdef\unitaryGroup#1{\mkg{U}{#1}{#2}} \gdef\specialUnitaryAlgebra#1#2{\mka{su}{#1}{#2}} \gdef\specialUnitaryGroup#1#2{\mkg{su}{#1}{#2}} \gdef\spinAlgebra#1#2{\mka{spin}{#1}{#2}} \gdef\spinGroup#1#2{\mkg{Spin}{#1}{#2}} \gdef\pinAlgebra#1#2{\mka{pin}{#1}{#2}} \gdef\pinGroup#1#2{\mkg{Pin}{#1}{#2}} \gdef\symmetricGroup#1{\grpname{Sym}({#1})} \gdef\presentation#1{#1} \gdef\groupPresentation#1#2{\left\langle\,{#1}\,\,\middle|\mathstrut\,\,{#2}\,\right\rangle} \gdef\groupRelationIso{=} \gdef\groupGenerator#1{#1} \gdef\groupRelator#1{#1} \gdef\groupElement#1{#1} \gdef\identityElement#1{#1} \gdef\groupoidElement#1{#1} \gdef\groupIdentity#1{#1} \gdef\groupoidIdentity#1{#1} \gdef\ringIdentity#1{#1} \gdef\iconstruct#1#2{ {#1}\,\,\middle|{\large\mathstrut}\,\,{#2}} \gdef\setConstructor#1#2{\left\{\,\iconstruct{#1}{#2}\,\right\}} \gdef\multisetConstructor#1#2{\left\{\mkern{-2.3pt}\left|\,\,\iconstruct{#1}{#2}\,\right|\mkern{-2.3pt}\right\}} \gdef\cardinalityConstructor#1#2{\left|\,\iconstruct{#1}{#2}\,\right|} \gdef\setToMultiset#1{ {#1}^\uparrow} \gdef\multisetToSet#1{ {#1}^\downarrow} \gdef\subsets#1{\setLetter({#1})} \gdef\signedSubsets#1{\signedSetLetter({#1})} \gdef\multisets#1{\multisetLetter({#1})} \gdef\signedMultisets#1{\signedMultisetLetter({#1})} \gdef\circleSpaceSymbol{S} \gdef\topologicalSpace#1{#1} \gdef\bundleSection#1{#1} \gdef\bundleProjection#1{#1} \gdef\setSymbol#1{#1} \gdef\signedSetSymbol#1{#1} \gdef\multisetSymbol#1{#1} \gdef\signedMultisetSymbol#1{#1} \gdef\setElementSymbol#1{#1} \gdef\signedSetElementSymbol#1{#1} \gdef\multisetElementSymbol#1{#1} \gdef\signedMultisetElementSymbol#1{#1} \gdef\negated#1{\bar{#1}} \gdef\positiveSignedPart#1{ {#1}^+} \gdef\negativeSignedPart#1{ {#1}^-} \gdef\multisetMultiplicitySymbol{\,\raisebox{.1em}{\small\#}\mkern{.1em}\,} \gdef\signedMultisetMultiplicitySymbol{\,\raisebox{.1em}{\small\#}\mkern{.1em}\,} \gdef\boundMultiplicityFunction#1{ {#1}^{\sharp}} \gdef\boundSignedMultiplicityFunction#1{\operatorname{ {#1}^{\sharp}}} \gdef\constructor#1#2{\left.{#1}\,\,\middle|\mathstrut\,\,{#2}\right.} \gdef\elemOf#1#2{ { {#1} \in {#2} }} \gdef\notElemOf#1#2{ { {#1} \notin {#2} }} \gdef\edgeOf#1#2{ { {#1} {\in}_E {#2} }} \gdef\vertOf#1#2{ { {#1} {\in}_V {#2} }} \gdef\pathOf#1#2{ { {#1} {\in}_P {#2} }} \gdef\pathType#1{\operatorName{path}{#1}} \gdef\vertexType#1{\operatorName{vertex}{#1}} \gdef\edgeType#1{\operatorName{edge}{#1}} \gdef\multisetType#1{\operatorName{mset}{#1}} \gdef\signedMultisetType#1{\operatorName{mset^*}{#1}} \gdef\unitInterval{\mathbb{I}} \gdef\fromTo#1{#1} \gdef\fromToSymbol{\mapsto} \gdef\vertexCountOf#1{|{#1}|} \gdef\vertices#1{ V_{#1} } \gdef\edges#1{ E_{#1} } \gdef\vertexField#1{#1} \gdef\edgeField#1{#1} \gdef\pathVector#1{\mathbf{#1}} \gdef\pathVectorSpace#1{\mathscr{#1}} \gdef\baseField#1{#1} \gdef\finiteField#1{\mathbb{F}_{#1}} \gdef\functionSpace#1#2{#2^{#1}} \gdef\finiteTotalFunctionSpace#1#2{#2^{\sub #1}} \gdef\pathGroupoid#1{ { \Gamma_{#1} }} \gdef\forwardPathQuiver#1#2{ {\overrightharpoon{#1}_{#2}}} \gdef\backwardPathQuiver#1#2{ {\overrightharpoon{#1}^{#2}}} \gdef\pathQuiver#1{ {\overrightharpoon{#1}}} \gdef\mto#1#2{ {#1}\mapsto{#2}} \gdef\mtoSymbol{\mapsto} \gdef\groupWordRewriting#1{\langle{#1}\rangle} \gdef\rewrite#1#2{ {#1}\mapsto{#2}} \gdef\rewritingRule#1#2{ {#1}\mapsto{#2}} \gdef\rewritingSystem#1{\mathcal{#1}} \gdef\multiwayBFS#1{\textrm{bfs}({#1})} \gdef\rewritingStateBinding#1#2{ {\left.{#1}\!\mid\!{#2}\right.}} \gdef\rewritingRuleBinding#1#2{#1{\left[\,{#2}\,\right]}} \gdef\namedSystem#1{\mathtt{#1}} \gdef\genericRewritingSystem{\namedSystem{Sys}} \gdef\stringRewritingSystem{\namedSystem{Str}} \gdef\circularStringRewritingSystem{\namedSystem{CStr}} \gdef\turingMachineRewritingSystem{\namedSystem{TM}} \gdef\cellularAutomatonRewritingSystem{\namedSystem{CA}} \gdef\graphRewritingSystem{\namedSystem{Gr}} \gdef\hypergraphRewritingSystem{\namedSystem{HGr}} \gdef\petriNetRewritingSystem{\namedSystem{Petri}} \gdef\localStates#1{\localStatesSymbol^#1} \gdef\regionalStates#1{\regionalStatesSymbol^#1} \gdef\globalStates#1{\globalStatesSymbol^#1} \gdef\keySubStates#1{\keySubStatesSymbol^#1} \gdef\valueSubStates#1{\valueSubStatesSymbol^#1} \gdef\localState#1#2{#2_{#1}} \gdef\regionalState#1{#1} \gdef\globalState#1{#1} \gdef\keySubState#1{#1} \gdef\valueSubState#1{#1} \gdef\lhsState#1{#1_{L}} \gdef\rhsState#1{#1_{R}} \gdef\rewriteLHSRegionalState#1{#1_{L}} \gdef\rewriteRHSRegionalState#1{#1_{R}} \gdef\regionalStateForm#1{\waform{(}#1\waform{)}} \gdef\invalidRegionalState{\rform{\times}} \gdef\emptyRegionalState{\regionalStateForm{}} \gdef\regionalSubstateSymbol{\sqsubseteq} \gdef\regionalSuperstateSymbol{\sqsupseteq} \gdef\comparableRegionalStatesSymbol{\mathbin{\square}} \gdef\incomparableRegionalStatesSymbol{\mathbin{\boxtimes}} \gdef\namedStateSet#1{\mathbf #1} \gdef\localStatesSymbol{\namedStateSet L} \gdef\regionalStatesSymbol{\namedStateSet R} \gdef\globalStatesSymbol{\namedStateSet G} \gdef\keySubStatesSymbol{\namedStateSet L_K} \gdef\valueSubStatesSymbol{\namedStateSet L_V} \gdef\localStateSymbol#1{#1} \gdef\regionalStateSymbol#1{#1} \gdef\globalStateSymbol#1{#1} \gdef\keySubStateSymbol#1{#1} \gdef\valueSubStateSymbol#1{#1} \gdef\infixComposeLocalStatesSymbol{\_} \gdef\composeLocalStatesSymbol{\operatorname{glue}} \gdef\composeLocalStatesForm#1{\composeLocalStatesSymbol(#1)} \gdef\ncard#1{\card{\inverted{#1}}} \gdef\mcard#1{\card{\mirror{#1}}} \gdef\nmcard#1{\card{\inverted{\mirror{#1}}}} \gdef\assocArray#1{\left\langle {#1} \right\rangle} \gdef\openMultiset{\lBrace} \gdef\closeMultiset{\rBrace} \gdef\set#1{\{ {#1} \}} \gdef\signedSet#1{\{ {#1} \}} \gdef\list#1{\{ {#1} \}} \gdef\multiset#1{\openMultiset {#1} \closeMultiset} \gdef\signedMultiset#1{\openMultiset {#1} \closeMultiset} \gdef\styledSet#1#2{#1\{ {#1} #1\}} \gdef\styledList#1#2{#1\{ {#1} #1\}} \gdef\styledMultiset#1#2{#1\openMultiset {#2} #1\closeMultiset} \gdef\styledSignedMultiset#1#2{\openMultiset {#2} \closeMultiset} \gdef\permutationCycle#1{#1} \gdef\permutationCycleSymbol{\to} \gdef\permutationSet#1{#1} \gdef\permutationSetSymbol{;} \gdef\transposition#1#2{ {#1} \leftrightarrow {#2}} \gdef\tuple#1{( {#1} )} \gdef\concat#1{ {#1} } \gdef\paren#1{\left( {#1} \right)} \gdef\ceiling#1{\lceil{#1}\rceil} \gdef\floor#1{\lfloor{#1}\rfloor} \gdef\translationVector#1{\left[{#1}\right]_{\textrm{T}}} \gdef\quotient#1#2{ {#1} / {#2}} \gdef\compactQuotient#1#2#3{ {#1}\;{\upharpoonright_{#2}}\;{#3}} \gdef\multilineQuotient#1#2{\frac{#1}{#2}} \gdef\idElem#1{e_{#1}} \gdef\minus#1{-{#1}} \gdef\elem{\ \in\ } \gdef\vsp{\mkern{0.4pt}} \gdef\iGmult{\vsp} \gdef\gmult{\vsp\ast\vsp} \gdef\Gmult{\vsp\ast\vsp} \gdef\gdot{\vsp\cdot\vsp} \gdef\gDot{\vsp\mathbin{\largeDot}\vsp} \gdef\mdot{\vsp\cdot\vsp} \gdef\smallblackcirc{\vsp\raisebox{0.15em}{\tiny∙}\vsp} \gdef\smallwhitecirc{\vsp\raisebox{0.15em}{\tiny∘}\vsp} \gdef\sgdot{\mathbin{\smallwhitecirc}} \gdef\srdot{\mathbin{\smallblackcirc}} \gdef\srplus{+} \gdef\ellipsis{\,\wbform{...}\,} \gdef\verticalEllipsis{\vdots} \gdef\appliedRelation#1{#1} \gdef\setUnionSymbol{\cup} \gdef\setIntersectionSymbol{\cap} \gdef\setRelativeComplementSymbol{-} \gdef\msetCol{\textcolor{bb4444}} \gdef\repeatedMultiset#1#2{#1\,#2} \gdef\msrdot{\mathbin{\smallblackcirc}} \gdef\msrplus{+} \gdef\smrdot{\mathbin{\smallblackcirc}} \gdef\smrplus{+} \gdef\dotminus{\mathbin{\dot{-}}} \gdef\dotcap{\mathbin{\dot{\cap}}} \gdef\dotcup{\mathbin{\dot{\cup}}} \gdef\multisetUnionSymbol{\dotcup} \gdef\multisetIntersectionSymbol{\dotcap} \gdef\multisetRelativeComplementSymbol{\dotminus} \gdef\multisetSumSymbol{\dotplus} \gdef\cartesianProductSymbol{\times} \gdef\functionType#1#2{ {#1} \to {#2}} \gdef\functionSignature#1#2#3{ { {#1} : {#2} \to {#3}}} \gdef\partialFunctionSignature#1#2#3{ { {#1} : {#2} \rightharpoonup {#3}}} \gdef\poly#1{#1} \gdef\quiverProdPoly#1{#1} \gdef\quiverProdPower#1#2{#1^{#2}} \gdef\quiverProdTimes#1{#1} \gdef\parenLabeled#1#2{#1\ ({#2})} \gdef\parenRepeated#1#2{\parenLabeled{#1}{ {#2}\text{ times}}} \gdef\underLabeled#1#2{\underbrace{#1}_{#2}} \gdef\underRepeated#1#2{\underbrace{#1}_{#2\text{ times}}} \gdef\overLabeled#1#2{\overbrace{#1}^{#2}} \gdef\overRepeated#1#2{\overbrace{#1}^{#2\text{ times}}} \gdef\modLabeled#1#2{ {#1 }\textrm{ mod }{#2}} \gdef\freeGroup#1{F_{#1}} \gdef\cyclicGroup#1{\mathbb{Z}_{#1}} \gdef\componentSuperQuiverOfSymbol{\succ} \gdef\setCardinality#1{|{#1}|} \gdef\multisetCardinality#1{|{#1}|} \gdef\dependentQuiverProductSymbol{\mathbin{\times}} \gdef\rightIndependentQuiverProductSymbol{\mathbin{⋊}} \gdef\leftIndependentQuiverProductSymbol{\mathbin{⋉}} \gdef\rightStrongQuiverProductSymbol{\mathbin{⧒}} \gdef\leftStrongQuiverProductSymbol{\mathbin{⧑}} \gdef\rightFiberQuiverProductSymbol{\mathbin{⧕}} \gdef\leftFiberQuiverProductSymbol{\mathbin{⧔}} \gdef\lockedQuiverProductSymbol{\mathbin{\searrow}} \gdef\rightFreeQuiverProductSymbol{\mathbin{\smallerthan}} \gdef\leftFreeQuiverProductSymbol{\mathbin{\largerthan}} \gdef\strongIndependentQuiverProductSymbol{\mathbin{⨝}} \gdef\cartesianQuiverProductSymbol{\mathbin{□}} \gdef\strongQuiverProductSymbol{\mathbin{⊠}} \gdef\graphUnionSymbol{\sqcup} \gdef\graphProductSymbol{\times} \gdef\inlineProdSymbol{|} \gdef\serialCardSymbol{ {:}} \gdef\parallelCardSymbol{ {\mid}} \gdef\cardinalSequenceSymbol{ {:}} \gdef\cardinalProduct#1{(#1)} \gdef\vertexProduct#1{(#1)} \gdef\edgeProduct#1{(#1)} \gdef\cardinalProductSymbol{\inlineProdSymbol} \gdef\vertexProductSymbol{\inlineProdSymbol} \gdef\edgeProductSymbol{\inlineProdSymbol} \gdef\verticalVertexProduct#1#2{\cfrac{#1}{#2}} \gdef\verticalCardinalProduct#1#2{\cfrac{#1}{#2}} \gdef\indexSum#1#2#3{ {\sum_{#2}^{#3} #1}} \gdef\indexProd#1#2#3{ {\prod_{#2}^{#3} #1}} \gdef\indexMax#1#2#3{ {\max_{#2}^{#3} #1}} \gdef\indexMin#1#2#3{ {\min_{#2}^{#3} #1}} \gdef\indexUnion#1#2#3{ {\bigcup_{#2}^{#3} #1}} \gdef\indexIntersection#1#2#3{ {\bigcap_{#2}^{#3} #1}} \gdef\indexGraphUnion#1#2#3{ {\bigcup_{#2}^{#3} #1}} \gdef\indexGraphDisjointUnion#1#2#3{ {\bigcup_{#2}^{#3} #1}} \gdef\styledIndexSum#1#2#3#4{ {#1\sum_{#3}^{#4} #2}} \gdef\styledIndexProd#1#2#3#4{ {#1\prod_{#3}^{#4} #2}} \gdef\styledIndexMax#1#2#3#4{ {#1\max_{#3}^{#4} #2}} \gdef\styledIndexMin#1#2#3#4{ {#1\min_{#3}^{#4} #2}} \gdef\indexSumSymbol{\sum} \gdef\indexProdSymbol{\prod} \gdef\indexMaxSymbol{\max} \gdef\indexMinSymbol{\min} \gdef\openInterval#1#2{(#1,#2)} \gdef\closedInterval#1#2{[#1,#2]} \gdef\openClosedInterval#1#2{(#1,#2]} \gdef\closedOpenInterval#1#2{[#1,#2)} \gdef\oneTo#1{1..{#1}} \gdef\zeroTo#1{0..{#1}} \gdef\qstring#1{\mathtt{"}{#1}\mathtt{"}} \gdef\wstring#1{\textcolor{6b6b6b}{#1}} \gdef\qchar#1{\mathtt{'}{#1}\mathtt{'}} \gdef\lstr#1{\mathtt{#1}} \gdef\lchar#1{\mathtt{#1}} \gdef\string#1{ {#1}} \gdef\character#1{ {#1}} \gdef\homomorphismMapping#1{\assocArray{#1}} \gdef\starModifier#1{ {#1}^*} \gdef\translationPresentation#1{\textrm{Z}_{#1}} \gdef\starTranslationPresentation#1{\textrm{Z}^*_{#1}} \gdef\translationPathValuation#1{\mathcal{\overrightharpoon Z}_{#1}} \gdef\starTranslationPathValuation#1{\overrightharpoon{\mathcal{Z}^*_{#1}}} \gdef\translationWordHomomorphism#1{\mathcal{Z}_{#1}} \gdef\starTranslationWordHomomorphism#1{\mathcal{Z}^*_{#1}} \gdef\translationCardinalValuation#1{\textrm{T}_{#1}} \gdef\starTranslationCardinalValuation#1{\textrm{T}^*_{#1}} \)
Quiver products

Quiver products

Motivation

In this section we will consider how we can form product spaces in quiver geometry, which we call quiver products: quivers constructed as products of two or more factor quivers. Quiver products will be important in a latter section, where we will need them to define the local trivializations used in fibre bundles, but they'll also give us a new perspective on transitive quivers.

Quiver products

What is a quiver product? Speaking informally, a quiver product between two quivers \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\) is another quiver \(\quiver{\rbform{Q}}\) with the following properties:

\[ \begin{aligned} \vertexList(\quiver{\rbform{Q}})&= \vertexList(\quiver{\rform{R}})\cartesianProductSymbol \vertexList(\quiver{\bform{S}})\\ \edgeList(\quiver{\rbform{Q}})&\subseteq \pathList(\quiver{\rform{R}})\cartesianProductSymbol \pathList(\quiver{\bform{S}})\end{aligned} \]

There are many possible products \(\quiver{\rbform{Q}}\), corresponding to systematic ways to choose the subsets of the Cartesian product \(\pathList(\quiver{\rform{R}})\cartesianProductSymbol \pathList(\quiver{\bform{S}})\). We will gradually introduce the formalism to do this.

Of course, we must also attach a cardinal structure to the product \(\quiver{\rbform{Q}}\), defining how the so-called product cardinals label its edges.

Terminology

To talk clearly about the vertices, edges, and cardinals of \(\quiver{\rbform{Q}}\), and contrast them with the vertices, edges, and cardinals of \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\), we will use the following terms:

zz
factor quiver\(\quiver{\rform{R}}\) or \(\quiver{\bform{S}}\)
factor vertexvertex of \(\quiver{\rform{R}}\) or \(\quiver{\bform{S}}\)
factor transitionpath in \(\quiver{\rform{R}}\) or \(\quiver{\bform{S}}\)
factor cardinalcardinal of \(\quiver{\rform{R}}\) or \(\quiver{\bform{S}}\)

These ingredients will be combined to form the vertices, edges, and cardinals of \(\quiver{\rbform{Q}}\), as follows:

zzz
product quiver\(\quiver{\rbform{Q}}\)constructed from factor quivers
product vertexvertex of \(\quiver{\rbform{Q}}\)constructed from tuples of factor vertices
product cardinalcardinal of \(\quiver{\rbform{Q}}\)constructed from tuples of factor transitions

We will use \(\vertexProduct{\vert{\rform{u}},\vert{\bform{v}}}\) to represent the product vertex consisting of factor vertices \(\vert{\rform{u}}\) and \(\vert{\bform{v}}\) from factor quivers \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\), and similarly \(\cardinalProduct{\rform{\card{r}},\bform{\card{b}}}\) to represent the product cardinal consisting of factor cardinals \(\rform{\card{r}}\) and \(\bform{\card{b}}\).

Color

To ease the notational burden and avoid unnecessary use of subscripts, we'll use color to associate vertices, edges, and cardinals with their corresponding graphs in a product. For example, for quivers \(\quiver{\rform{R}},\quiver{\bform{S}}\) we'll refer generically to particular vertices belonging to \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\) with symbols \(\vert{\rform{r}}\) and \(\vert{\bform{s}}\). Likewise we'll refer to particulars edges with \(\edge{\rform{e}},\edge{\bform{f}}\), and refer to particular cardinals with \(\card{\rform{c}},\card{\bform{d}}\).

We'll also use color to relate the product vertices with factor vertices, similar to the role of color in our explanation of coverings. Using this convention the product vertex such as \(\vertexProduct{\vert{\rform{\filledToken }},\vert{\gform{\filledToken }}}\) is displayed as the additive color blend of the two factor vertex colors, giving \(\vert{\rgform{\filledToken }}\). Similarly, the product cardinal \(\cardinalProduct{\rform{\card{r}},\gform{\card{g}}}\) will be displayed with the colored arrowhead \(\rgform{\arrowhead }\).

Transitions

We will now define a large family of binary quiver products by choosing how to combine transitions in the factor quivers \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\) into product edges. Transitions in the factor quivers are paths, rather than edges. For the products defined in this section, we will consider paths of maximal length 1.

As we stated above , the vertices of \(\quiver{\rbform{P}}\) are all the possible pairs \(\vertexProduct{\vert{\rform{u}},\vert{\bform{v}}}\), where \(\vert{\rform{u}}\) is a vertex from \(\quiver{\rform{R}}\) and \(\vert{\bform{s}}\) is a vertex from \(\quiver{\bform{S}}\).

Our only freedom in defining a product then comes from how we construct the edges of \(\quiver{\rbform{P}}\) from the paths in \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\), which we will call transitions. We will construct product edges from pairs of transitions from \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\), where we can restrict each the \(\quiver{\rform{R}}\)-transition and \(\quiver{\bform{S}}\)-transition to one of three types: forward, backward, and neutral:

  • A forward \(\quiver{\rform{R}}\)-transition is a 1-path in \(\quiver{\rform{R}}\) containing a forward (non-inverted) cardinal \(\rform{\card{r}}\).

  • A backward \(\quiver{\rform{R}}\)-transition is a 1-path in \(\quiver{\rform{R}}\) containing a backward (inverted) cardinal \(\rform{\inverted{\card{r}}}\).

  • A neutral \(\quiver{\rform{R}}\)-transition is a 0-path in \(\quiver{\rform{R}}\), labeled with the special factor cardinal \(\rform{\card{1}}\) that is not part of the cardinal set of \(\quiver{\rform{R}}\).

The same definitions are used for \(\quiver{\bform{S}}\)-transitions, of course.

Here are the 9 possible product edges we can form that correspond to pairs of these transitions. These will form the primitive constructors that will generate the edges of the quiver product. Any combinations of these constructors will yield a distinct quiver product.

\[ \begin{csarray}{ccc}{aii} \mtde{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{t}}}}{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{h}}}}{\rform{\card{r}}}{\bform{\card{b}}} & \mtde{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{b}}}}{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{b}}}}{\rform{\card{r}}}{\bform{\card{1}}} & \mtde{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{h}}}}{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{t}}}}{\rform{\card{r}}}{\bform{\inverted{\card{b}}}}\\[2em] \mtde{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{t}}}}{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{h}}}}{\rform{\card{1}}}{\bform{\card{b}}} & \mtde{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{b}}}}{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{b}}}}{\rform{\card{1}}}{\bform{\card{1}}} & \mtde{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{h}}}}{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{t}}}}{\rform{\card{1}}}{\bform{\inverted{\card{b}}}}\\[2em] \mtde{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{t}}}}{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{h}}}}{\rform{\inverted{\card{r}}}}{\bform{\card{b}}} & \mtde{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{b}}}}{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{b}}}}{\rform{\inverted{\card{r}}}}{\bform{\card{1}}} & \mtde{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{h}}}}{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{t}}}}{\rform{\inverted{\card{r}}}}{\bform{\inverted{\card{b}}}} \end{csarray} \]

Here we have laid out the product edges vertically, so that the left and right factors vertices and cardinals now appear on the top and bottom respectively:

\[ \tde{\vertexProduct{\vert{\rform{t}},\vert{\bform{t}}}}{\vertexProduct{\vert{\rform{h}},\vert{\bform{h}}}}{\cardinalProduct{\rform{\card{r}},\bform{\card{b}}}}\syntaxEqualSymbol \mtde{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{t}}}}{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{h}}}}{\rform{\card{r}}}{\bform{\card{b}}} \]

Let's examine some constructors from this table to understand them better.

The top left entry in the table above is \(\tde{\vertexProduct{\vert{\rform{t}},\vert{\bform{t}}}}{\vertexProduct{\vert{\rform{h}},\vert{\bform{h}}}}{\cardinalProduct{\rform{\card{r}},\bform{\card{b}}}}\), a product edge constructor that combines two factor transitions \(\parenPathWord{\vert{\rform{t}}}{\rform{\word{\card{r}}}}{\vert{\rform{h}}}\) and \(\parenPathWord{\vert{\bform{t}}}{\bform{\word{\card{b}}}}{\vert{\bform{h}}}\). This product edge is labeled with a product cardinal \(\cardinalProduct{\rform{\card{r}},\bform{\card{b}}}\) which expresses that these transitions involve forward (non-inverted) cardinals \(\rform{\card{r}}\) and \(\bform{\card{b}}\).

The bottom right entry is \(\tde{\vertexProduct{\vert{\rform{h}},\vert{\bform{h}}}}{\vertexProduct{\vert{\rform{t}},\vert{\bform{t}}}}{\cardinalProduct{\rform{\inverted{\card{r}}},\bform{\inverted{\card{b}}}}}\), a product edge constructor formed from two factor transitions \(\parenPathWord{\vert{\rform{h}}}{\rform{\word{\inverted{\card{r}}}}}{\vert{\rform{t}}}\) and \(\parenPathWord{\vert{\bform{h}}}{\bform{\word{\inverted{\card{b}}}}}{\vert{\bform{t}}}\), which correspond to edges from \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\) that have been traversed backwards. Again, the product cardinal \(\cardinalProduct{\rform{\inverted{\card{r}}},\bform{\inverted{\card{b}}}}\) expresses this fact.

Now consider the top-right entry \(\tde{\vertexProduct{\vert{\rform{t}},\vert{\bform{h}}}}{\vertexProduct{\vert{\rform{h}},\vert{\bform{t}}}}{\cardinalProduct{\rform{\card{r}},\bform{\inverted{\card{b}}}}}\). Here we have a forward factor transition \(\parenPathWord{\vert{\rform{t}}}{\rform{\word{\card{r}}}}{\vert{\rform{h}}}\) from \(\quiver{\rform{R}}\) and a backward factor transition \(\parenPathWord{\vert{\bform{h}}}{\bform{\word{\inverted{\card{b}}}}}{\vert{\bform{t}}}\) from \(\quiver{\bform{S}}\), hence the product cardinal \(\cardinalProduct{\rform{\card{r}},\bform{\inverted{\card{b}}}}\).

The top middle entry is \(\tde{\vertexProduct{\vert{\rform{t}},\vert{\bform{b}}}}{\vertexProduct{\vert{\rform{h}},\vert{\bform{b}}}}{\cardinalProduct{\rform{\card{r}},\bform{\card{1}}}}\), which corresponds to a forward factor transition \(\parenPathWord{\vert{\rform{t}}}{\rform{\word{\card{r}}}}{\vert{\rform{h}}}\), and an empty factor transition \(\parenPathWord{\vert{\bform{b}}}{\emptyWord{}}{\vert{\bform{b}}}\).

These constructors tell us how to manufacture product edges from the factor quivers. To understand the situation a bit better, we will now visualize the product quivers these constructors produce.

Visualizing graph products

We can visualize the graph product in ways that help clarify the product structure. We'll use two methods to do this:

  • We will color vertices of the product by additive blending of the constituent vertices. For example, the product vertex \(\vertexProduct{\vert{\rform{\filledToken }},\vert{\gform{\filledToken }}}\) will be displayed as \(\vert{\rgform{\filledToken }}\), and \(\vertexProduct{\vert{\bform{\filledToken }},\vert{\emptyToken }}\) as \(\vert{\lbform{\filledToken }}\).

  • For graphs that can be laid out in one dimension, we will derive the \(\sym{y}\) coordinate of \(\vertexProduct{\vert{u},\vert{v}}\) from the one-dimensional coordinate of \(\vert{u}\) and the \(\sym{x}\) coordinate of \(\vertexProduct{\vert{u},\vert{v}}\) from the one-dimensional coordinate of \(\vert{v}\).

Let's examine the products we can form from \(\quiver{R} = \quiver{S} = \subSize{\lineQuiver }{2}\). These are the simplest factor quivers we can use that will yield a non-trivial result.

First we'll consider the product defined by \(\tde{\vertexProduct{\vert{\rform{t}},\vert{\bform{t}}}}{\vertexProduct{\vert{\rform{h}},\vert{\bform{h}}}}{\cardinalProduct{\rform{\card{r}},\bform{\card{b}}}}\):

Since there is only one edge and therefore one 1-path in each factor quiver, there there is only one possible product edge. The orientation of this product edge matches the orientations of the factor edges.

Now consider the product defined by \(\tde{\vertexProduct{\vert{\rform{t}},\vert{\bform{b}}}}{\vertexProduct{\vert{\rform{h}},\vert{\bform{b}}}}{\cardinalProduct{\rform{\card{r}},\bform{\card{1}}}}\):

There are of course two 0-paths in \(\quiver{\bform{S}}\), one for each vertex, and hence two possible product edges.

Lastly, consider the product defined by \(\tde{\vertexProduct{\vert{\rform{r}},\vert{\bform{b}}}}{\vertexProduct{\vert{\rform{r}},\vert{\bform{b}}}}{\cardinalProduct{\rform{\card{1}},\bform{\card{1}}}}\). This product does not depend on which edges are present in either quiver! It produces only self-loops:

Let's revisit the original table of the 9 possible primitive product edge constructors:

\[ \begin{csarray}{ccc}{aii} \mtde{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{t}}}}{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{h}}}}{\rform{\card{r}}}{\bform{\card{b}}} & \mtde{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{b}}}}{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{b}}}}{\rform{\card{r}}}{\bform{\card{1}}} & \mtde{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{h}}}}{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{t}}}}{\rform{\card{r}}}{\bform{\inverted{\card{b}}}}\\[2em] \mtde{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{t}}}}{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{h}}}}{\rform{\card{1}}}{\bform{\card{b}}} & \mtde{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{b}}}}{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{b}}}}{\rform{\card{1}}}{\bform{\card{1}}} & \mtde{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{h}}}}{\verticalVertexProduct{\vert{\rform{r}}}{\vert{\bform{t}}}}{\rform{\card{1}}}{\bform{\inverted{\card{b}}}}\\[2em] \mtde{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{t}}}}{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{h}}}}{\rform{\inverted{\card{r}}}}{\bform{\card{b}}} & \mtde{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{b}}}}{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{b}}}}{\rform{\inverted{\card{r}}}}{\bform{\card{1}}} & \mtde{\verticalVertexProduct{\vert{\rform{h}}}{\vert{\bform{h}}}}{\verticalVertexProduct{\vert{\rform{t}}}{\vert{\bform{t}}}}{\rform{\inverted{\card{r}}}}{\bform{\inverted{\card{b}}}} \end{csarray} \]

Notice that we can fully describe a product edge constructor by with the product cardinal labelling each product edge, since they fully determine the transitions corresponding to each product edge. Here we reproduce the above table using only these product cardinals:

\[ \begin{csarray}{ccc}{aii} \cardinalProduct{\rform{\card{r}},\bform{\card{b}}} & \cardinalProduct{\rform{\card{r}},\bform{\card{1}}} & \cardinalProduct{\rform{\card{r}},\bform{\inverted{\card{b}}}}\\[2em] \cardinalProduct{\rform{\card{1}},\bform{\card{b}}} & \cardinalProduct{\rform{\card{1}},\bform{\card{1}}} & \cardinalProduct{\rform{\card{1}},\bform{\inverted{\card{b}}}}\\[2em] \cardinalProduct{\rform{\inverted{\card{r}}},\bform{\card{b}}} & \cardinalProduct{\rform{\inverted{\card{r}}},\bform{\card{1}}} & \cardinalProduct{\rform{\inverted{\card{r}}},\bform{\inverted{\card{b}}}} \end{csarray} \]

Below we show the corresponding table of product quivers:

Arrow notation

The disadvantage of using product cardinals like \(\cardinalProduct{\rform{\card{r}},\bform{\inverted{\card{b}}}}\) to describe product edge constructors is that we are relying on a redundant kind of notational convention: both the color (red) and the letter \(\rform{\card{r}}\) is used to communicate the same idea – that we are taking a forward transition in both of the factor quivers. We instead propose a simpler and more compact notation, called arrow notation, which uses only color.

Using arrow notation, a binary quiver product between \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\) can be written as a kind of polynomial in the "variables" in two colors, being \(\rform{\forwardFactor },\rform{\backwardFactor },\rform{\neutralFactor }\) and \(\bform{\forwardFactor },\bform{\backwardFactor },\bform{\neutralFactor }\), which denote the different kinds of possible factor transitions from \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\) respectively:

zzzz
\(\rform{\forwardFactor }\)forward \(\quiver{\rform{R}}\)-transition: 1-path from \(\quiver{\rform{R}}\)\(\bform{\forwardFactor }\)forward \(\quiver{\bform{S}}\)-transition: 1-path from \(\quiver{\bform{S}}\)
\(\rform{\backwardFactor }\)backward \(\quiver{\rform{R}}\)-transition: 1-path from \(\quiver{\rform{R}}\)\(\bform{\backwardFactor }\)backward \(\quiver{\bform{S}}\)-transition: 1-path from \(\quiver{\bform{S}}\)
\(\rform{\neutralFactor }\)neutral \(\quiver{\rform{R}}\)-transition: 0-path from \(\quiver{\rform{R}}\)\(\bform{\neutralFactor }\)neutral \(\quiver{\bform{S}}\)-transition: 0-path from \(\quiver{\bform{S}}\)

Each term of the polynomial is a degree-two monomial with one red variable and one blue variable, and represents a primitive product edge constructor.

Let's use this new notation to label the 9 primitive products of our two 2-line quivers, which are the 9 possible degree-2 monomials:

Sums of monomials

If we allow sums of these monomials, such as \(\quiverProdPoly{\rform{\forwardFactor }\,\bform{\neutralFactor }+\rform{\neutralFactor }\,\bform{\forwardFactor }}\), we can express quiver products that contain the union of the corresponding primitive products:

Application notation

If we wish to form a quiver product defined by a particular arrow polynomial, we would like to able to communicate which factor quivers are bound to which arrows. To do this, we will use a notation in which the factor quivers appear as the bottom row of a vertical expression, and the arrow appears as the top row. Color will then serve as the way in which we bind the factor quivers, written as symbols, with the arrows of the polynomial.

Here are several examples of products of two factor quivers named \(\quiver{R}\) and \(\quiver{S}\):

\[ \frac{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} \kern{20pt} \frac{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\backwardFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} \kern{20pt} \frac{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\neutralFactor }+\rform{\neutralFactor }\,\bform{\forwardFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} \]

The actual colors used do not matter – they effectively act as local variables. The above products are identical to those shown below, which use two different colors that denote the same bindings between factor quivers and arrows:

\[ \frac{\quiverProdPoly{\rbform{\forwardFactor }\,\gbform{\forwardFactor }}} {\quiver{\rbform{R}},\quiver{\gbform{S}}} \kern{20pt} \frac{\quiverProdPoly{\rbform{\forwardFactor }\,\gbform{\backwardFactor }}} {\quiver{\rbform{R}},\quiver{\gbform{S}}} \kern{20pt} \frac{\quiverProdPoly{\rbform{\forwardFactor }\,\gbform{\neutralFactor }+\rbform{\neutralFactor }\,\gbform{\forwardFactor }}} {\quiver{\rbform{R}},\quiver{\gbform{S}}} \]

We will also sometimes write an application in a compact form:

\[ {\quiverProdPoly{\rbform{\forwardFactor }\,\gbform{\forwardFactor }}} / {(\quiver{\rbform{R}},\quiver{\gbform{S}})} \kern{20pt} {\quiverProdPoly{\rbform{\forwardFactor }\,\gbform{\backwardFactor }}} / {(\quiver{\rbform{R}},\quiver{\gbform{S}})} \kern{20pt} {\paren{\quiverProdPoly{\rbform{\forwardFactor }\,\gbform{\neutralFactor }+\rbform{\neutralFactor }\,\gbform{\forwardFactor }}}} / {(\quiver{\rbform{R}},\quiver{\gbform{S}})} \]

Symmetries under reversal

At this point, it is useful to observe that the 9 constructors we enumerated are related to one another under edge reversal of the resulting products.

For example, the product defined by \(\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }}\) is the edge reversal of the product defined by \(\quiverProdPoly{\rform{\backwardFactor }\,\bform{\backwardFactor }}\):

The explicit edges of these two products are given by \(\tde{\vert{\drbform{\filledToken }}}{\vert{\lgbform{\filledToken }}}{\cardinalProduct{\rform{\card{r}},\bform{\card{b}}}}\) and \(\tde{\vert{\lgbform{\filledToken }}}{\vert{\drbform{\filledToken }}}{\cardinalProduct{\rform{\inverted{\card{r}}},\bform{\inverted{\card{b}}}}}\). This suggests the structural property of product edges that the inversion of the product cardinal \(\cardinalProduct{\rform{\card{r}},\bform{\card{b}}}\) is the product cardinal \(\cardinalProduct{\rform{\inverted{\card{r}}},\bform{\inverted{\card{b}}}}\) – in other words, that inversion distributes across the product.

Here we show the 9 constructors in columns, placed above their inverses:

We can use notation to "pre-apply" inversion to the product polynomial rather than to the resulting product quiver. In other words, we can write the inversion of the product resulting from given quivers as the product of an inverted polynomial. The algebraic properties of this inversion operation on polynomials are:

\[ \begin{aligned} \inverted{\forwardFactor }&= \backwardFactor \\ \inverted{\neutralFactor }&= \neutralFactor \\ \inverted{\backwardFactor }&= \forwardFactor \\ \inverted{\quiverProdPoly{\sym{ \alpha }+\sym{ \beta }}}&= \quiverProdPoly{\inverted{\sym{ \alpha }}+\inverted{\sym{ \beta }}}\\ \inverted{\paren{\quiverProdPoly{\sym{ \alpha }\,\sym{ \beta }}}}&= \quiverProdPoly{\inverted{\sym{ \alpha }}\,\inverted{\sym{ \beta }}}\end{aligned} \]

Here, \(\sym{ \alpha }\) and \(\sym{ \beta }\) represent arbitrary arrows, whether forward, backward, or neutral.

Distributivity

We briefly examine the validity of the following distributivity law:

\[ \quiverProdPoly{\paren{\sym{ \alpha }+\sym{ \beta }}\,\sym{ \gamma }} = \quiverProdPoly{\quiverProdPoly{\sym{ \alpha }\,\sym{ \gamma }}+\quiverProdPoly{\sym{ \beta }\,\sym{ \gamma }}} \]

As an example, taking \(\sym{ \alpha } = \rform{\forwardFactor },\sym{ \beta } = \rform{\backwardFactor },\sym{ \gamma } = \bform{\forwardFactor }\), this manifests as the identity \(\quiverProdPoly{\paren{\rform{\forwardFactor }+\rform{\backwardFactor }}\,\bform{\forwardFactor }} = \quiverProdPoly{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }}+\quiverProdPoly{\rform{\backwardFactor }\,\bform{\forwardFactor }}}\). What is the meaning of this identity? To unpack this, we will have to understand how we can evaluate this product in stages, first evaluating the part \(\quiverProdPoly{\rform{\forwardFactor }+\rform{\backwardFactor }}\) and then evaluating the product \(\quiverProdPoly{□+\bform{\forwardFactor }}\).

We can understand an arrow polynomial as a tree of evaluations – the formal mathematical structure being known as an operad, which we will not elucidate here. For example, the product \({\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }}} / {\paren{\quiver{\rform{R}},\quiver{\bform{S}}}}\) can be understood as the following tree, where the leaves of the tree are the quivers that are used as inputs to the arrow polynomial:

The factorization \(\quiverProdPoly{\paren{\rform{\forwardFactor }+\rform{\backwardFactor }}\,\bform{\forwardFactor }}\) is depicted graphically below, in which we first evaluate a univariate product \({\paren{\quiverProdPoly{\gform{\forwardFactor }+\gform{\backwardFactor }}}} / {\quiver{\gform{R}}}\) and then use the result as the left factor for the product \(\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }}\):

This corresponds to how we can factor the polynomial \(\sym{x} \, \sym{y} + \inverse{\sym{x}} \, \sym{y}\) into the product \(\paren{\sym{x} + \inverse{\sym{x}}} \, \sym{y}\), which can be evaluated on particular inputs in a staged fashion

Again, notice that the colors and symbols \(\sym{a},\sym{b},\sym{c}\) serve a purely notational role, depicting how to bind the inputs of each polynomial evaluation. We can replace these symbols and colors with any others we like to describe the exact same product.

Unary products

It is interesting to examine the three products we can form from a single quiver using the monomials \(\forwardFactor ,\neutralFactor ,\backwardFactor\). They are shown below for a finite line quiver in the first row and a finite square quiver in the second row:

In short, the forward constructor \(\forwardFactor\) acts like the identity, the backward constructor \(\backwardFactor\) reverses all edges, and the neutral constructor \(\neutralFactor\) has the effect of disconnecting the quiver, creating self-loops for each vertex. Let's make this explicit for the line quiver:

\[ \begin{aligned} {\quiverProdPoly{\quiver{\forwardFactor }}} / {\bindCardSize{\subSize{\lineQuiver }{4}}{\rform{\card{r}}}}&= \bindCardSize{\subSize{\lineQuiver }{4}}{\cardinalProduct{\rform{\card{r}}}}\\[1em] {\quiverProdPoly{\quiver{\backwardFactor }}} / {\bindCardSize{\subSize{\lineQuiver }{4}}{\rform{\card{r}}}}&= \bindCardSize{\subSize{\lineQuiver }{4}}{\cardinalProduct{\rform{\inverted{\card{r}}}}}\\[1em] {\quiverProdPoly{\quiver{\neutralFactor }}} / {\bindCardSize{\subSize{\lineQuiver }{4}}{\rform{\card{r}}}}&= \indexGraphDisjointUnion{\bindCardSize{\subSize{\cycleQuiver }{1}}{\cardinalProduct{\rform{\card{1}}}}}{4}{}\end{aligned} \]

We can write this behavior for a general quiver as:

\[ \begin{aligned} {\quiverProdPoly{\quiver{\forwardFactor }}} / {\quiver{Q}}&\homeomorphicSymbol\quiver{Q}\\[1em] {\quiverProdPoly{\quiver{\backwardFactor }}} / {\quiver{Q}}&\homeomorphicSymbol\inverted{\quiver{Q}}\\[1em] {\quiverProdPoly{\quiver{\neutralFactor }}} / {\quiver{Q}}&\homeomorphicSymbol\indexGraphDisjointUnion{\subSize{\cycleQuiver }{1}}{\vertexCountOf{\quiver{Q}}}{}\end{aligned} \]

Named binary products

Equipped with our new, compact notation for building products out of sums of primitive edge constructors, we will now enumerate and name some of the possible binary products.

Locked product

We'll introduce a binary quiver product called the locked quiver product, denoted \(\lockedQuiverProductSymbol\). This product is related to the notion of the tensor graph product \(\otimes\) of undirected graphs.

The locked quiver product \(\quiver{R}\lockedQuiverProductSymbol \quiver{S}\) of two quivers \(\quiver{R},\quiver{S}\) is defined to be:

\[ \quiver{R}\lockedQuiverProductSymbol \quiver{S}\defEqualSymbol \frac{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} \]

We use the word locked to indicate that the transitions of the two factor quivers are locked together in the same, forward orientation.

Let's examine \(\quiver{R}\lockedQuiverProductSymbol \quiver{S}\), where \(\quiver{R} = \quiver{S} = \subSize{\lineQuiver }{2}\):

Let's enlarge \(\quiver{S}\), setting \(\quiver{S} = \subSize{\lineQuiver }{3}\):

Finally let's enlarge \(\quiver{R}\), setting \(\quiver{R} = \subSize{\lineQuiver }{3}\):

Free products

We now introduce the right-free quiver product \(\quiver{R}\rightFreeQuiverProductSymbol \quiver{S}\), which involves always taking the forward transition for the left factor and taking either the forward, neutral, or backward transition for the right factor. Explicitly:

\[ \quiver{R}\rightFreeQuiverProductSymbol \quiver{S}\defEqualSymbol \frac{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }+\rform{\forwardFactor }\,\bform{\neutralFactor }+\rform{\forwardFactor }\,\bform{\backwardFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} = \frac{\quiverProdPoly{\rform{\forwardFactor }\,\paren{\bform{\forwardFactor }+\bform{\neutralFactor }+\bform{\backwardFactor }}}} {\quiver{\rform{R}},\quiver{\bform{S}}} = \frac{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardBackwardNeutralFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} \]

Here we are using the notation \(\forwardBackwardNeutralFactor \syntaxEqualSymbol \paren{\quiverProdPoly{\quiver{\forwardFactor }+\quiver{\neutralFactor }+\quiver{\backwardFactor }}}\).

The left-free quiver product is defined how you would expect:

\[ \quiver{R}\leftFreeQuiverProductSymbol \quiver{S}\defEqualSymbol \frac{\quiverProdPoly{\rform{\forwardBackwardNeutralFactor }\,\bform{\forwardFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} \]

Cartesian product

The Cartesian product \(\quiver{R}\cartesianQuiverProductSymbol \quiver{S}\) is defined by taking only one factor transition, taken from either factor, combined with the neutral factor from the other factor. Explicitly:

\[ \quiver{R}\cartesianQuiverProductSymbol \quiver{S}\defEqualSymbol \frac{\quiverProdPoly{\rform{\forwardFactor }\,\bform{\neutralFactor }+\rform{\neutralFactor }\,\bform{\forwardFactor }}} {\quiver{\rform{R}},\quiver{\bform{S}}} \]

Visualization

Let's visualize the free quiver products and contrast them with the locked and Cartesian quiver product. Let's start with the same products we considered earlier:

Notice that for the free products and the Cartesian product we no longer have vertices that are totally disconnected.

Let's enlarge \(\quiver{S}\), setting \(\quiver{S} = \subSize{\lineQuiver }{3}\):

Now let's enlarge \(\quiver{R}\), setting \(\quiver{R} = \subSize{\lineQuiver }{3}\):

Summary

The following table lists the named products we have defined above:

zzz
locked\(\quiver{\rform{R}}\dependentQuiverProductSymbol \quiver{\bform{S}}\)\(\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardFactor }}\)
left free\(\quiver{\rform{R}}\leftFreeQuiverProductSymbol \quiver{\bform{S}}\)\(\quiverProdPoly{\rform{\forwardBackwardNeutralFactor }\,\bform{\forwardFactor }}\)
right free\(\quiver{\rform{R}}\rightFreeQuiverProductSymbol \quiver{\bform{S}}\)\(\quiverProdPoly{\rform{\forwardFactor }\,\bform{\forwardBackwardNeutralFactor }}\)
Cartesian\(\quiver{\rform{R}}\cartesianQuiverProductSymbol \quiver{\bform{S}}\)\(\quiverProdPoly{\rform{\forwardFactor }\,\bform{\neutralFactor }+\rform{\neutralFactor }\,\bform{\forwardFactor }}\)

Transitive quivers

Square quiver

The first application of the products we have defined above will be to construct the square quiver as a product of two line quivers. We will examine more exotic cases in the section Exceptional products.

Let's start with the Cartesian product \(\subSize{\lineQuiver }{ \infty }\cartesianQuiverProductSymbol \subSize{\lineQuiver }{ \infty }\) between two infinite line lattices \(\subSize{\lineQuiver }{ \infty }\):

We obtain the infinite square quiver: \(\subSize{\lineQuiver }{ \infty }\cartesianQuiverProductSymbol \subSize{\lineQuiver }{ \infty }\isomorphicSymbol \subSize{\squareQuiver }{ \infty }\)

Let's limit ourselves to the Cartesian product of two finite line quivers, \(\subSize{\lineQuiver }{3}\cartesianQuiverProductSymbol \subSize{\lineQuiver }{2}\):

We obtain the finite rectangular quiver \(\bindCardSize{\squareQuiver }{3,2}\). We can generalize to arbitrary sizes easily, and include the cardinal bindings:

\[ \bindCardSize{\lineQuiver }{\gbform{\card{x}}\compactBindingRuleSymbol \sym{w}}\cartesianQuiverProductSymbol \bindCardSize{\lineQuiver }{\rbform{\card{y}}\compactBindingRuleSymbol \sym{h}}\isomorphicSymbol \bindCardSize{\squareQuiver }{\gbform{\card{x}}\compactBindingRuleSymbol \sym{w},\rbform{\card{y}}\compactBindingRuleSymbol \sym{h}} \]

Setting \(\sym{n} = \infty\) we obtain the special case \(\bindCardSize{\subSize{\lineQuiver }{ \infty }}{\gbform{\card{x}}}\cartesianQuiverProductSymbol \bindCardSize{\subSize{\lineQuiver }{ \infty }}{\rbform{\card{y}}}\isomorphicSymbol \bindCardSize{\subSize{\squareQuiver }{ \infty }}{\gbform{\card{x}},\rbform{\card{y}}}\).

Triangular quiver

We need not limit ourselves to products between two quivers.

Let us define the triangular product \(\function{ \Delta }(\quiver{R},\quiver{G},\quiver{B})\) between three quivers as follows:

\[ \function{ \Delta }(\quiver{R},\quiver{G},\quiver{B})\defEqualSymbol \frac{\quiverProdPoly{\rform{\forwardFactor }\,\gform{\backwardFactor }\,\bform{\neutralFactor }+\rform{\neutralFactor }\,\gform{\forwardFactor }\,\bform{\backwardFactor }+\rform{\backwardFactor }\,\gform{\neutralFactor }\,\bform{\forwardFactor }}} {\quiver{\rform{R}},\quiver{\gform{G}},\quiver{\bform{B}}} \]

Here we show the largest connected component of the the triangular product between three finite line lattices of size 5:

We have colored the product cardinals by the additive blend of the graphs involved, so that \(\quiverProdPoly{\rform{\forwardFactor }\,\gform{\backwardFactor }}\) is represented by the arrowhead \(\rgform{\arrowhead }\), \(\poly{\gform{\forwardFactor } \, \bform{\backwardFactor }}\) by \(\gbform{\arrowhead }\), and \(\quiverProdPoly{\bform{\forwardFactor }\,\rform{\backwardFactor }}\) by \(\rbform{\arrowhead }\). The symbol \(\componentSuperQuiverOfSymbol\) means "contains the connected component".

The full set of connected components correspond to slices through a larger object which we will describe in the next section.

Infinite product

The product between three infinite line lattices, \(\function{ \Delta }(\subSize{\lineQuiver }{ \infty },\subSize{\lineQuiver }{ \infty },\subSize{\lineQuiver }{ \infty })\), contains countably infinite connected components, each of which is isomorphic to the infinite line quiver:

\[ \function{ \Delta }(\bindCardSize{\subSize{\lineQuiver }{ \infty }}{\rform{\card{r}}},\bindCardSize{\subSize{\lineQuiver }{ \infty }}{\gform{\card{g}}},\bindCardSize{\subSize{\lineQuiver }{ \infty }}{\bform{\card{b}}})\homeomorphicSymbol \indexGraphDisjointUnion{\subSize{\triangularQuiver }{ \infty }}{\mathbb{Z}}{} \]

We depict this visually below:

Non-transitive quivers

We can also construct various non-transitive quivers as products – this will be examined in the next section, Exceptional products.

Projections

Quiver products are explicitly constructed out of combinations of transitions of their factor quivers. This means that we have a straightforward way to project from a path in the product quiver to any of its factor quivers, by simply composing the transitions for that particular factor along the given path.

Let's examine an example of the square quiver \(\bindCardSize{\subSize{\squareQuiver }{3}}{\rform{\card{x}},\bform{\card{y}}}\), isomorphic to the product \(\bindCardSize{\subSize{\lineQuiver }{3}}{\rform{\card{r}}}\cartesianQuiverProductSymbol \bindCardSize{\subSize{\lineQuiver }{3}}{\bform{\card{b}}}\) by identifying the cardinals \(\rform{\card{x}}\isomorphicSymbol \cardinalProduct{\rform{\card{r}},\bform{1}},\bform{\card{y}}\isomorphicSymbol \cardinalProduct{\rform{1},\bform{\card{b}}}\).

Below we show a path \(\path{P_{\quiver{\rbform{Q}}}} = \pathWord{\vertexProduct{2,2}}{\word{\bform{\card{y}}}{\rform{\card{x}}}{\bform{\ncard{y}}}{\bform{\ncard{y}}}{\rform{\card{x}}}}{\vertexProduct{4,1}}\) in the product quiver \(\quiver{\rbform{Q}} = \quiver{\rform{R}}\cartesianQuiverProductSymbol \quiver{\bform{S}}\), and the corresponding projected paths \(\path{P_{\quiver{\rform{R}}}},\path{P_{\quiver{\bform{S}}}}\) in the two factors \(\quiver{\rform{R}},\quiver{\bform{S}}\):

The two factor paths are obtained by writing the path \(\path{P_{\quiver{\rbform{Q}}}}\) in terms of product cardinals \(\cardinalProduct{\rform{\card{r}},\bform{\card{1}}},\cardinalProduct{\rform{\card{1}},\bform{\card{b}}}\) rather than the aliases \(\rform{\card{x}},\bform{\card{y}}\). Then we have:

\[ \path{P_{\quiver{\rbform{Q}}}} = \pathWord{\vertexProduct{1,2}}{\word{\cardinalProduct{\rform{\card{1}},\bform{\card{b}}}}{\cardinalProduct{\rform{\card{r}},\bform{\card{1}}}}{\cardinalProduct{\rform{\card{1}},\bform{\inverted{\card{b}}}}}{\cardinalProduct{\rform{\card{1}},\bform{\inverted{\card{b}}}}}{\cardinalProduct{\rform{\card{r}},\bform{\card{1}}}}}{\vertexProduct{4,1}} \]

Writing this path vertically, we can more easily see how the projections are formed:

\[ \path{P_{\quiver{\rbform{Q}}}} = \pathWord{\verticalVertexProduct{2}{2}}{\word{\verticalCardinalProduct{\rform{\card{1}}}{\bform{\card{b}}}}{\verticalCardinalProduct{\rform{\card{r}}}{\bform{\card{1}}}}{\verticalCardinalProduct{\rform{\card{1}}}{\bform{\inverted{\card{b}}}}}{\verticalCardinalProduct{\rform{\card{1}}}{\bform{\inverted{\card{b}}}}}{\verticalCardinalProduct{\rform{\card{r}}}{\bform{\card{1}}}}}{\verticalVertexProduct{4}{1}} \]

The projections are the top half and bottom half of this path:

\[ \begin{aligned} \path{P_{\quiver{\rform{R}}}}&= \pathWord{2}{\word{\rform{\card{1}}}{\rform{\card{r}}}{\rform{\card{1}}}{\rform{\card{1}}}{\rform{\card{r}}}}{4}&= \pathWord{2}{\word{\rform{\card{r}}}{\rform{\card{r}}}}{4}\\ \path{P_{\quiver{\bform{S}}}}&= \pathWord{2}{\word{\bform{\card{b}}}{\bform{\card{1}}}{\bform{\ncard{b}}}{\bform{\ncard{b}}}{\bform{\card{1}}}}{1}&= \pathWord{2}{\word{\bform{\card{b}}}{\bform{\inverted{\card{b}}}}{\bform{\inverted{\card{b}}}}}{1}&= \pathWord{2}{\word{\bform{\inverted{\card{b}}}}}{1}\end{aligned} \]

Notice that we were able to apply word reduction to the factor path words once they had been obtained, which made them shorter than the original product path word.

There are two path homomorphisms, written \(\functionSignature{\pathHomomorphism{ \pi _{\quiver{\rform{R}}}}}{\pathGroupoid{\quiver{\rbform{Q}}}}{\pathGroupoid{\quiver{\rform{R}}}}\) and \(\functionSignature{\pathHomomorphism{ \pi _{\quiver{\bform{S}}}}}{\pathGroupoid{\quiver{\rbform{Q}}}}{\pathGroupoid{\quiver{\bform{S}}}}\), that project any path in \(\quiver{\rbform{Q}}\) to its factor path in \(\quiver{\rform{R}}\) and \(\quiver{\bform{S}}\) respectively. Then our examples of course illustrate \(\pathHomomorphism{ \pi _{\quiver{\rform{R}}}}(\path{P_{\quiver{\rbform{Q}}}}) = \path{P_{\quiver{\rform{R}}}}\) and \(\pathHomomorphism{ \pi _{\quiver{\bform{S}}}}(\path{P_{\quiver{\rbform{Q}}}}) = \path{P_{\quiver{\bform{S}}}}\).

This of course generalizes to higher-arity products. For a product with \(\sym{n}\) factors, we can label these projection homomorphisms \(\pathHomomorphism{ \pi _1},\pathHomomorphism{ \pi _2},\ellipsis ,\pathHomomorphism{ \pi _{\sym{n}}}\).

Coverings?

The projections \(\pathHomomorphism{ \pi _1},\pathHomomorphism{ \pi _2},\ellipsis ,\pathHomomorphism{ \pi _{\sym{n}}}\) associated with an \(\sym{n}\)-ary product \(\quiver{Q} = {\quiverProdPoly{\sym{ \gamma }}} / {\paren{\quiver{R_1},\ellipsis ,\quiver{R_{\sym{n}}}}}\) are by definition surjective path homomorphisms. However, they are not in general length-preserving, as we saw in the above example. This implies that \(\quiver{Q}\) is not in general a cover of the quivers \(\quiver{R_{\sym{i}}}\), as one might first expect.