Fiber bundles
\[\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\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\edgedot{↫} \gdef\desym{\mathbin{↣}} \gdef\uesym{\mathbin{↢}} \gdef\de#1#2{{{#1}\desym{#2}}} \gdef\ue#1#2{{{#1}\uesym{#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\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{\piFo{#1}} \gdef\baseSpaceStyle#1{\blFo{#1}} \gdef\fiberSpaceStyle#1{\reFo{#1}} \gdef\totalSpaceElementStyle#1{\daPiFo{#1}} \gdef\baseSpaceElementStyle#1{\daBlFo{#1}} \gdef\fiberSpaceElementStyle#1{\daReFo{#1}} \gdef\bundleProjectionStyle#1{\daGrFo{#1}} \gdef\bundleGraphStyle#1{\piFo{#1}} \gdef\bundleSectionStyle#1{\daOrFo{#1}} \gdef\bundleFunctionStyle#1{\daPiFo{#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\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\rightFunctionComposition#1{#1} \gdef\rightFunctionCompositionSymbol{\mathbin{\tiny ●}} \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\variable#1{#1} \gdef\semiring#1{#1} \gdef\sym#1{#1} \gdef\matrix#1{#1} \gdef\tupleSym#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\tuplePart#1#2{#1\llbracket{#2}\rrbracket} \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\wordRingElement#1{#1} \gdef\wordRingBasisElement#1{e_{#1}} \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\kroneckerDeltaForm#1{\kroneckerDeltaSymbol_{#1}} \gdef\kroneckerDeltaSymbol{\delta} \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\groupoidIdentityElement#1#2{#1_{#2}} \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\submset{\mathbin{\dot{\subset}}} \gdef\submseteq{\mathbin{\dot{\subseteq}}} \gdef\supmset{\mathbin{\dot{\supset}}} \gdef\supmseteq{\mathbin{\dot{\supseteq}}} \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{\daGFo{(}#1\daGFo{)}} \gdef\invalidRegionalState{\reFo{\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\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}} \gdef\reFo#1{\textcolor{e1432d}{#1}} \gdef\grFo#1{\textcolor{4ea82a}{#1}} \gdef\blFo#1{\textcolor{3e81c3}{#1}} \gdef\orFo#1{\textcolor{dc841a}{#1}} \gdef\piFo#1{\textcolor{c74883}{#1}} \gdef\teFo#1{\textcolor{47a5a7}{#1}} \gdef\gFo#1{\textcolor{929292}{#1}} \gdef\puFo#1{\textcolor{8b7ebe}{#1}} \gdef\liReFo#1{\textcolor{ff775e}{#1}} \gdef\liGrFo#1{\textcolor{82dd63}{#1}} \gdef\liBlFo#1{\textcolor{6caff4}{#1}} \gdef\liOrFo#1{\textcolor{ffbb5f}{#1}} \gdef\liPiFo#1{\textcolor{fb77b0}{#1}} \gdef\liTeFo#1{\textcolor{7fdbdc}{#1}} \gdef\liGFo#1{\textcolor{c5c5c5}{#1}} \gdef\liPuFo#1{\textcolor{bbaff2}{#1}} \gdef\daReFo#1{\textcolor{b50700}{#1}} \gdef\daGrFo#1{\textcolor{217f00}{#1}} \gdef\daBlFo#1{\textcolor{165e9d}{#1}} \gdef\daOrFo#1{\textcolor{ae5900}{#1}} \gdef\daPiFo#1{\textcolor{9e1f61}{#1}} \gdef\daTeFo#1{\textcolor{0e7c7e}{#1}} \gdef\daGFo#1{\textcolor{6b6b6b}{#1}} \gdef\daPuFo#1{\textcolor{665996}{#1}} \gdef\boFo#1{\mathbf{#1}} \gdef\itFo#1{\mathit{#1}} \gdef\unFo#1{\underline{#1}} \gdef\stFo#1{\struckthrough{#1}} \gdef\plTeFo#1{\textrm{#1}} \gdef\maTeFo#1{\textrm{#1}} \gdef\ZNFuFo#1{\operatorname{#1}} \gdef\ZAFo#1#2{#1(#2)} \gdef\noApSy{\gFo{\text{---}}} \gdef\unSy{\gFo{?}} \gdef\emSeSy{\gFo{ \emptyset }} \gdef\tiSy{\boFo{ \vthinspace ✓ \vthinspace }} \gdef\unIn{\mathbb{I}} \gdef\blSy{\gFo{\_}} \gdef\plSqSy{□} \gdef\baToSy{\boFo{ \vthinspace | \vthinspace }} \gdef\fiToSy{●} \gdef\fiSqToSy{■} \gdef\fiReToSy{▮} \gdef\emToSy{○} \gdef\emSqToSy{□} \gdef\emReToSy{▯} \gdef\plElSy{\,...\,} \gdef\ceElSy{\,\cdot\!\cdot\!\cdot\,} \gdef\elSy{\,\gFo{...}\,} \gdef\veElSy{\vdots} \gdef\coFo{\sqsubseteq} \gdef\CoFo#1#2{#1 \coFo #2} \gdef\coByFo{⊑} \gdef\CoByFo#1#2{#1 \coByFo #2} \gdef\stCoFo{\sqsupset} \gdef\StCoFo#1#2{#1 \stCoFo #2} \gdef\stCoByFo{\sqsubset} \gdef\StCoByFo#1#2{#1 \stCoByFo #2} \gdef\inCoFo{\sqsubseteq} \gdef\InCoFo#1#2{#1 \inCoFo #2} \gdef\InCoFoⅡ#1#2#3{#1 \inCoFo_{#3} #2} \gdef\grInCoFo{\sqsubseteq} \gdef\GrInCoFo#1#2{#1 \grInCoFo #2} \gdef\GrInCoFoⅡ#1#2#3{#1 \grInCoFo_{#3} #2} \gdef\quInCoFo{\sqsubseteq} \gdef\QuInCoFo#1#2{#1 \quInCoFo #2} \gdef\QuInCoFoⅡ#1#2#3{#1 \quInCoFo_{#3} #2} \gdef\coPrFo{\cdot} \gdef\CoPrFo#1{#1} \gdef\coSuFo{\sqcup} \gdef\CoSuFo#1{#1} \gdef\isCoFo{\sim} \gdef\IsCoFo#1#2{#1 \isCoFo #2} \gdef\IsCoFoⅡ#1#2#3{#1 \isCoFo_{#3} #2} \gdef\isNoCoFo{\nsim} \gdef\IsNoCoFo#1#2{#1 \isNoCoFo #2} \gdef\IsNoCoFoⅡ#1#2#3{#1 \isNoCoFo_{#3} #2} \gdef\coReFo{\sim} \gdef\CoReFo#1{#1} \gdef\TuFo#1{(#1)} \gdef\SeFo#1{{#1}} \gdef\StSeFo#1#2#3{#1#3#2} \gdef\inArSy{⏵} \gdef\arSy{⏴} \gdef\upArSy{⏶} \gdef\doArSy{⏷} \gdef\leArSy{⏴} \gdef\riArSy{⏵} \gdef\grAuFu{\operatorname{Aut}} \gdef\PaFo#1{\;#1\;} \gdef\na{\mathbb{n}} \gdef\poNa{\mathbb{N} ^+} \gdef\poRe{\mathbb{R} ^+} \gdef\pr{\mathbb{P}} \gdef\re{\mathbb{R}} \gdef\piSy{\pi} \gdef\taSy{\tau}\]

Fiber bundles #

Introduction #

In this section we will approach how to define a general notion of a smooth function on a quiver. To do this we will adapt a construct from continuous mathematics, that of the fiber bundle, to the quiver-geometry setting. Therefore we will briefly review fiber bundles in their traditional form for those that require a refresher, and then explain how to adapt them to quiver geometry.

Continuous fiber bundles #

Motivation #

In continuous geometry, fiber bundles are a kind of gadget to organize and generalize the notion of a continuous function on a topological space.

To motivate why fiber bundles are needed, we will start by looking at three kinds of function: functions on the unit interval, functions on a circle, and "functions on the Möbius strip". The last is in quotations because the story there is a little subtle, and is precisely the kind of situation that fiber bundles can clarify.

First, let \( \fiberSpaceStyle{\topologicalSpace{I_1}} \) denote the half-open interval \( \closedOpenInterval{-1}{1} \sub \re \), and \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}} \) denote the half-open interval \( \closedOpenInterval{\minus{\piSy}}{\piSy} \sub \re \). Let \( \baseSpaceStyle{\circleSpaceSymbol } \) denote the circle \( \circleSpaceSymbol \sub \realVectorSpace{2} \), seen as the set of points whose distance from the origin is 1:

\[ \baseSpaceStyle{\circleSpaceSymbol }\defEqualSymbol \setConstructor{\TuFo{\baseSpaceElementStyle{\sym{x}}, \baseSpaceElementStyle{\sym{y}}}}{\elemOf{\baseSpaceElementStyle{\sym{x}},\baseSpaceElementStyle{\sym{y}}}{\re},\baseSpaceElementStyle{\sym{x}}^2 + \baseSpaceElementStyle{\sym{y}}^2 = 1} \]

We can parameterize \( \baseSpaceStyle{\circleSpaceSymbol } \) in terms of a real number \( \elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}} \) via:

\[ \baseSpaceStyle{\circleSpaceSymbol } = \setConstructor{\TuFo{\sin(\baseSpaceElementStyle{\sym{ \theta }}), \cos(\baseSpaceElementStyle{\sym{ \theta }})}}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}} \]

We will now consider "interval functions" of the form \( \functionType{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \), and "circle functions" of the form \( \functionType{\baseSpaceStyle{\circleSpaceSymbol }}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \). In other words, these are functions whose domain is the interval \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}} \) or the circle \( \baseSpaceStyle{\circleSpaceSymbol } \) respectively.

We can visualize these functions via their graphs. For example, here we show two functions: the function \( \functionSignature{\function{\bundleFunctionStyle{\function{f}}}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \) defined by \( \function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{ \theta }}) = \sin(6 \, \baseSpaceElementStyle{\sym{ \theta }}) \), as well as the function \( \functionSignature{\function{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}}{\baseSpaceStyle{\circleSpaceSymbol }}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \) defined also as \( \function{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}(\baseSpaceElementStyle{\sym{ \theta }}) = \sin(6 \, \baseSpaceElementStyle{\sym{ \theta }}) \), where we use the \( \sym{ \theta } \)-parameterization of \( \baseSpaceStyle{\circleSpaceSymbol } \).

In both cases we have visualized the graph of the function in a space that consists of a "horizontal" subspace representing the domain and an orthogonal "vertical" subspace representing the codomain. For the interval function \( \bundleFunctionStyle{\function{f}} \) the horizontal subspace is 1-dimensional and hence the full graph is a subset of \( \realVectorSpace{2} \). But for the circle function \( \bundleFunctionStyle{\function{\whiteCircleModifier{f}}} \) the horizontal subspace is the circle \( \baseSpaceStyle{\circleSpaceSymbol } \), itself a subset of \( \realVectorSpace{2} \), and hence the full graph is a subset of \( \realVectorSpace{3} \), which is why we plot it as a 3-dimensional figure.

In either case the graph is a subset of a total space that consists of horizontal and vertical subspaces that model the domain and codomain:

  • The graph of the interval function \( \bundleFunctionStyle{\function{f}} \) is the set \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{f}}}} = \setConstructor{\TuFo{\baseSpaceElementStyle{\sym{ \theta }}, \function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{ \theta }})}}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}} \). The graph \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{f}}}} \) is a subset \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{f}}}} \sub \baseSpaceStyle{\topologicalSpace{I_{\piSy}}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \) of the total space \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \).

  • The graph of \( \bundleFunctionStyle{\function{\whiteCircleModifier{f}}} \) is the set \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}} = \setConstructor{\TuFo{\baseSpaceElementStyle{\sym{x}}, \baseSpaceElementStyle{\sym{y}}, \function{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}(\TuFo{\baseSpaceElementStyle{\sym{x}}, \baseSpaceElementStyle{\sym{y}}})}}{\elemOf{\TuFo{\baseSpaceElementStyle{\sym{x}}, \baseSpaceElementStyle{\sym{y}}}}{\baseSpaceStyle{\circleSpaceSymbol }}} \). In terms of the \( \sym{ \theta } \)-parameterization, this can be also be written \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}} = \setConstructor{\TuFo{\sin(\baseSpaceElementStyle{\sym{ \theta }}), \cos(\baseSpaceElementStyle{\sym{ \theta }}), \function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{ \theta }})}}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}} \). The graph \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}} \) is a subset \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}} \sub \baseSpaceStyle{\circleSpaceSymbol }\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \) of the total space \( \baseSpaceStyle{\circleSpaceSymbol }\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \).

Continuity #

Here we show interval and circle functions defined by \( \sin(\baseSpaceElementStyle{\sym{ \theta }}) \) and \( \sin(\frac{1}{2} \, \baseSpaceElementStyle{\sym{ \theta }}) \).

Notice in the top row that both of the interval functions \( \sin(\baseSpaceElementStyle{\sym{ \theta }}) \) and \( \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2) \) appear continuous, as they appear unbroken over the interior of the interval.

In contrast, the circle function \( \sin(\baseSpaceElementStyle{\sym{ \theta }}) \) is continuous, while the circle function \( \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2) \) is not, since it has a break at the far side.

The continuity of these functions can be rephrased as the corresponding graphs being connected, closed sets in the topology of the respective total space: \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \) for the interval functions, and \( \baseSpaceStyle{\circleSpaceSymbol }\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \) for the circle functions. (The real story here is more subtle, but is outside the scope of this treatment). This topological aspect is of fundamental importance for the continuous theory of fiber bundles, but we will not delve into it here, since for discrete fiber bundles topology manifests via the existence of path homomorphisms rather than open and closed sets.

Möbius strip #

We just saw that the circle function \( \bundleFunctionStyle{\function{\whiteCircleModifier{f}}} \) defined by \( \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2) \) is not continuous. However, if we imagine cutting the band on which the graph of \( \bundleFunctionStyle{\function{\whiteCircleModifier{f}}} \) is shown at the far side, twisting one end of the band, and gluing the ends together again, we will bring the two broken endpoints of the graph into coincidence, joining the break. This is now the graph of some function-like object we'll refer to as \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \). Let's visualize this situation:

For functions \( \functionSignature{\function{\bundleFunctionStyle{\function{f}}}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \) that are continuous on \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}} \), it's not hard to see that if \( \bundleFunctionStyle{\function{f}} \) is even (meaning \( \function{\bundleFunctionStyle{\function{f}}}(\minus{\baseSpaceElementStyle{\sym{x}}}) = \function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{x}}) \)), then \( \bundleFunctionStyle{\function{\whiteCircleModifier{f}}} \) is continuous (on \( \baseSpaceStyle{\circleSpaceSymbol } \)). Likewise if \( \function{f} \) is odd, (meaning \( \function{\bundleFunctionStyle{\function{f}}}(\minus{\baseSpaceElementStyle{\sym{x}}}) = \minus{\function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{x}})} \)), then \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) is continuous (on the "twisted" form of \( \baseSpaceStyle{\circleSpaceSymbol } \)). The only functions that can be continuous on both are those for which \( \function{\bundleFunctionStyle{\function{f}}}(\piSy) = \function{\bundleFunctionStyle{\function{f}}}(\minus{\piSy}) = 0 \) -- where we abuse notation slightly via \( \function{\bundleFunctionStyle{\function{f}}}(\piSy)\syntaxEqualSymbol \limit{\function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{x}})}{\baseSpaceElementStyle{\sym{x}} \to \pi } \).

The band we have created to continuously host the graph of \( \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2) \) is known as the Möbius strip. This is what we hinted at when at the beginning of this section when we said that fiber bundles allow us to define "functions on the Möbius strip". This was of course imprecise language, because \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) itself is defined on the circle, but its "codomain" is somehow a kind of interval that twists around as we move on this circle in a way that is described by the Möbius strip. We cannot think of \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) as being a function of type \( \functionType{\baseSpaceStyle{\circleSpaceSymbol }}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \), since the nature of the interval \( \fiberSpaceStyle{\topologicalSpace{I_1}} \) somehow changes as we proceed around \( \baseSpaceStyle{\circleSpaceSymbol } \) such that it is flipped by the time we complete one revolution around \( \baseSpaceStyle{\circleSpaceSymbol } \).

Conclusion #

We haven't defined any of the machinery of fiber bundles yet, and so this story about the Möbius strip remains informal for now. But hopefully we have motivated a particular approach, which is to think of functions not as maps but as graphs living in some total space that serves as a host, which defines what functions count as continuous. An ordinary function is a graph living in the Cartesian product between the domain and codomain of the function. But there are more general situations for which the total space that hosts the graph of the function is not simply a Cartesian product. It will turn out that we need only that the total space is a Cartesian product locally.

Base, fiber, and total space #

As we saw above, we can think of a function \( \bundleFunctionStyle{\function{f}} \) as a relation between its domain and codomain: this relation is known as the graph \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{f}}}} \) of the function. We saw that this graph is a subset of the so-called total space, which in the case of functions on the interval and circle are the Cartesian products \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \) and \( \baseSpaceStyle{\circleSpaceSymbol }\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \). We will now introduce some notation to organize these relationships:

symbol name interval fn's circle fn's interpretation
\( \baseSpaceStyle{\topologicalSpace{B}} \) base space \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}} \) \( \baseSpaceStyle{\circleSpaceSymbol } \) domain; space of inputs
\( \totalSpaceStyle{\topologicalSpace{E}} \) total space \( \baseSpaceStyle{\topologicalSpace{I_{\piSy}}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \) \( \baseSpaceStyle{\circleSpaceSymbol }\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} \) host for graph; space of input-output pairs
\( \fiberSpaceStyle{\topologicalSpace{F}} \) fiber space \( \fiberSpaceStyle{\topologicalSpace{I_1}} \) \( \fiberSpaceStyle{\topologicalSpace{I_1}} \) codomain; space of outputs

The base space \( \baseSpaceStyle{\topologicalSpace{B}} \) plays the role of the domain, the fiber space \( \fiberSpaceStyle{\topologicalSpace{F}} \) plays the role of the codomain, and the total space \( \totalSpaceStyle{\topologicalSpace{E}} \) plays the role of the host for the graph \( \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{f}}}} \) of a function \( \bundleFunctionStyle{\function{f}} \) on the base space: the graph must be an closed, connected subset of the total space with particular properties we will shortly explain.

For the interval and circle functions, the total space is simply the Cartesian product of the base space and the fiber space: \( \totalSpaceStyle{\topologicalSpace{E}} = \baseSpaceStyle{\topologicalSpace{B}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{F}} \).

Conditions on graphs #

How do we know if a particular (closed, connected) subset \( \bundleGraphStyle{\topologicalSpace{G}} \sub \totalSpaceStyle{\topologicalSpace{E}} \) of the total space \( \totalSpaceStyle{\topologicalSpace{E}} \) corresponds to the graph of some function \( \bundleFunctionStyle{\function{f}} \)? In the special case that the total space can be written as the Cartesian product \( \totalSpaceStyle{\topologicalSpace{E}} = \baseSpaceStyle{\topologicalSpace{B}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{F}} \), we have the usual conditions for a relation to be a graph: for every point in the base space \( \elemOf{\baseSpaceElementStyle{\sym{x}}}{\baseSpaceStyle{\topologicalSpace{B}}} \) there must be exactly one point in the fiber space \( \elemOf{\fiberSpaceElementStyle{\sym{y}}}{\fiberSpaceStyle{\topologicalSpace{F}}} \) such that \( \elemOf{\TuFo{\baseSpaceElementStyle{\sym{x}}, \fiberSpaceElementStyle{\sym{y}}}}{\bundleGraphStyle{\topologicalSpace{G}}} \). Then \( \bundleGraphStyle{\topologicalSpace{G}} \) is the graph of the function \( \function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{x}}) = \fiberSpaceElementStyle{\sym{y}} \).

For examples, let us consider again the functions \( \functionSignature{\function{\bundleFunctionStyle{\function{f}}}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \) and \( \functionSignature{\function{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}}{\baseSpaceStyle{\circleSpaceSymbol }}{\fiberSpaceStyle{\topologicalSpace{I_1}}} \) defined by \( \mto{\baseSpaceElementStyle{\sym{ \theta }}}{\sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)} \):

The graphs of these functions are the relations:

\[ \begin{aligned} \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{f}}}}&= \setConstructor{\TuFo{\baseSpaceElementStyle{\sym{ \theta }}, \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}}\\ \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{\whiteCircleModifier{f}}}}}&= \setConstructor{\TuFo{\sin(\baseSpaceElementStyle{\sym{ \theta }}), \cos(\baseSpaceElementStyle{\sym{ \theta }}), \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}}\end{aligned} \]

To write down the graph of \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \), we first parameterize the Möbius strip in terms of \( \baseSpaceElementStyle{\sym{ \theta }} \), the angle around the strip, and \( \fiberSpaceElementStyle{\sym{r}} \), the displacement above or below the "equator". We choose an outer radius of 5 and and inner radius of 1, though these are arbitrary:

\[ \function{M}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{r}})\defEqualSymbol \TuFo{\cos(\baseSpaceElementStyle{\sym{ \theta }}) \, \paren{5 - \fiberSpaceElementStyle{\sym{r}} \, \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}, \sin(\baseSpaceElementStyle{\sym{ \theta }}) \, \paren{5 - \fiberSpaceElementStyle{\sym{r}} \, \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}, \fiberSpaceElementStyle{\sym{r}} \, \cos(\baseSpaceElementStyle{\sym{ \theta }} / 2)} \]

This allows us to define the total space for the strip \( \totalSpaceStyle{\topologicalSpace{M}} \) to be:

\[ \totalSpaceStyle{\topologicalSpace{M}}\defEqualSymbol \setConstructor{\function{M}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{r}})}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}},\elemOf{\fiberSpaceElementStyle{\sym{r}}}{\fiberSpaceStyle{\topologicalSpace{I_1}}}} \]

The graph of \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) is then given by:

\[ \begin{aligned} \bundleGraphStyle{\functionGraph{\bundleFunctionStyle{\function{\blackCircleModifier{f}}}}}&= \setConstructor{\function{M}(\baseSpaceElementStyle{\sym{ \theta }},\sin(\baseSpaceElementStyle{\sym{ \theta }} / 2))}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}}\\ &= \setConstructor{\TuFo{\cos(\baseSpaceElementStyle{\sym{ \theta }}) \, \paren{9 + \cos(\baseSpaceElementStyle{\sym{ \theta }})}, \sin(\baseSpaceElementStyle{\sym{ \theta }}) \, \paren{9 + \cos(\baseSpaceElementStyle{\sym{ \theta }})}, \sin(\baseSpaceElementStyle{\sym{ \theta }})} / 2}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}}}\end{aligned} \]

Projection maps #

Returning to the question of how we can know when a given subset of \( \totalSpaceStyle{\topologicalSpace{E}} \) could be the graph of some function, we now need to define a projection map \( \functionSignature{\function{\bundleProjectionStyle{\bundleProjection{ \pi }}}}{\totalSpaceStyle{\topologicalSpace{E}}}{\baseSpaceStyle{\topologicalSpace{B}}} \), which is a continuous, surjective function takes us from a point in the total space to the underlying point in the base space. If we think of points in the total space as being input-output pairs, the projection map should send such an input-output pair to its input component. The projection maps for the interval and circle total spaces are therefore the following:

\[ \begin{csarray}{ccccccccc}{acccccccc} \bundleProjectionStyle{\bundleProjection{p}} & : & \baseSpaceStyle{\topologicalSpace{I_{\piSy}}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} & \rarr & \baseSpaceStyle{\topologicalSpace{I_{\piSy}}} & \kern{5pt} & \function{\bundleProjectionStyle{\bundleProjection{p}}}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{y}}) & ≝ & \baseSpaceElementStyle{\sym{ \theta }}\\ & & & & & & & & \\ \bundleProjectionStyle{\bundleProjection{\whiteCircleModifier{p}}} & : & \baseSpaceStyle{\circleSpaceSymbol }\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{I_1}} & \rarr & \baseSpaceStyle{\circleSpaceSymbol } & \kern{5pt} & \function{\bundleProjectionStyle{\bundleProjection{\whiteCircleModifier{p}}}}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{z}}) & ≝ & \baseSpaceElementStyle{\sym{ \theta }}\\ & & & & & & & & \\ \bundleProjectionStyle{\bundleProjection{\blackCircleModifier{p}}} & : & \totalSpaceStyle{\topologicalSpace{M}} & \rarr & \baseSpaceStyle{\circleSpaceSymbol } & \kern{5pt} & \function{\bundleProjectionStyle{\bundleProjection{\blackCircleModifier{p}}}}(\function{M}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{r}})) & ≝ & \baseSpaceElementStyle{\sym{ \theta }} \end{csarray} \]

For example, here we show a point \( \totalSpaceElementStyle{\sym{e}} = \TuFo{\baseSpaceElementStyle{\sym{ \theta }}, \fiberSpaceElementStyle{\sym{y}}} = \TuFo{-\frac{7}{8} \, \piSy, \frac{1}{2}} \) in the total space and its projection to a point \( \baseSpaceElementStyle{\sym{ \theta }} \) in the base space in all three cases:

We can visualize the action of the projection map as a series of arrows that show how sets of points of the total space \( \totalSpaceStyle{\topologicalSpace{E}} \) are mapped by \( \bundleProjectionStyle{\bundleProjection{ \pi }} \) to points in the base space \( \baseSpaceStyle{\topologicalSpace{B}} \):

We can then rephrase part of the condition that a subset \( \bundleGraphStyle{\topologicalSpace{G}} \sub \totalSpaceStyle{\topologicalSpace{E}} \) of the total space represent a graph. In particular, we can require that the image of the graph be the base space:

\[ \function{\imageModifier{\bundleProjectionStyle{\bundleProjection{ \pi }}}}(\bundleGraphStyle{\topologicalSpace{G}}) = \baseSpaceStyle{\topologicalSpace{B}} \]

This ensures that there is at least one element \( \elemOf{\TuFo{\baseSpaceElementStyle{\sym{x}}, \fiberSpaceElementStyle{\sym{y}}}}{\bundleGraphStyle{\topologicalSpace{G}}} \) for every \( \elemOf{\baseSpaceElementStyle{\sym{x}}}{\baseSpaceStyle{\topologicalSpace{B}}} \), in other words, that the function underlying the graph is total.

Now, if there was more than one such pair for a given \( \elemOf{\baseSpaceElementStyle{\sym{x}}}{\baseSpaceStyle{\topologicalSpace{B}}} \), say \( \TuFo{\baseSpaceElementStyle{\sym{x}}, \fiberSpaceElementStyle{\sym{y}}} \) and \( \TuFo{\baseSpaceElementStyle{\sym{x}}, \primed{\fiberSpaceElementStyle{\sym{y}}}} \), then we would effectively have the graph of a multivalued function that takes on a set of values at \( \baseSpaceElementStyle{\sym{x}} \): \( \function{f}(\baseSpaceElementStyle{\sym{x}}) = \SeFo{\fiberSpaceElementStyle{\sym{y}}, \primed{\fiberSpaceElementStyle{\sym{y}}}} \).

To ensure that there is at most one such pair so that we have a single-valued function, we require that there exists a total function \( \functionSignature{\function{\bundleSectionStyle{\bundleSection{ \sigma }}}}{\baseSpaceStyle{\topologicalSpace{B}}}{\totalSpaceStyle{\topologicalSpace{E}}} \) that gives us this single pair for every \( \elemOf{\baseSpaceElementStyle{\sym{x}}}{\baseSpaceStyle{\topologicalSpace{B}}} \).

For example, for our interval function \( \function{\bundleFunctionStyle{\function{f}}}(\baseSpaceElementStyle{\sym{ \theta }}) = \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2) \) the corresponding \( \bundleSectionStyle{\bundleSection{ \sigma }} \) is:

\[ \function{\bundleSectionStyle{\bundleSection{ \sigma }}}(\baseSpaceElementStyle{\sym{ \theta }})\defEqualSymbol \TuFo{\baseSpaceElementStyle{\sym{ \theta }}, \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)} \]

We can visualize the action of \( \bundleFunctionStyle{\function{f}},\bundleFunctionStyle{\function{\whiteCircleModifier{f}}},\bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) as the sets of arrows that show how a point in the base space is mapped to a point in the total space:

Notice that this function \( \bundleSectionStyle{\bundleSection{ \sigma }} \) must send every \( \elemOf{\baseSpaceElementStyle{\sym{x}}}{\baseSpaceStyle{\topologicalSpace{B}}} \) to a point of \( \totalSpaceStyle{\topologicalSpace{E}} \) that then projects back down to the original point: \( \function{\bundleProjectionStyle{\bundleProjection{ \pi }}}(\function{\bundleSectionStyle{\bundleSection{ \sigma }}}(\baseSpaceElementStyle{\sym{x}}))\identicallyEqualSymbol \baseSpaceElementStyle{\sym{x}} \). Compactly this is the identity:

\[ \functionComposition{\bundleProjectionStyle{\bundleProjection{ \pi }}\functionCompositionSymbol \bundleSectionStyle{\bundleSection{ \sigma }}}\identicallyEqualSymbol \identity_{\baseSpaceStyle{\topologicalSpace{B}}} \]

The function \( \bundleSectionStyle{\bundleSection{ \sigma }} \) contains the same information as the graph \( \bundleGraphStyle{\topologicalSpace{G}} \). In fact, the graph is simply the image of the base space under \( \bundleSectionStyle{\bundleSection{ \sigma }} \):

\[ \function{\imageModifier{\bundleSectionStyle{\bundleSection{ \sigma }}}}(\baseSpaceStyle{\topologicalSpace{B}}) = \bundleGraphStyle{\topologicalSpace{G}} \]

Summary #

We now have a characterization for when a subset \( \bundleGraphStyle{\topologicalSpace{G}} \) of the total space \( \totalSpaceStyle{\topologicalSpace{E}} \) is the graph of a function-like object on the base space \( \baseSpaceStyle{\topologicalSpace{B}} \):

  • We must first decide on a projection map \( \functionSignature{\function{\bundleProjectionStyle{\bundleProjection{ \pi }}}}{\totalSpaceStyle{\topologicalSpace{E}}}{\baseSpaceStyle{\topologicalSpace{B}}} \) that describes how \( \totalSpaceStyle{\topologicalSpace{E}} \) covers \( \baseSpaceStyle{\topologicalSpace{B}} \), since this determines whether a subset \( \bundleGraphStyle{\topologicalSpace{G}} \sub \totalSpaceStyle{\topologicalSpace{E}} \) corresponds to to the graph of a single-valued function.

  • One this choice is made, a subset \( \bundleGraphStyle{\topologicalSpace{G}} \sub \totalSpaceStyle{\topologicalSpace{E}} \) is the graph of a function-like object if it is the image \( \function{\imageModifier{\bundleSectionStyle{\bundleSection{ \sigma }}}}(\baseSpaceStyle{\topologicalSpace{B}}) = \bundleGraphStyle{\topologicalSpace{G}} \) of \( \baseSpaceStyle{\topologicalSpace{B}} \) under a continuous map \( \functionSignature{\function{\bundleSectionStyle{\bundleSection{ \sigma }}}}{\baseSpaceStyle{\topologicalSpace{B}}}{\totalSpaceStyle{\topologicalSpace{E}}} \), such that \( \functionComposition{\bundleProjectionStyle{\bundleProjection{ \pi }}\functionCompositionSymbol \bundleSectionStyle{\bundleSection{ \sigma }}}\identicallyEqualSymbol \identity_{\baseSpaceStyle{\topologicalSpace{B}}} \).

Sections #

We just explained how a continuous function \( \functionSignature{\function{\bundleSectionStyle{\bundleSection{ \sigma }}}}{\baseSpaceStyle{\topologicalSpace{B}}}{\totalSpaceStyle{\topologicalSpace{E}}} \) satisfying \( \functionComposition{\bundleProjectionStyle{\bundleProjection{ \pi }}\functionCompositionSymbol \bundleSectionStyle{\bundleSection{ \sigma }}}\identicallyEqualSymbol \identity_{\baseSpaceStyle{\topologicalSpace{B}}} \) can be seen as determining the graph of a function-like object \( \bundleGraphStyle{\topologicalSpace{G}} \) on a base space \( \baseSpaceStyle{\topologicalSpace{B}} \), once a projection \( \functionSignature{\function{\bundleProjectionStyle{\bundleProjection{ \pi }}}}{\totalSpaceStyle{\topologicalSpace{E}}}{\baseSpaceStyle{\topologicalSpace{B}}} \) is chosen. To represent and compute with these function-like objects, it turns out to be more convenient to work with \( \bundleSectionStyle{\bundleSection{ \sigma }} \) itself rather than its corresponding graph \( \bundleGraphStyle{\topologicalSpace{G}} \sub \totalSpaceStyle{\topologicalSpace{E}} \).

Such a function \( \functionSignature{\function{\bundleSectionStyle{\bundleSection{ \sigma }}}}{\baseSpaceStyle{\topologicalSpace{B}}}{\totalSpaceStyle{\topologicalSpace{E}}} \) is called a section of the fiber bundle \( \TuFo{\totalSpaceStyle{\topologicalSpace{E}}, \baseSpaceStyle{\topologicalSpace{B}}, \bundleProjectionStyle{\bundleProjection{ \pi }}} \). The fiber bundle encapsulates our choice of where the graphs of functions on \( \baseSpaceStyle{\topologicalSpace{B}} \) should live, sections then represent and encode these graphs.

In the special case that \( \totalSpaceStyle{\topologicalSpace{E}} = \baseSpaceStyle{\topologicalSpace{B}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{F}} \), which are called trivial fiber bundles, these sections encode the graphs of ordinary functions with domain \( \baseSpaceStyle{\topologicalSpace{B}} \) and codomain \( \fiberSpaceStyle{\topologicalSpace{F}} \). This was the case with our examples \( \bundleFunctionStyle{\function{f}} \) and \( \bundleFunctionStyle{\function{\whiteCircleModifier{f}}} \).

The sections corresponding to the functions \( \bundleFunctionStyle{\function{f}} \) and \( \bundleFunctionStyle{\function{\whiteCircleModifier{f}}} \) are:

\[ \begin{aligned} \function{\bundleSectionStyle{\bundleSection{ \sigma }}}(\baseSpaceElementStyle{\sym{ \theta }})&\defEqualSymbol \TuFo{\baseSpaceElementStyle{\sym{ \theta }}, \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}\\[0.75em] \function{\bundleSectionStyle{\bundleSection{\whiteCircleModifier{ \sigma }}}}(\baseSpaceElementStyle{\sym{ \theta }})&\defEqualSymbol \TuFo{\sin(\baseSpaceElementStyle{\sym{ \theta }}), \cos(\baseSpaceElementStyle{\sym{ \theta }}), \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}\end{aligned} \]

What about the section \( \bundleSectionStyle{\bundleSection{\blackCircleModifier{ \sigma }}} \)? We will explain this in the next... section.

Möbius strip #

The object \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) was a case in which we could not represent the total space as a Cartesian product. For this case, \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) will be a section of a fiber bundle \( \TuFo{\totalSpaceStyle{\topologicalSpace{M}}, \baseSpaceStyle{\circleSpaceSymbol }, \bundleProjectionStyle{\bundleProjection{\blackCircleModifier{p}}}} \), where \( \totalSpaceStyle{\topologicalSpace{M}} \) is the subset of \( \realVectorSpace{3} \) (with its induced topology) that we defined earlier to be:

\[ \begin{aligned} \totalSpaceStyle{\topologicalSpace{M}}&\defEqualSymbol \setConstructor{\function{M}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{r}})}{\elemOf{\baseSpaceElementStyle{\sym{ \theta }}}{\baseSpaceStyle{\topologicalSpace{I_{\piSy}}}},\elemOf{\fiberSpaceElementStyle{\sym{r}}}{\fiberSpaceStyle{\topologicalSpace{I_1}}}}\\ \function{M}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{r}})&\defEqualSymbol \TuFo{\cos(\baseSpaceElementStyle{\sym{ \theta }}) \, \paren{5 - \fiberSpaceElementStyle{\sym{r}} \, \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}, \sin(\baseSpaceElementStyle{\sym{ \theta }}) \, \paren{5 - \fiberSpaceElementStyle{\sym{r}} \, \sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)}, \fiberSpaceElementStyle{\sym{r}} \, \cos(\baseSpaceElementStyle{\sym{ \theta }} / 2)}\end{aligned} \]

The projection \( \functionSignature{\function{\bundleProjectionStyle{\bundleProjection{\blackCircleModifier{p}}}}}{\totalSpaceStyle{\topologicalSpace{M}}}{\baseSpaceStyle{\circleSpaceSymbol }} \) is defined by:

\[ \function{\bundleProjectionStyle{\bundleProjection{\blackCircleModifier{p}}}}(\function{M}(\baseSpaceElementStyle{\sym{ \theta }},\fiberSpaceElementStyle{\sym{r}}))\defEqualSymbol \baseSpaceElementStyle{\sym{ \theta }} \]

Then \( \bundleFunctionStyle{\function{\blackCircleModifier{f}}} \) is the function-like object whose graph described by the section:

\[ \function{\bundleSectionStyle{\bundleSection{\blackCircleModifier{ \sigma }}}}(\baseSpaceElementStyle{\sym{ \theta }})\defEqualSymbol \function{M}(\baseSpaceElementStyle{\sym{ \theta }},\sin(\baseSpaceElementStyle{\sym{ \theta }} / 2)) \]

Typical fibers and local trivializations #

We saw that the sections \( \bundleSectionStyle{\bundleSection{ \sigma }} \) are generalizations of functions, since they encode graphs of such function-like objects in some total space of the corresponding fiber bundle \( \TuFo{\totalSpaceStyle{\topologicalSpace{E}}, \baseSpaceStyle{\topologicalSpace{B}}, \bundleProjectionStyle{\bundleProjection{ \pi }}} \). For ordinary functions -- which are sections of trivial fiber bundles -- the total space is a Cartesian product \( \totalSpaceStyle{\topologicalSpace{E}} = \baseSpaceStyle{\topologicalSpace{B}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{F}} \), where the fiber space \( \fiberSpaceStyle{\topologicalSpace{F}} \) plays the role of the codomain of the function. Do we have to completely throw out the notion of such a fiber space for non-trivial fiber bundles? The idea of a codomain seems useful, so we would prefer not to throw the baby out with the bathwater. Luckily, we can still talk about a so-called typical fiber \( \fiberSpaceStyle{\topologicalSpace{F}} \).

The idea is that while the total space may not break down into a straightforward Cartesian product globally, it does break down locally -- meaning that for suitably small open neighborhoods \( \baseSpaceStyle{\topologicalSpace{U}} \sub \baseSpaceStyle{\topologicalSpace{B}} \) of \( \baseSpaceStyle{\topologicalSpace{B}} \) around some point \( \elemOf{\baseSpaceElementStyle{\sym{x}}}{\baseSpaceStyle{\topologicalSpace{B}}} \), we can represent the corresponding portion \( \totalSpaceStyle{\topologicalSpace{V}} \sub \totalSpaceStyle{\topologicalSpace{E}} \) of the total space \( \totalSpaceStyle{\topologicalSpace{E}} \) that lives above \( \baseSpaceStyle{\topologicalSpace{B}} \) as a Cartesian product with the typical fiber \( \fiberSpaceStyle{\topologicalSpace{F}} \):

\[ \begin{aligned} \function{\bundleProjectionStyle{\bundleProjection{ \pi }}}(\totalSpaceStyle{\topologicalSpace{V}} \sub \totalSpaceStyle{\topologicalSpace{E}})&= \baseSpaceStyle{\topologicalSpace{U}} \sub \baseSpaceStyle{\topologicalSpace{B}}\\[0.75em] \totalSpaceStyle{\topologicalSpace{V}}&\homeomorphicSymbol\baseSpaceStyle{\topologicalSpace{U}}\cartesianProductSymbol \fiberSpaceStyle{\topologicalSpace{F}}\end{aligned} \]

This is called a local trivialization of \( \totalSpaceStyle{\topologicalSpace{E}} \) around \( \baseSpaceElementStyle{\sym{x}} \). Such a local trivialization is always possible for a fiber bundle (which we will not show here). What makes a non-trivial fiber bundle non-trivial is that we cannot glue together these local trivializations to express the entire total space as such a Cartesian product.

For the interval, circle, and twisted functions we examined above, the typical fiber was in all cases \( \fiberSpaceStyle{\topologicalSpace{F}} = \fiberSpaceStyle{\topologicalSpace{I_1}} \).

Discrete fiber bundles #

How do we recapitulate the setup of continuous fiber bundles for quivers? Let us try the most straightforward approach. We define a quiver fiber bundle to be a tuple \( \TuFo{\totalSpaceStyle{\quiver{E}}, \baseSpaceStyle{\quiver{B}}, \bundleProjectionStyle{\pathHomomorphism{ \pi }}} \), where:

  • \( \totalSpaceStyle{\quiver{E}} \) is the total quiver

  • \( \baseSpaceStyle{\quiver{B}} \) is the base quiver

  • \( \functionSignature{\function{\bundleProjectionStyle{\pathHomomorphism{ \pi }}}}{\totalSpaceStyle{\quiver{E}}}{\baseSpaceStyle{\quiver{B}}} \) is the projection map, a path homomorphism that is moreover a covering map

The special case of a trivial quiver bundle occurs when the total space is a quiver product given by the so-called fiber product:

\[ \totalSpaceStyle{\quiver{E}} = \frac{\quiverProdPoly{\baseSpaceStyle{\forwardFactor }\,\paren{\fiberSpaceStyle{\forwardFactor }+\fiberSpaceStyle{\neutralFactor }+\fiberSpaceStyle{\backwardFactor }}}} {\baseSpaceStyle{\quiver{B}},\fiberSpaceStyle{\quiver{F}}} \]

As an example, let us consider a total quiver \( \totalSpaceStyle{\quiver{E}} \) defined to be the fiber product of \( \baseSpaceStyle{\quiver{B}} = \bindCardSize{\subSize{\lineQuiver }{8}}{\card{\daBlFo{b}}} \) and \( \fiberSpaceStyle{\quiver{F}} = \bindCardSize{\subSize{\lineQuiver }{2}}{\card{\daReFo{f}}} \). We show the total space below, alongside its factors:

The projection map \( \bundleProjectionStyle{\pathHomomorphism{ \pi }} \) maps a path in the total quiver to the path in the base quiver that consists only of the first factor vertex of each product vertex, and whose cardinals consist of the first factor cardinal of each product cardinal. In other words, the cardinals are mapped as follows:

\[ \assocArray{\mto{\cardinalProduct{\card{\daBlFo{b}},\inverted{\card{\daReFo{f}}}}}{\card{\daBlFo{b}}},\mto{\cardinalProduct{\card{\daBlFo{b}},1}}{\card{\daBlFo{b}}},\mto{\cardinalProduct{\card{\daBlFo{b}},\card{\daReFo{f}}}}{\card{\daBlFo{b}}}} \]

Below we visualize the "graph" of a section of this quiver bundle:

The corresponding section \( \functionSignature{\function{\bundleSectionStyle{\pathHomomorphism{ \sigma }}}}{\baseSpaceStyle{\quiver{B}}}{\totalSpaceStyle{\quiver{E}}} \) is then a path homomorphism that sends a path in the base quiver \( \baseSpaceStyle{\quiver{B}} \) to the corresponding "lifted" path that is a connected component of the fragment of the sub-graph illustrated above. For example, we show the image of two such paths in the base quiver: