-
Notifications
You must be signed in to change notification settings - Fork 11
/
characteristic-classes.tex
5533 lines (4556 loc) · 385 KB
/
characteristic-classes.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%!TEX program = xelatex
\documentclass[a4paper,openany]{scrbook}
\usepackage{amsthm,mathtools}
\usepackage{tilmansdef}
\usepackage{tikz}
\usepackage{enumitem}
\usetikzlibrary{matrix,arrows,decorations,cd}
\usepackage{fontspec,xunicode}
%\setmainfont[Mapping=tex-text,
% SmallCapsFont={Copperplate},
% SmallCapsFeatures={Letters=SmallCaps}]{Georgia}
%\setmathrm[Mapping=tex-text]{Georgia}
%\setsansfont[Mapping=tex-text]{Helvetica Neue}
%\setmonofont[Mapping=tex-text]{Andale Mono}
\usepackage[colorlinks]{hyperref}
\usepackage{stmaryrd}
\DeclareMathOperator{\Vect}{Vect}
\DeclareMathOperator{\Open}{Open}
\DeclareMathOperator{\Cov}{Cov}
\DeclareMathOperator{\Der}{Der}
\DeclareMathOperator{\Div}{Div}
\DeclareMathOperator{\DivCl}{DivCl}
\DeclareMathOperator{\Pic}{Pic}
\DeclareMathOperator{\Princ}{Princ}
\DeclareMathOperator{\chr}{char}
\DeclareMathOperator{\SL}{SL}
\DeclareMathOperator{\stab}{stab}
\DeclareMathOperator{\codim}{codim}
\DeclareMathOperator{\rk}{rk}
\DeclareMathOperator{\Rat}{Rat}
\DeclareMathOperator{\ord}{ord}
\DeclareMathOperator{\divisor}{div}
\DeclareMathOperator{\tw}{tw}
\DeclareMathOperator{\Proj}{Proj}
\renewcommand{\C}{\mathcal C}
\newcommand{\nerve}{\mathcal N}
\newcommand{\Reg}[1]{\mathcal O_{#1}}
\newcommand{\exterior}{\bigwedge\nolimits}
\newcommand{\chapterauthor}[1]{\hfill\emph{#1}\par\noindent}
\newcommand{\ud}{\mathrm{d}}
\newcommand{\ui}{\mathrm{i}}
\newtheorem{warning}[equation]{Warning}
\subject{\textsc{Lecture Notes}}
\title{Characteristic classes in topology, geometry, and algebra}
\author{Tilman Bauer}
\date{\today{}}
\publishers{Kungliga Tekniska Högskolan, Stockholm, Sweden}
\begin{document}
\frontmatter
\maketitle
\mainmatter
\chapter{Introduction}
Vector bundles can be thought of as vector spaces parametrized by a base space, where ``space'' can mean a topological space, an algebraic variety, or a manifold. Their occurence is abundant in topology, geometry, and algebra. Characteristic classes are cohomological invariants of vector bundles and the most important and powerful tools to study them. This course is a graduate course on characteristic classes in topology, algebra, and geometry, including an introduction to vector bundles, cohomology, and algebraic and differential geometry.
The course goal is to understand and be able to apply the concept of characteristic classes in a range of mathematical disciplines. At the end of the course, the student will be able to follow current research literature and, if desired, pursue own research projects in this area.
\tableofcontents
\chapter{Vector bundles}
The theory of vector bundles can be described as linear algebra parametrized by a base space. The aim of this chapter is to make this slogan precise and give three equivalent but quite distinct definitions of what a vector bundle is. All three of these definitions have their advantages and disadvantages.
A vector bundle is, roughly speaking, an assignment of a vector space $E_x$ to every point $x \in B$ of some topological space $B$. The space $B$ is called the \emph{base space}, and $E_x$ is the \emph{fiber at $x$} of the vector bundle. This assignment should satisfy two central conditions:
\begin{description}
\item[Continuity:] The fibers $E_x$ should vary continuously with the base point.
\item[Local triviality:] Over small open subsets $U \subset B$ of the base space, we should have $E_x = E_y$ for all $x$, $y \in U$.
\end{description}
The reader should be aware that neither of these conditions makes mathematical sense as stated.
\section{Bundles as spaces over a base space}
Let $B$ be a topological space. A \emph{space over $B$} is another topological space $E$ together with a map $p\colon E \to B$. We denote the category of spaces over $B$ by $\Top/B$. Here, a morphism from $p\colon E \to B$ to $p'\colon E' \to B$ is a map $f\colon E \to E'$ such that the triangle
\[
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, column sep=2ex,row sep=3ex]
{
E & & E'\\
& B\\
};
\path[->,font=\scriptsize]
(m-1-1) edge node[auto]{$f$} (m-1-3)
edge node[auto,swap]{$p$} (m-2-2)
(m-1-3) edge node[auto]{$p'$} (m-2-2);
\end{tikzpicture}
\]
commutes, i.~e. such that $p' \circ f = p$. We denote the set of morphisms over $B$ by $\map_B(E,E')$. If $E$, $E' \in \Top/B$, we also define the \emph{fiber product} $E \times_B E' \in \Top/B$ to be
\[
E \times_B E' = \{(e,e') \mid p(e) = p'(e')\} \xrightarrow{(e,e') \mapsto p(e)} B.
\]
It is customary to suppress the projection map $p$ in the notation and denote the fiber $p^{-1}(x)$ of $x \in B$ by $E_x$.
\begin{remark}
In order for the following definition to make sense, we need to restrict attention to a convenient category $\Top$ of topological spaces, i.e.\ one that has well-behaved mapping spaces $\map(Y,Z)$ that satisfy the adjunction $\Hom(X \times Y,Z) \cong \Hom(X,\map(Y,Z))$. The category of compactly generated, weak Hausdorff spaces satisfies this condition, and without further mentioning it, we will assume all topological spaces to belong to this class.
\end{remark}
\begin{defn}
Let $B$ be a topological space and $k$ a topological field (typically $\R$ or $\CC$). A \emph{$k$-vector space over $B$} consists of:
\begin{itemize}
\item a space $E \in \Top/B$, called the total space,
\item a map $s_0\in \map_B(B,E)$, called the zero section,
\item a map $+\in \map_B(E \times_B E,E)$, called addition, and
\item a map $\cdot\in \map_B(k \times E,E)$, called scalar multiplication
\end{itemize}
such that for each $x \in B$, $E_x$ becomes a $k$-vector space with zero $s_0(x)$, addition $+|_{E_x}$, and scalar multiplication $\cdot|_{E_x}$.
A morphism of vector spaces over $B$ is a map $f\in \map_B(E,E')$ compatible with $s$, $+$, and $\cdot$. In particular, $f|_{E_x}$ is a vector space homomorphism for all $x$.
\end{defn}
The most obvious $k$-vector space over $B$ is the product space $k^n \times B$, where the projection to $B$ is simply the projection onto the second factor of the product.
\begin{remark}
The category-minded reader may observe that a $k$-vector space over $B$ is the same thing as a vector space internal to the category $\Top/B$.
\end{remark}
\begin{defn}[local triviality of vector bundles]
Let $E$ be a $k$-vector space over $B$. Then $E$ is called a \emph{$k$-vector bundle} if every $x \in B$ has a neighborhood $U \subset B$ such that $E_U = p^{-1}(U)$ is isomorphic to a product space $k^n \times U$ as $k$-vector spaces over $U$, for some $n \geq 0$. The category of $k$-vector bundles over $B$ is denoted by $\Vect_k(B)$ or just $\Vect(B)$ if $k$ is understood or irrelevant. A morphism of $k$-vector bundles is simply a morphism of the underlying $k$-vector spaces over $B$.
\end{defn}
%I would put a comment about how the continuity condition stated before is satisfied.
%% TB: I don't understand what you mean by that.
In a vector bundle $E \in \Vect(B)$, the dimension of each fiber $E_x$ must be finite, but it may vary with $x$. If it does not, and is constantly $n$, we say that $E$ is \emph{equidimensional} of dimension $n$. We denote the subcategory of $n$-dimensional vector bundles on $B$ by $\Vect^n(B)$.
\begin{lemma}
If $B$ is connected then any $E \in \Vect(B)$ is equidimensional.
\end{lemma}
\begin{proof}
For $n \in \N_0$, let $U_n = \{ x \in B \mid \dim E_x = n\}$. By the local triviality condition, each $U_n$ is open and closed, the $U_n$ are disjoint, and they cover $B$. Thus $B=U_n$ for some $n$, and $U_i = \emptyset$ for $i \neq n$.
\end{proof}
So far, the only vector bundles we have encountered are trivial vector bundles (product bundles). It is thus time for some more interesting examples.
\begin{example}[The Möbius strip] \label{exa:mobiusstrip}
Let $E = \R \times [0,1]/\mathord\sim$, where the equivalence relation $\sim$ is generated by $(x,0) \sim (-x,1)$. There is a map $p\colon E \to B = [0,1]/\{0,1\} \cong \S^1$ defined by $p(x,t) = t$. Then $E$ is a $1$-dimensional real vector bundle (a \emph{line bundle}) over $B$, an infinite cylinder with a half twist. The bundle $E$ is known as the \emph{Möbius strip}.
Explicitly, the zero section is given by $s_0(t) = (0,t)$, addition by
\[
(x,t) + (y,t) = (x+y,t)
\]
and scalar multiplication by
\[
\lambda \cdot (x,t) = (\lambda x,t).
\]
Note that the addition is well-defined.
\begin{figure}[h]
\begin{center}\includegraphics[width=5cm]{mobius.jpg}\end{center}
\caption{The Möbius strip $E$}
\end{figure}
To verify local triviality, let us first consider a point $t \neq \overline 0 \in B$, where $\overline 0$ denotes the equivalence class of $0=1$. Then we can choose a neighborhood $U \ni t$ such that $\overline 0 \not\in U$ and $E_U \xrightarrow{(x,t) \mapsto (x,t)} \R \times U$ is a well-defined isomorphism of vector spaces over $U$. On the other hand, for $t = \overline 0$, choose $U = B-\{\frac12\}$ and define
\[
E_U \xrightarrow{(x,t) \mapsto \begin{cases} (x,t); & t<\frac12\\ (-x,t); & t>\frac12\end{cases}} \R \times U
\]
This is also a an isomorphism of vector spaces over $U$, so we are done.
The Möbius strip is a nontrivial line bundle. This can be seen by observing that the total space of a trivial line bundle falls apart into two components when one removes the zero section, whereas the Möbius strip stays connected.
Note that a doubly-twisted Möbius strip (such as the result of remove the zero section from the Möbius strip) is isomorphic to the trivial line bundle, although its embedding in $\mathbf R^3$ suggests otherwise.
\end{example}
\begin{example}[Projective space and the tautological bundle] \label{exa:tautological-bundles}
Let $k$ be any field or skew field (typically $\R$, $\CC$, or the quaternions $\mathbf H$) and $P^n = kP^n$ the $n$-dimensional projective space over $k$. This is defined to be the quotient space
\[
P^n = \left(k^{n+1}-\{0\}\right)/\sim,
\]
where the equivalence relation $\sim$ is given by $(x_0,\dots,x_n) \sim (\lambda x_0,\dots,\lambda x_n)$ for $\lambda \in k^\times$. We will think of $P^n$ as the set of lines through the origin in $k^{n+1}$,
\[
P^n = \{ L \subseteq k^{n+1} \mid L \text{ one-dimensional subspace}\},
\]
although this description does not imply what topology we want to have on $P^n$.
We now define the \emph{tautological line bundle} $\mathcal O(-1)$ on $P^n$ by
\[
E = \{ (x,L) \mid L \in P^n, x \in L\}.
\]
It is called tautological because the fiber $E_L$ over a line $L \in P^n$ \emph{is that line}. The notation $\mathcal O(-1)$ will become clear later (Section~\ref{subsec:projectiveschemes}). The total space $E_n$ is topologized as a subspace of $k^{n+1} \times P^n$, and the projection map is the obvious one, mapping $(x,L)$ to $L$. Much as in Example~\ref{exa:mobiusstrip}, we see that the vector-space-over-$P^n$ structure of the $(n+1)$-dimensional trivial vector bundle $k^{n+1} \times P^n$ restricts to the subspace $E$, and it remains to show local triviality.
Choose an arbitrary scalar product $\langle \cdot,\cdot \rangle$ on $k^{n+1}$, let $L \in P^n$ be a line in $k^{n+1}$, $x_0 \in L$ a point of norm $1$, and choose $U = \{ L' \in P^n \mid L,L' \text{ are not orthogonal}\}$. Then there is a bijective map
\[
\phi\colon E_U \to k \times U, \quad \phi(x,L) = (\langle x,x_0\rangle,L)
\]
which constitutes a local trivialization of the tautological bundle near $L$.
\end{example}
\begin{example} \label{exa:coordinatecross}
We give an example of a vector space over $B$ which is not locally trivial and hence not a vector bundle. Let $E=\{(x,b) \in \R^2 \mid xb=0\} \xrightarrow{(x,b) \mapsto b} \R = B$ be the projection of the coordinate cross to the $b$-axis. Then
\[
E \times_B E = \{(x_1,x_2,b) \mid x_1=x_2=0 \text{ if } b\neq 0\} \xrightarrow{(x_1,x_2,b) \mapsto (x_1+x_2,b)} E
\]
gives $E$ the structure of a real vector space over $B$ (the scalar multiplication is defined similarily). However, no neighborhood $U$ of $0 \in B$ has $E_U \cong U \times \R^n$ for any $n$ since the fiber over $0$ is $1$-dimensional, while all other fibers are $0$-dimensional.
\end{example}
According to the definition, an isomorphism of vector bundles is a map $f\in \map_B(E,E')$ of vector spaces over $B$ which has an inverse $g\in \map_B(E',E)$. The following characterization is less obvious than one might at first think:
\begin{thm} \label{thm:fiberwiseiso}
A map of vector bundles $f\in \map_B(E,E')$ is an isomorphism of vector bundles iff $f|_{E_x}\colon E_x \to E'_x$ is an isomorphism on the fibers for every $x \in B$.
\end{thm}
\begin{proof}
The “only if” direction is obvious, so assume that $f$ induces a vector space isomorphism on all fibers. Then $f$ is bijective and has an inverse map $f^{-1}\colon E'_x \to E_x$, but is $f^{-1}$ continuous?
To show this, we will use local trivializations. Let $x \in B$ have a trivializing neighborhood $U \subset B$ for both $E$ and $E'$ and $\phi\colon E_U \to k^n \times U$, $\phi'\colon E'_U \to k^n \times U$ be local trivializations. The restriction $f|_{E_U}$ can be written as the composition of maps over $U$,
\[
f|_{E_U}\colon E_U \xrightarrow{\phi} U \times k^n \xrightarrow{G} U \times k^n \xrightarrow{(\phi')^{-1}} E'_U
\]
for some map $G \in \map_U(U \times k^n,U \times k^n)$, which by linearity over $U$, must be of the form
\[
G(u,x) = (u,g(u)x) \quad \text{for some $g\colon U \to k^{n \times n}$}.
\]
In fact, since $f_{E_u}$ is an isomorphism, $g$ has to take values in $\GL_n(k)$.
But then we have that $f^{-1}|_{E'_U} = \phi^{-1} \circ (\id \times g^{-1}) \circ \phi'$, where $g^{-1}$ denotes the pointwise matrix inverse $u \mapsto g(u)^{-1}$, not the inverse map. As a composite of continuous maps, $f^{-1}|_{E'_U}$ is therefore continuous at $x$.
\end{proof}
\begin{exer} \label{exer:higher-moebius}
Let $A \in \GL^+_n(\R)$ be an invertible matrix of positive determinant and
\[
E=\R^n \times [0,1]/\sim \xrightarrow{[x,t] \mapsto [t]} B=[0,1]/\{0,1\}=\mathbf S^1,
\]
where the equivalence relation $\sim$ is generated by $(x,0) \sim (Ax,1)$. Show that $E$ is isomorphic to a trivial bundle. \emph{Hint: Use that $\GL_n^+(\R)$ is a path-connected space.}
\end{exer}
\begin{exer} \label{exer:complement-of-tautological-bundle}
Consider the spaces $kP^n$ from Example~\ref{exa:tautological-bundles} again. Choose a scalar product on $k^{n+1}$ and define an $n$-dimensional vector bundle on them by
\[
E = \{(x,L) \mid L \in kP^n,\; x \in L^\perp\}.
\]
That is, the point $x$ is in the hyperplane orthogonal to $L$. Shows that this defines a vector bundle, which we will call $\mathcal O(-1)^\perp$.
\end{exer}
\begin{exer}
Let $k=\R$, $\CC$, or $\mathbf H$. Show that there is a homeomorphism between $kP^1$, the one-dimensional projective space over $k$, and $\S^{\dim_\R(k)}$, i.~e. $\S^1$, $\S^2$, and $\S^4$, respectively.
Show that the Möbius bundle $\mu$ of Example~\ref{exa:mobiusstrip} is isomorphic to the tautological line bundle $\mathcal O(-1)$ on $\R P^1$.
\end{exer}
\section{Bundles as sheaves} \label{sec:bundlesassheaves}
\begin{defn}
Let $p\colon E \to B$ be a vector bundle and $U \subseteq B$. Then we define the set of \emph{sections} of $p$ to be
\[
\Gamma_p(U) = \map_U(U,E_U) = \{s\colon U \to E \mid p \circ s = \id_U\}.
\]
\end{defn}
Using the vector space structure over $B$ of $E$, we can define an addition and scalar multiplication on $\Gamma_p(U)$,
\[
(s+s')(u) = s(u)+s'(u), \quad (\lambda s)(u) = \lambda \cdot s(u),
\]
so that $\Gamma_p(U)$ is actually a (usually infinite-dimensional) $k$-vector space. Loaning a term from algebraic geometry, $\Gamma_p$ is actually a \emph{sheaf} of $k$-vector spaces.
\begin{defn}
Let $B$ be a topological space. Let $\Open(B)$ be the category whose objects are the open subsets $U \subseteq B$ and which has precisely one morphism $U \to U'$ iff $U \subseteq U'$. Then a contravariant functor $F$ from $\Open(B)$ to sets (or spaces, groups, $k$-vector spaces) is called a \emph{presheaf} (of spaces, sets, groups, or $k$-vector spaces). That is, $F$ assigns to each open $U$ a set (space, group, vector space) $F(U)$, often called the sections of $F$ over $U$, and for each inclusion $U \subseteq U'$ there is a map (homomorphism, linear map) $F(U') \to F(U)$, usually denoted by $s \mapsto s|_U$. This assignment of maps is required to be transitive for double inclusions $U \subseteq U' \subseteq U''$ and $F$ must map the identity inclusion $U = U$ to the identity.
A \emph{morphism of presheaves} is a natural transformation of functors. In other words, a morphism $f\colon F \to G$ consists of morphisms $f(U)\colon F(U) \to G(U)$ for each $U \in \Open(B)$ such that for any inclusion $V \subseteq U$ in $\Open(B)$, $f(U)(s)|_V = f(V)(s|_V)$.
A presheaf $F$ on $B$ is called a \emph{sheaf} if it satisfies the \emph{gluing condition}: if $U \subseteq B$ is covered by open sets $\{U_\alpha\}_\alpha$ and we are given, for each $\alpha$, a section $s_\alpha \in F(U_\alpha)$ in such a way that on intersections $U_{\alpha\beta} = U_\alpha \cap U_\beta$, we have that
\[
s_\alpha|_{U_{\alpha\beta}} = s_\beta|_{U_{\alpha\beta}},
\]
then there exists a unique section $s \in F(U)$ such that $s|_{U_\alpha} = s_\alpha$ for all $\alpha$. In words, if we have separate sections over each element of the open cover, and they match up on intersections, then we can glue them together to obtain a section on all of $U$.
A morphism of sheaves is just a morphism of the underlying presheaves; in other words, sheaves are a full subcategory of presheaves.
\end{defn}
It should come as no surprise that sections of a bundle actually form a sheaf:
\begin{prop}
Let $p\colon E \to B$ be a $k$-vector bundle. Then $\Gamma_p$ is a sheaf of $k$-vector spaces on $B$.
\end{prop}
\begin{proof}
We begin by showing that $\Gamma_p$ is a presheaf. Given an inclusion $U \subseteq U'$, we have a canonical restriction map
\[
\Gamma_p(U') = \{s \colon U' \to E \mid p \circ s = \id\} \xrightarrow{-|_U} \{s \colon U \to E \mid p \circ s = \id\} = \Gamma_p(U),
\]
and the functoriality is obvious. Now let us check the gluing condition. Let $U_\alpha$ be an open cover of $U$ and $s_\alpha \in \Gamma_p(U_\alpha)$ such that $s_\alpha|_{U_{\alpha\beta}} = s_\beta|_{U_{\alpha\beta}}$. Then we define $s \in \Gamma_p(U)$ by
\[
s(x) = s_\alpha(x) \quad \text{if } x \in U_\alpha
\]
This is defined on all of $U$ because $\{U_\alpha\}$ covers $U$, and it is well-defined by the matching condition on intersections. Furthermore, $s$ is the only element of $\Gamma_p(U)$ which restricts to $s_\alpha$ on all $U_\alpha$ because if there was another $s' \in \Gamma_p(U)$, being a different function, it would have to disagree with $s$ on some point $x$ which lies in some $U_\alpha$, but we must have $s(x) = s_\alpha(x) = s'_\alpha(x) = s'(x)$. Lastly, $s$ is continuous (at any point $x$) because it agrees with the continuous $s_\alpha$ in the neighborhood $U_\alpha$, where $\alpha$ is chosen such that $x \in U_\alpha$.
\end{proof}
\begin{example}
A particular case is the sheaf $\mathcal O_B$ of sections of the trivial line bundle $k \times B$ over $B$. In this case we have that $\mathcal O_B(U)$ is just the set of continuous functions from $U$ to $k$, and this is in fact a sheaf of $k$-algebras, where the multiplication is given pointwise. We will sometimes omit the index and just write $\mathcal O$ for this sheaf when the base space is obvious.
\end{example}
If $R$ is a sheaf of rings (or $k$-algebras) on a space $X$ then an \emph{$R$-module sheaf $M$} is a sheaf of abelian groups (or $k$-vector spaces) with an action
\[
R(U) \times M(U) \to M(U),
\]
natural in $U$, that makes $M(U)$ an $R(U)$-module for all $U$. A \emph{morphism of $R$-module sheaves} $f\colon M \to N$ is a morphism of sheaves such that for every $U$, $f(U)\colon M(U) \to N(U)$ is an $R(U)$-module homomorphism. We denote the category of $R$-module sheaves by $\Mod_R$ and the morphism sets in this category by $\Hom_R(M,N)$.
\begin{prop}
Let $p\colon E \to B$ be a $k$-vector bundle. Then $\Gamma_p$ is a sheaf of $\mathcal O_B$-modules. Moreover, $\Gamma_p$ is \emph{locally free}, i.e.\ for every $x \in B$ there exists a neighborhood $U \ni x$ such that $\Gamma_p|_U \cong \mathcal O_U^n$ for some $n \geq 0$.
\end{prop}
\begin{proof}
The action
\begin{align*}
\mathcal O_B(U) \times \Gamma_p(U) =& \map(U,k) \times \map_U(U,E_U) = \map_U(U,k\times E_U)\\
\xrightarrow{\map_U(U,\cdot)} &\map_U(U,E_U) = \Gamma_p(U)
\end{align*}
gives $\Gamma_p$ the desired structure.
To show local freeness, let $x \in B$ and choose a trivializing neighborhood $U \ni x$ with $\phi\colon E_U \xrightarrow{\sim} k^n \times U$. Then for any $V \subseteq U$, we have $\Gamma_p(V) \cong \Gamma_{k^n \times U}(V) \cong \mathcal O_U(V)^n$, hence $\Gamma_p$ is indeed locally free.
\end{proof}
It is natural to ask whether the sheaf of sections associated to a vector bundle suffices to completely describe the vector bundle, and moreover, whether any sheaf of vector spaces can be realized as the sections of some vector bundle. The best way to formulate this is by an equivalence of categories.
\begin{thm}\label{thm:vbsheafequivalence}
The functor
\[
\Vect(B) \xrightarrow{p \mapsto \Gamma_p} \{\text{finitely generated locally free $\mathcal O$-module sheaves on $B$}\}
\]
is an equivalence of categories.
\end{thm}
In order to give an inverse construction, we need in particular to extract the fiber over a single point $b \in B$ from a sheaf $F$.
\begin{defn}
The \emph{stalk at $b \in B$} of a sheaf $F$ is
\[
F_b = \colim_{U \in \Open_b(B)} F(U),
\]
where $\Open_b(X)$ denotes the poset of open sets in $X$ containing $b$, considered as a subcategory of $\Open(X)$ (cf. Appendix~\ref{app:limits} for the definition of a colimit in a category).
If $s \in F(U)$ is a section and $b \in U$ then the natural map $F(U) \to F_b$ sends $s$ to an element $s_b \in F_b$, which is called the \emph{germ} of $s$ at $b$.
\end{defn}
Since $F_b$ is defined using the restriction maps of the sheaf $F$, the stalk of a sheaf $F$ inherits whatever additional structure $F$ has: the stalk of a sheaf of groups is a group, the stalk of a sheaf of $k$-vector spaces is a $k$-vector space, etc. Furthermore, taking stalks is functorial, i.~e. a morphism of sheaves induces a morphism of stalks.
\begin{example}
Let $B$ be a space and $\mathcal O$ the sheaf of continuous functions on $B$. Then the stalk $\mathcal O_b$ consists of \emph{germs of continuous functions at $b$}. Those are function $f$ defined in some neighborhood $U$ of $b$ modulo the equivalence relation generated by
\[
(f,U) \sim (g,V) \quad \text{if} \quad f|_{U\cap V} = g|_{U\cap V}.
\]
Note the $\mathcal O_b$ has an ideal $(\mathcal O_b)_+$ consisting of those germs of functions that vanish at $b$. This is the kernel of the evaluation map
\[
\mathcal O_b \xrightarrow{s \mapsto s(b)} k,
\]
thus the quotient $\mathcal O_b/(\mathcal O_b)_+$ is isomorphic with $k$.
\end{example}
Given any sheaf $M$ of $\mathcal O$-modules, the stalk $M_b$ is a module over $\mathcal O_b$. We define the \emph{fiber} of $M$ at $b$ to be the quotient
\[
\overline M_b = M_b / (\mathcal O_b)_+M_b.
\]
This is a $k$-vector space in a natural way, and it is finite-dimensional if $M$ was finitely generated.
\begin{lemma}\label{lemma:fiberreconstruction}
Let $p\colon E \to B$ be a vector bundle and $\Gamma=\Gamma_p$ the associated locally free $\mathcal O$-module sheaf. Then for every $b \in B$ there is a natural isomorphism of $k$-vector spaces
\[
\Phi\colon \overline\Gamma_b \to E_b
\]
\end{lemma}
\begin{proof}
Since $\Gamma_b$, $\bar\Gamma_b$, and $E_b$ only depend on an arbitrarily small neighborhood of $b$ in $U$, we may assume that $E = B \times E_b$ is trivial.
The evaluation map $\tilde \Phi\colon \Gamma_b \to E_b \cong k^n$ sends a germ of a continuous function $f\colon U \to k^n$ to its value at $b \in U$. Clearly, it is surjective (we may take $f$ to be constant, for example). Furthermore, the ideal $(\mathcal O_b)_+\Gamma_b$ is contained in the kernel of $\tilde \Phi$. To see the opposite inclusion, let $f\colon U \to k^n$ be in the kernel of $\tilde \Phi$, i.~e., $f(b)=0$. If we write $f=(f_1,\dots,f_n)$ for $f_i \colon U \to k$ then we see that
\[
f = f_1 e_1 + \dots + f_n e_n \in (\mathcal O_b)_+\Gamma_b,
\]
where $e_i\colon U \to k^n$ denote the constant function taking the $i$th standard basis vector of $k^n$ as value, and $f_i$ is considered an element in $(\mathcal O_b)_+$.
Thus the induced map
\[
\Phi\colon \bar \Gamma_b = \Gamma_b/(\mathcal O_b)_+\Gamma_b \to E_b
\]
is an isomorphism.
\end{proof}
Let $M,N$ be sheaves of $\mathcal O$-modules on the space $B$. Then the set $\Hom_{\mathcal O} (M,N)$ of morphisms of $\mathcal{O}$-modules is a $k$-vector space in a natural way.
\begin{exer}
\label{exer:Omodmaps}
Show that the map $\Hom_{\mathcal O} (\mathcal O,M) \to M(B)$ that sends $\varphi$ to $\varphi(B)(1)$ is a $k$-linear isomorphism. Deduce that $\Hom_{\mathcal O} (\mathcal O^m,M) \cong M(B)^m$.
\end{exer}
\begin{proof}[Proof of Thm.~\ref{thm:vbsheafequivalence}]
To show that $\Gamma$ is an equivalence of categories, it suffices to show that it is fully faithful and essentially surjective. Let $p\colon E \to B$ and $p'\colon E' \to B$ be two vector bundles on $B$ and $\Gamma$, $\Gamma'$ their associated locally free $\mathcal O$-module sheaves of sections. For the functor $\Gamma$ to be fully faithful in this setting means that the map
\[
\map_B(E,E') \xrightarrow{\Gamma} \Hom_{\mathcal O}(\Gamma,\Gamma')
\]
is bijective, where the right hand side denotes the set of morphisms of $\mathcal O$-module sheaves.
For injectivity, assume that two maps $f,\; g \in \map_B(E,E')$ induce the same map on the right hand side. By applying the natural transformation $\Phi$ from Lemma~\ref{lemma:fiberreconstruction}, they induce the same maps between the fibers of $\Gamma$ and $\Gamma'$, which are the fibers $E_b \to E'_b$. Thus the maps agree on every fiber, hence $f=g$.
For surjectivity, by Lemma~\ref{lemma:fiberreconstruction} again, any map $f\colon \Gamma \to \Gamma'$ of $\mathcal O$-module sheaves induces maps $f_b\colon E_b \to E'_b$ on every fiber, which almost shows surjectivity, except that we must show that the resulting map $f = \bigcup_{b \in B} f_b$ is continuous.
This can be checked locally, so let us assume that $E = B \times k^m$ and $E' = B \times k^n$ are trivial vector bundles, and correspondingly, $\Gamma = \mathcal O^m$ and $\Gamma' = \mathcal O^n$. By Exercise~\ref{exer:Omodmaps}, $f$ corresponds to a continuous map $B \to \Hom_k(k^m,k^n)$, and evaluation of this map at $b$ gives $f_b$.
For essential surjectivity we must show that every finitely generated locally free $\mathcal O$-module sheaf $M$ on $B$ is isomorphic to $\Gamma_p$ for some vector bundle $p\colon E\to B$. Let $\mathcal U = \{U_\alpha\}_\alpha$ be an open cover of $B$ such that $ M|_{U_\alpha}$ is trivial, i.~e. such that there is an isomorphism
\[
\phi_\alpha\colon M|_{U_\alpha} \to \mathcal O_{U_\alpha}^{n_\alpha}.
\]
In particular, for every $u \in U_\alpha$, we have a natural homomorphism
\[
\overline \phi_{\alpha,u}\colon M(U_\alpha) \to \overline M_u \to \map(\{b\},k^{n_\alpha}) = k^{n_\alpha}.
\]
Let
\[
\tilde E = \coprod_{\alpha} k^{n_\alpha} \times U_\alpha \xrightarrow{\tilde p\colon (x_\alpha,y_\alpha) \mapsto y_\alpha} B.
\]
We will construct the total space $E$ of the desired vector bundle by gluing the disjoint summands of $\tilde E$ together over all intersections $U_{\alpha\beta}$. Concretely, we define a relation $\sim$ on $\tilde E$ by
\[
(x_\alpha,u_\alpha) \sim (x_\beta,u_\beta) \quad \text{iff} \quad \left\{\begin{matrix}
u_\alpha=u_\beta \in U_{\alpha\beta} \quad\text{ and }\\
\exists s \in M(U_{\alpha\beta})\colon \overline \phi_{\alpha,u_\alpha}(s) = \phi_{\beta,u_\beta}(s).\end{matrix}\right.
\]
Then $E = \tilde E/\sim$. Since only points in different components of the disjoint union are identified, we still have local triviality $E|_{U_\alpha} \cong k^{n_\alpha} \times U_\alpha$.
We now define a map of sheaves
\[
\Phi\colon M \to \Gamma_p
\]
by using the gluing condition. For $U_\alpha$, we define
\[
\Phi_\alpha\colon M|_{U_\alpha} \xrightarrow{\phi_\alpha} \mathcal O_{U_\alpha}^{n_\alpha} = \Gamma_{\tilde p}|_{U_\alpha} \to \Gamma_p|_{U_\alpha}.
\]
using the local trivializations $\phi_\alpha$. To see that these maps glue, we need to verify that
\[
\Phi_\alpha|_{U_{\alpha\beta}} = \Phi_\beta|_{U_{\alpha\beta}}.
\]
Thus, let $s \in M(U_{\alpha\beta})$ be a section and $u \in U_{\alpha\beta}$. Then $\Phi_\alpha(s)(u) = (\phi_{\alpha,u}(s),u) \sim (\phi_{\beta,u}(s),u) = \Phi_\beta(s)(u)$.
\end{proof}
\begin{remark}
The inverse construction of a vector bundle from a sheaf given above depends heavily on the local trivialization and is therefore not functorial. But this is not needed to show that the functor $\Gamma$ is essentially surjective.
\end{remark}
\section{Bundles as cocycles}
\label{sec:bundlesascocycles}
Let $p\colon E \to B$ be an $n$-dimensional $k$-vector bundle and choose an open cover $U_\alpha$ of $B$ such that each $U_\alpha$ is a trivializing neighborhood, so that we can choose isomorphisms
\[
\phi_\alpha \in \map_{U_\alpha}(E_{U_\alpha},k^n \times U_{\alpha}).
\]
%\marginpar{JH: I've changed $g_\alpha\beta$ from $\phi_\beta\phi_\alpha^{-1}$ to $\phi_\alpha\phi_\beta^{-1}$ to make COC3 work. In what follows I've might have missed changing some indexation.}
Now let $U_{\alpha\beta} = U_\alpha \cap U_\beta$. Then we can compose two such trivializations and obtain an isomorphism
\[
\tilde g_{\alpha\beta}\colon k^{n} \times U_{\alpha\beta} \xrightarrow{(\phi_\beta|_{U_{\alpha\beta}})^{-1}} E_{U_{\alpha\beta}} \xrightarrow{\phi_\alpha|_{U_{\alpha\beta}}} k^{n} \times U_{\alpha\beta}.
\]
Since $\tilde g_{\alpha\beta}$ is a map over $B$, we can write
\begin{equation}\label{eq:cocycletobundlemap}
\tilde g_{\alpha\beta}(x,u) = (g_{\alpha\beta}(u)(x),u)
\end{equation}
for some continuous function $g_{\alpha\beta}\colon U_{\alpha\beta} \to \map(k^{n},k^{n})$. Furthermore, since $\tilde g_{\alpha\beta}$ is a linear isomorphism on fibers, we actually have that $g_{\alpha\beta}\colon U_{\alpha\beta} \to \GL_{n}(k)$. We call these maps $\g_{\alpha\beta}$ \emph{change-of-coordinates maps}.
Conversely, for any open subset $U$ of $B$ and any map $g_{\alpha\beta}\colon U \to \GL_n(k)$, we denote by $\tilde g_{\alpha\beta}\in \map_{U}(k^n \times U,k^n \times U)$ the map defined by \eqref{eq:cocycletobundlemap}.
\begin{lemma} \label{lemma:vectorbundlegivescocycle}
Let $p\colon E \to B$ be a $k$-vector bundle with a trivializing open cover $\{U_\alpha\}_\alpha$ and change-of-coordinates maps $g_{\alpha\beta}\colon U_{\alpha\beta} \to \GL_{n}(k)$ for each pair $(\alpha,\beta)$. Then we have:
\begin{enumerate}[label=\normalfont \bfseries{(COC\arabic*)},leftmargin=*]
\item $g_{\alpha\alpha} \equiv I_n$; \label{it:coc1}
\item $g_{\alpha\beta} = g_{\beta\alpha}^{-1}$ (the pointwise matrix inverse, not the functional inverse); \label{it:coc2}
\item $g_{\alpha\beta} g_{\beta\gamma} g_{\gamma\alpha} \equiv I_n$ on $U_{\alpha\beta\gamma}$. \label{it:coc3}
\end{enumerate}
\end{lemma}
\begin{proof}
Let us consider $\tilde g_{\alpha\beta}$ as maps $U_{\alpha\beta} \to \GL_n(k)$. For \ref{it:coc1} we have $(g_{\alpha\alpha}(u),u) = \tilde g_{\alpha\alpha}(u) = \phi_\alpha^{-1} \phi_\alpha(u) \equiv (I_n,u)$.
Condition \ref{it:coc2} is actually redundant and follows from \ref{it:coc1} and \ref{it:coc3} since
\[
I_n \underset{\text{(COC3)}}\equiv g_{\alpha\beta} g_{\beta_\alpha} g_{\alpha\alpha} \underset{\text{(COC1)}} = g_{\alpha\beta} g_{\beta_\alpha}.
\]
Finally for \ref{it:coc3},
\[
(g_{\alpha\beta}(u) g_{\beta \gamma}(u) g_{\gamma\alpha}(u),u) = \tilde g_{\alpha\beta}(u) \tilde g_{\beta \gamma}(u) \tilde g_{\gamma\alpha}(u) = (\phi_\alpha \phi_\beta^{-1})(\phi_\beta\phi_\gamma^{-1})(\phi_\gamma\phi_\alpha^{-1})(u) \equiv (I_n,u).
\]
\end{proof}
\begin{defn}
Let $G$ be a topological group and $\mathcal U = \{U_\alpha\}_{\alpha \in I}$ an open cover of some space $B$. Then a \emph{cocycle $g$ for $\mathcal U$ with values in $G$} is a family of continuous maps
\[
g_{\alpha\beta}\colon U_{\alpha\beta} \to G \quad (\alpha,\;\beta \in I)
\]
such that \ref{it:coc1}--\ref{it:coc3} hold. We denote the set of cocycles for $\mathcal U$ with values in $G$ by $Z^1_{\mathcal U}(B;G)$.
\end{defn}
A particular kind of cocycle is always easy to construct: given a collection of maps $c_\alpha\colon U_\alpha \to G$, we can define $g_{\alpha\beta}(u) = c_\alpha(u)c_\beta(u)^{-1}$; this obviously satisfies the cocycle conditions. A cocycle of this form is called a \emph{coboundary}. More generally:
\begin{defn} Two cocycles $g$, $g'$ are \emph{cohomologous} if there is collection of maps $c_\alpha\colon U_{\alpha} \to G$ such that $g_{\alpha\beta}' = c_\alpha g_{\alpha\beta} c_\beta^{-1}$. We denote the set of cocycles modulo this equivalence relation by $H^1_{\mathcal U}(B;G)$.
\end{defn}
Thus a coboundary is a cocycle that is cohomologous to the trivial cocycle $g_{\alpha\beta}=I_n$.
The goal of the rest of the section is to show that vector bundles (up to isomorphism) are exactly given by cocycles (up to cohomology), but some additional preparation is needed before making this precise and proving it.
\subsection{\texorpdfstring{Fiber bundles and principal $G$-bundles}{Fiber bundles and principal G-bundles}}
If vector bundles give rise to cocycles with values in $\GL_n(k)$, it is natural to ask if there is some geometric origin of cocycles with values in other topological groups $G$.
\begin{defn}
Let $F$ be a space. A \emph{fiber bundle over $B$ with fiber $F$} is a space $E$ over $B$ such that for all $x\in B$ there is an open neighborhood $U$ of $x$ such $E_U \cong F \times U$ as spaces over $U$. We often write $F \to E \to B$ as a shorthand for a fiber bundle.
\end{defn}
\begin{example}
An $n$-dimensional vector bundle is a fiber bundle with fiber $k^n$.
\end{example}
%\marginpar{JH: I changed the left action into a right action. This seems to be more standard in the literature, and the relationship with vector bundles comes out more nicely, as seen in the change-of-coordinate maps. Again I hope I've changed it consistenly throughout.}
\begin{defn}
Let $G$ be a topological group. A \emph{free and transitive $G$-space over $B$} is a surjective space $E$ over $B$ with a (left) $G$-action $G \to \map_B(E,E)$ which is free and transitive on each fiber. A map of free and transitive $G$-spaces over $B$ is a map $f\in\map_B(E,F)$ which is $G$-equivariant, i.~e., for each $x \in E$, $f (g.x) = g.f(x)$.
In any fiber $E_b$, once we fix an element $x \in E_b$, the map $\psi_x\colon G \to E_b, \psi_x(g) = g.x$ is a bijection since the $G$-action is free and transitive on $E_b$. Thus we can identify $E_b$ with $G$ as $G$-spaces (with $G$ considered a $G$-space by multiplication from the left), but not canonically since it depends on the choice of $x$.
A \emph{principal $G$-bundle} over $B$ is a free and transitive $G$-space which is locally trivial, i.~e.\ such that every point $x \in B$ has a neighborhood $U \ni x$ such that there exists an isomorphism of free and transitive $G$-spaces over $U$
\[
E_U \to G \times U.
\]
Denote the full subcategory of principal $G$-bundles over $B$ by $\Princ_G(B)$.
\end{defn}
\begin{example}
Consider the projective space $P^n = kP^n$ for $k=\R$, $\CC$, or $\mathbf H$ as a quotient of $E=\{ x \in k^{n+1} \mid \|x\|=1\} \cong \S^{(n+1)\dim_\R k-1}$ and let $G = \{ z \in k \mid \|z\|=1\}$. Clearly, $G$ is a Lie group: $\{\pm 1\}=O(1)$, $\S^1 \cong U(1)$, and $\S^3 \cong SU(2)$ in the three cases. Furthermore, $G$ acts freely and transitively on $E$ over $P^n$ by $z.(x_0,\dots,x_n) = (zx_0,\dots,zx_n)$. The proof that the free and transitive $G$-space $E$ is locally trivial, and hence a principal $G$-bundle, proceeds along the same lines as in Example~\ref{exa:tautological-bundles}.
In the special case $n=1$, the fiber bundles
\[
\S^1 \to \S^3 \xrightarrow{\eta} \S^2 \quad (k=\CC)
\]
and
\[
\S^3 \to \S^7 \xrightarrow{\nu} \S^4 \quad (k=\mathbf H)
\]
are called Hopf fiber bundles. Figure~\ref{fig:hopffib} shows a geometric representation of some of the fibers of $\eta$. Every fiber is a circle, and together, they fill out all of $\S^3$, which is picture as $\R^3$ with an (omitted) point at infinity. One can show that any two fibers of $\eta$ are linked in $\S^3$.
\begin{figure}[ht]\[\includegraphics[width=.3\textwidth]{hopffib.png}\]\caption{The Hopf fibration $\eta\colon \S^3 \to \S^2$}\label{fig:hopffib}\end{figure}
\end{example}
\begin{lemma}\label{lemma:princgroupoid}
The category $\Princ_G(B)$ is a groupoid, i.e.\ every morphism is an isomorphism.
\end{lemma}
\begin{proof}
As in the proof of Theorem~\ref{thm:fiberwiseiso}, it suffices to check the isomorphism condition locally. Thus we may assume source and target of the morphism $f\colon E \to F$ in $\Princ_G(B)$ are $G \times B$. We have $f(e,b)=(\tau(b),b)$, where $e \in G$ is the identity element and $\tau$ is some continous map. But then $f(g,b) = g.f(e,b)= (g.\tau(b),b)$, and the inverse of $f$ is given by $(g,b) \mapsto (g.\tau(b)^{-1},b)$.
\end{proof}
\begin{corollary}
A principal bundle with a section is trivial.
\end{corollary}
\begin{proof}
Given a section $s\colon B \to E$, we can define a morphism $f\colon G \times B \rightarrow E$ between principal $G$-bundles by $f(g,b) = g.s(b)$. By Lemma~\ref{lemma:princgroupoid} this is an isomorphism.
\end{proof}
If $\phi\colon G \to \GL_n(k)$ is some homomorphism and $E \to B$ a principal $G$-bundle, $G$ acts diagonally on $E
\times k^n$ by
\[
g.(e,v) = (g.e,\phi(g)v)
\]
Looking at local trivializations we can see that the quotient by this action, $E \times_G k^n =_{\text{def}} (E\times k^n)/G$ has the structure of an n-dimensional $k$-vector bundle. In fact, this construction gives an equivalence of categories between principal $\GL_n(k)$-bundles and $n$-dimensional vector bundles with isomorphisms. This construction is clearly functorial and thus gives a functor
\[
\Phi\colon \Princ_{\GL_n(k)}(B) \to (\Vect^n_k(B))^{\cong}.
\]
Here, for a category $C$, let $C^{\cong}$ denote the subgroupoid with the same objects but only isomorphisms as morphisms. By Lemma~\ref{lemma:princgroupoid}, the image of $\Phi$ must lie in this subgroupoid.
\begin{prop}
The functor $\Phi$ is an equivalence of groupoids.
\end{prop}
\begin{proof}
Let $p\colon E \to B$ be a vector bundle and define a space $\Psi(E)$ over $B$ by
\[
\Psi(E) = \{(v_1,\cdots,v_n) \in E \times_B \cdots \times_B E \mid v_i \text{ linearly independent in $E_{p(v_1)}$}\}.
\]
Clearly, $\GL_n(k)$ acts freely and fiberwise transitively on $\Psi(E)$, and over a trivializing neighborhood $U$ we have a local trivialization $\Psi(E)_U = \Psi(E_U) \cong \GL_n(k) \times U$. Moreover, $\Psi$ becomes a functor on the subcategory of vector bundle isomorphisms; a non-isomorphism does not preserve the linear independence condition. It is straightforward to see that $\Psi\circ\Phi$ and $\Phi\circ\Psi$ are naturally isomorphic to the identity functors.
\end{proof}
Similarly to vector bundles, a principal $G$-bundle $p\colon E \to B$ with trivializing open cover $\{U_\alpha\}_{\alpha}$ and trivializations $\phi_\alpha\colon E_{U_{\alpha}} \to G \times U_{\alpha}$ gives rise to change-of-coordinate maps $g_{\alpha\beta}\colon U_{\alpha\beta} \to G$ for any $\alpha,\;\beta \in I$ defined by
\[
\Bigl(\phi_\alpha|_{E_{U_{\alpha\beta}}} \circ (\phi_\beta|_{E_{U_{\alpha\beta}}})^{-1}\Bigr)(\gamma,x) = (\gamma g_{\alpha\beta}(x),x)\in G \times U_{\alpha\beta}.
\]
This is well-defined since $\phi_\alpha\phi_\beta^{-1}\colon G \times U_{\alpha \beta} \to G \times U_{\alpha \beta}$ is a map of $G$-bundles, hence preserves the $G$-action, and by the fact that any $G$-equivariant map $f\colon G \to G$, where $G$ is considered a left $G$-set, is given by right multiplication by an element, namely $f(e)$.
The following is a straightforward generalization of Lemma~\ref{lemma:vectorbundlegivescocycle} whose proof we leave to the diligent reader:
\begin{lemma}\label{lemma:principalbundlegivescocycle}
Let $G$ be a topological group and $p\colon E \to B$ a principal $G$-bundle with a trivializing open cover $\{U_\alpha\}_{\alpha}$ and change-of-coordinate maps $g_{\alpha\beta}\colon U_{\alpha\beta} \to G$. Then $(g_{\alpha\beta})$ is a cocycle for $\mathcal U$ with values in $G$.
In the case where $G=\GL_n(k)$, this cocycle is equal to the cocycle of the associated vector bundle $\Phi(E)$.\qed
\end{lemma}
\bigskip
The assignment of a cocycle $g$ to a vector bundle or principal $G$-bundle $p$ is not well-defined as it depends both on a choice of trivializing neighborhoods and a choice of trivializations over the latter. The following proposition clarifies, among other things, what happens when we choose different trivializations.
\begin{prop}\label{prop:cocycleisomorphisms}
Let $p\colon E \to B$ and $p'\colon E' \to B$ be two principal $G$-bundles for some topological group $G$. Let $\{U_\alpha\}_\alpha$ be a cover of $B$ that trivializes both $p$ and $p'$, and let $g$ and $g'$ be cocycles associated to $p$ and $p'$, respectively. Then $p \cong p'$ iff and only $g$ and $g'$ are cohomologous.
\end{prop}
Note that one can always find a cover that trivializes both $p$ and $p'$, for instance, by taking all intersections of trivializing neighborhoods of $p$ with trivializing neighborhoods of $p'$.
\begin{proof}
We will show the ``if'' part first, so let us assume that
\[
g'_{\alpha\beta} = c_\alpha g_{\alpha\beta} c_\beta^{-1} \in \map(U_{\alpha\beta},G)
\]
for some collection $c_\alpha\colon U_\alpha \to G$. For $\alpha \in I$, define a map
\[
f_\alpha\colon E_{U_\alpha} \xrightarrow{\phi_\alpha} G \times U_\alpha \xrightarrow{\tilde c_\alpha} G \times U_\alpha \xrightarrow{(\phi_\alpha')^{-1}} E'_{U_\alpha}.
\]
As a composition of three $G$-equivariant maps over $U_\alpha$, it is an isomorphism of principal $G$-bundles over $U_\alpha$. Furthermore, if $U_{\alpha\beta} \neq \emptyset$, we have that
\begin{align*}
f_\alpha \circ f_\beta^{-1} =& (\phi'_\alpha)^{-1} \circ \tilde c_\alpha \circ \phi_{\alpha} \circ (\phi_{\beta})^{-1} \circ \tilde c_\beta^{-1} \circ \phi'_\beta\\
=& (\phi'_\alpha)^{-1} \circ \tilde c_\alpha \tilde g_{\alpha\beta}\tilde c_{\beta}^{-1} \circ \phi'_\beta\\
= & (\phi'_\alpha)^{-1} \circ \tilde g'_{\alpha\beta} \circ \phi'_\beta = \id,
\end{align*}
where all maps are understood as their restriction to $U_{\alpha\beta}$. Thus $f_\alpha|_{U_{\alpha\beta}} = f_\beta|_{U_{\alpha\beta}}$ and thus we can glue these functions together to a globally defined isomorphism of principal $G$-bundles
\[
f\colon E \to E', \quad f(x) = f_\alpha(x) \quad \text{if } x \in U_\alpha.
\]
Now assume that $f\colon E \to E'$ is an isomorphism of principal $G$-bundles. Define $c_\alpha\colon U_\alpha \to G$ by
\[
\tilde c_\alpha = \phi'_\alpha \circ f \circ \phi_\alpha^{-1}.
\]
Then
\[
\tilde c_\alpha \tilde g_{\alpha\beta} \tilde c_\beta^{-1} = \phi'_\alpha \circ f \circ \phi_\alpha^{-1} \circ \phi_\alpha \circ \phi_\beta^{-1} \circ \phi_\beta \circ f^{-1} \circ (\phi'_\beta)^{-1} = \phi'_\alpha (\phi'_{\beta})^{-1} = \tilde g'_{\alpha\beta},
\]
hence $g$ and $g'$ are cohomologous.
\end{proof}
Thus for a chosen trivializing cover, the cocycle of a vector bundle or principal $G$-bundle is unique up to cohomology. The following result gives the existence part of the characterization:
\begin{prop}\label{prop:cocycleexistence}
Let $\mathcal U = \{U_\alpha\}_\alpha$ be an open cover on a space $B$ and $(g_{\alpha\beta}) \in Z^1_{\mathcal U}(B;G)$. Then there is a principal $G$-bundle $p\colon E \to B$ and trivializations $\phi_\alpha\in \map_{U_\alpha}(E_{U_\alpha},G \times U_{\alpha})$ whose associated cocycle is $g$.
\end{prop}
\begin{proof}
Let
\[
\tilde E = \coprod_{\alpha} G \times U_\alpha \xrightarrow{p\colon (x_\alpha,y_\alpha) \mapsto y_\alpha} B.
\]
We will construct the total space $E$ of the desired $G$-bundle by gluing the disjoint summands of $\tilde E$ together over all intersections $U_{\alpha\beta}$. Concretely, we define a relation $\sim$ on $\tilde E$ by
\[
(x_\alpha,u_\alpha)_{\alpha} \sim (x_\beta,u_\beta)_{\beta} \quad \text{iff} \quad u_\alpha=u_\beta \text{ and } g_{\alpha\beta}(u_\alpha) x_\beta = x_\alpha.
\]
The cocycle conditions (COC1) -- (COC3) are equivalent, in this order, to the reflexivity, symmetry, and transitivity of the relation $\sim$, thus $\sim$ is an equivalence relation, and we define $E = \tilde E/\mathord{\sim}$. Since identifications under $\sim$ only occur within a fiber, $p$ factors through a projection map $p\colon E \to B$.
We now define a $G$-action $G \to \map_B(E,E)$ by
\[
\gamma.[(x_\alpha,b)_{\alpha}] = [(\gamma x_\alpha,b)_{\alpha}].
\]
To see that this is well-defined, observe that for $(x_{\alpha},b)_{\alpha} \sim (x_\beta,b)_{\beta}$, we have
\[
\gamma.[(x_\alpha,b)_{\alpha}] = [(\gamma x_\alpha,b)_{\alpha}] =[(\gamma x_\beta g_{\alpha\beta},b)_{\alpha}]=[(\gamma x_\beta,b)_{\beta}] = \gamma.[(x_\beta,b)_{\beta}].
\]
Furthermore, the $G$-action is clearly free and transitive on every fiber. Thus $E$ is a principal $G$-bundle over $B$. Since $g_{\alpha\beta}$ is bijective, $\sim$ identifies distinct points in $G \times U_\alpha$ with distinct points in $G \times U_\beta$, hence the map $G \times U_\alpha \hookrightarrow \tilde E \to E$ is injective with image $E_{U_\alpha}$. We define the local trivialization $\phi_\alpha$ to be the inverse of this map. Then clearly, $g_{\alpha\beta}$ is the change-of-coordinates map associated with $\phi_\alpha$ and $\phi_\beta$, and the proof is complete.
\end{proof}
We can thus define a vector bundle up to isomorphism by specifying a cocycle for some cover. However, maps of vector bundles cannot be described in this way, thus we cannot make a category out of the cocycle description for vector bundles.
\begin{example}[Real bundles on $\S^1$] \label{exa:bundlesons1}
The circle $\S^1$ has an open cover $\mathcal U_\epsilon = \{U_+,U_-\}$, where $U_+ = \{e^{it} \mid -\pi/2-\epsilon < t < \pi/2+\epsilon\}$ and $U_- = \{e^{it} \mid \pi/2-\epsilon < t < 3\pi/2+\epsilon\}$. The intersection $U_{+,-}$ consists of two small circle segments centered at $i$ and $-i$. A real-valued cocycle with respect to this cover is given by a single $g\colon U_{+,-} \to \GL_n(\R)$. We want to be able to extend $g$ to the boundary of $U_{+,-}$, which might of course not be possible if $\det(g(u)) \to 0$ as $u \to \partial U_{+,-}$. But we may restrict $g$ to the smaller cover $\mathcal U_{\frac12\epsilon} = \{V_+,V_-\}$ without changing the vector bundle.
Denote by $V_{\pm i}$ the component of $V_+ \cap V_-$ which contains $\pm i$.
Two cocycles $g$, $g'$ are cohomologous if there are maps $c_\pm\colon V_\pm \to \GL_n(\R)$ such that $g'(x)=c_+(x)g(x)c_-(x)^{-1}$ for $x \in U_{+,-}$.
The Lie group $GL_n(\R)$ consists of two connected components, corresponding to the sign of the determinant. We may, without loss of generality, assume that $\det g(x)>0$ for all $x \in V_i$; if not, we change $g$ cohomologously by choosing constant maps $c_+$ and $c_-$ of determinant $1$ and $-1$, respectively.
Now choose $c_+\colon V_+ \to \GL_n(\R)$ such that $c_+|_{V_i} = g|_{V_i}^{-1}$ and $c_+|_{V_{-i}} = \id$. This is possible by the connectedness of the space of matrices of positive determinant. Similarily, choose $c_-\colon V_- \to \GL_n(\R)$ such that $c_-|_{V_{-i}} = g|_{V_{-i}}$ and $c_-|_{V_{i}}$ either constant with value the identity matrix, or constant with value $I_- = \begin{pmatrix}-1\\&1\\&& \ddots\\&&&1\end{pmatrix}$, depending on the determinant of $g|_{V_{-i}}$. Then $g' = c_+gc_-^{-1}$ has the following properties:
\begin{itemize}
\item $g'$ is cohomologous to $g$;
\item $g'(x) = \id$ for $x \in V_{-i}$;
\item $g'(x) = \id$ or $g'(x) = I_-$ for $x \in V_{i}$.
\end{itemize}
The $n$-dimensional vector bundle associated with $g$ is either the $n$-dimensional trivial bundle or the Möbius bundle plus an $(n-1)$-dimensional trivial bundle. (What it means to add vector bundles will be explained in more detail in Section~\ref{ssec:whitneysums}.)
This does not quite lead to a classification of all real vector bundles over $\S^1$ since we only consider bundles which are trivial on half-circles. The classification will be completed with Corollary~\ref{cor:bundlesovercontractiblespaces}, where we will show that vector bundles on contractible spaces are always trivial.
\end{example}
\begin{exer} \label{exer:bundlesons1}
Classify all real vector bundles on $\S^1$ for arbitrary coverings by trivializing neighborhoods. Hint: use compactness of $\S^1$ to reduce to the case where the cover consists of finitely many overlapping circle intervals.
\end{exer}
\begin{exer} \label{exer:complexbundlesons1}
Show that all complex vector bundles on $\S^1$ are trivial.
\end{exer}
\begin{exer}
Construct cocycles for the Hopf fiber bundles $\S^3 \to \S^2$ and $\S^7 \to \S^4$ with respect to the cover of $\S^2$ resp. $\S^4$ by two(slightly thickened) hemispheres.
\end{exer}
\subsection{Cocycles as functors} \label{subsec:cocyclesasfunctors}
It is useful both conceptually and for what comes later to phrase the definition of a cocycle in the context of \emph{topological categories}. A topological category, or more precisely, a small category object in topological spaces, is an ordinary category where the objects form a set (rather than a proper class) and where both objects and morphism sets carry a topology such that all the structure maps are continuous. We make this more precise in the following definition.
\begin{defn}
Let $C$ be a category, such as the category of topological spaces, that has fiber products. A \emph{category object $\C$ in $C$} is a pair of objects $(\ob \C, \mor \C)$ of $C$ together with morphisms
\begin{itemize}
\item a \emph{unit} $u\colon \ob \C \to \mor \C$;
\item \emph{source} and \emph{target} maps $s$, $t\colon \mor C \to \ob \C$;
\item a composition map $\mu\colon \mor \C \times_{\ob \C} \mor \C \to \mor \C$, where the fiber product denotes the pullback of the diagram
\[
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, column sep=2ex,row sep=3ex]
{
& \mor \C\\
\mor \C & \ob \C.\\
};
\path[->,font=\scriptsize]
(m-1-2) edge node[auto]{$t$} (m-2-2)
(m-2-1) edge node[auto]{$s$} (m-2-2);
\end{tikzpicture}
\]
\end{itemize}
These morphisms have to satisfy the following axioms:
\begin{description}
\item[(Associativity)] $\mu(\mu(f,g),h) = \mu(f,\mu(g,h))$ for $(f,g,h) \in \mor \C \times_{\ob\C} \mor \C \times_{\ob \C} \mor \C$;
\item[(Identities)] $s\circ u = t \circ u = \id_{\ob \C}$.
\item[(Unitality)] $\mu(f,u(s(f))) = f = \mu(u(t(f)),f)$ for all $f \in \mor \C$;
\end{description}
A \emph{functor} $F$ between category objects $\C$ and $\D$ in $C$ consists of two morphisms in $C$,
\[
F_0\colon \ob \C \to \ob \D \quad \text{and} \quad F_1\colon \mor\C \to \mor \D,
\]
that are compatible with the unit, source, target, and composition maps. (The reader may spend a minute to think about this compatibility in the case of contravariant functors.)
A \emph{natural transformation} $h\colon \C \to \D$ is a functor
\[
h\colon \C \times [1] \to \D,
\]
where $[1]$ denotes the category with two objects $0$, $1$ and exactly one morphism $0 \to 1$ besides the identity morphisms. We say that the natural transformation goes from the functor $h_0\colon \C \cong \C \times \{0\} \to \D$ to the functor $h_1\colon \C \cong \C \times \{1\} \to \D$.
We call a category object in topological spaces just a \emph{topological category}.
\end{defn}
Note that a category object in sets is just an ordinary category whose objects form a set. (This is called a \emph{small} category.)
A special case of a topological category is a category $\C$ when $\ob\C$ is just a discrete set (but the morphism sets do carry a nontrivial topology). Some authors call this a topological category, rather than our more general definition. An unambiguous name for this kind of category is a \emph{category enriched in topological spaces}. (In this setting it is usually not required for the class of objects to be a set.)
On the other extreme, given a topological space $X$, we can consider $X$ as a category $\mathcal X$with $\ob \mathcal X = \mor \mathcal X = X$. Thus the only morphisms in this category are identity morphisms. We will not distinguish in notation between $X$ and the category thus formed.
\begin{example}
If $G$ is a Lie group, such as $\GL_n(k)$ for $k=\R$ or $\CC$, then we can consider $G$ as a topological category with one object $*$ and $\mor = \Hom(*,*) = G$. We will not distinguish in notation between the group $G$ and the one-object category thus defined.
\end{example}
This is the one-object case of the following more general construction:
\begin{example}
If $\{G_n\}_{n \geq 0}$ is a sequence of topological groups, we can define a topological category $\mathcal G$ with objects $\N$ and $\mor \mathcal G = \coprod_{n \geq 0} G_n$, where $s=t\colon \mor \mathcal G \to \N$ given by $s|_{G_n} = t|_{G_n} \equiv n$. This is an example of a topological \emph{groupoid}, i.~e. a category where every morphism is invertible.
\end{example}
\begin{example} \label{exa:covergroupoid}
Let $\mathcal U = \{U_\alpha\}_{\alpha \in I}$ be an open cover of a space $X$, and let $\mathbf U = \coprod_{\alpha \in I} U_\alpha$. Define the map $p\colon \mathbf U \to X$ to be the standard inclusion on every summand, so that in total, $p$ is an open surjective map.
The pair $(\mathbf U,\mathbf U \times_X \mathbf U)$ becomes a topological category if we define
\begin{itemize}
\item $u\colon \mathbf U \to \mathbf U \times_X \mathbf U$ by $u(x) = (x,x)$;
\item $s(x,y) = x$ and $t(x,y) = y$;
\item $\mu\colon (\mathbf U \times_X \mathbf U) \times_{\mathbf U} (\mathbf U \times_X \mathbf U) = \mathbf U \times_X \mathbf U \times_X \mathbf U \to \mathbf U \times_X \mathbf U$ by $(x,y,z) \mapsto (x,z)$.
\end{itemize}
This is in fact a groupoid as well. We denote it by $\mathbf U$. It comes with a functor $\mathbf U \to X$ to the category with objects $X$ and only identity morphisms.
An object in $\mathbf U$ is a pair $(x,\alpha)$ where $x \in U_\alpha$, and we are using $x_\alpha$ as a shorthand for this tuple. Similarly, a morphism in $\mathbf U$ (from $x_\alpha$ to $y_\beta$) only exists when $x=y \in U_\alpha \cap U_\beta$, and in that case it is unique. We denote it by $x_{\alpha\beta}$.
\end{example}
\begin{prop} \label{prop:cocyclesasgroupoidmaps}
Let $\mathcal U$ be an open cover of $X$ with associated groupoid $\mathbf U$, and $G$ a topological group, considered as a topological groupoid with one object. Then the natural map
\[
\Fun(\mathbf U,G) \to Z^1_{\mathcal U}(X,G), \quad F \mapsto g \quad \text{where } g_{\alpha\beta} = F_1|_{U_{\alpha\beta}}
\]
is a bijection.
Furthermore, two cocycles are cohomologous if and only if their associated functors are naturally isomorphic.
\end{prop}
\begin{proof}
Since the functor satisfies $F_1(\mu(f,g)) = \mu(F_1(f),F_1(g))$, we can verify the cocyle axioms by applying $F_1$ to the trivial identities
\[
\mu(x_{\alpha\alpha},x_{\alpha\alpha}) = x_{\alpha\alpha}, \quad \mu(x_{\alpha\beta},x_{\beta\alpha}) = x_{\alpha\alpha}, \quad \mu(x_{\alpha\beta},x_{\beta\gamma}) = x_{\alpha\gamma},
\]
to obtain \ref{it:coc1}, \ref{it:coc2}, \ref{it:coc3}, respectively.
Conversely, any cocycle defines a functor $F=(F_0,F_1$) by setting $F_1=\coprod_{\alpha} g_{\alpha\beta}$, and $F_0$ is a trivial morphism since $G$ is a one-object category.
Now let $h\colon \mathbf U \times [1] \to G$ be a natural transformation from a functor $h_0=F$ to a functor $h_1=F'$, and let $g$ and $g'$ be the cocycles associated to $F$ and $F'$, respectively. Define $c_\alpha\colon U_\alpha \to G$ by $c_\alpha = h|_{U_{\alpha\alpha} \times \{0\to 1\} }$. We want to show that
\[
g_{\alpha\beta}' = c_\beta g_{\alpha\beta} c_\alpha^{-1} \in G \quad \text{for all } \alpha,\beta \in I \text{ such that } U_{\alpha\beta} \neq \emptyset.
\]
This can be reformulated as $g'_{\alpha\beta}c_\alpha = c_\beta g_{\alpha\beta}$ and follows from the functoriality of $h$ because the above identity is the image under $h$ of the true identity
\[
(x \in U_{\alpha\beta},1 \to 1) \circ (x \in U_{\alpha\alpha},0 \to 1) = (x \in U_{\beta\beta},0\to 1) \circ (x \in U_{\alpha\beta},0 \to 0) \text{ in } \mathbf U \times [1].
\]
Conversely, if $g$ and $g'$ are cohomologous by $c_\alpha\colon U_\alpha \to G$ then we define a natural transformation $h$ on morphisms of the form $(U_{\alpha\alpha}, 0 \to 1 )$ by $ h= \coprod_{\alpha}c_{\alpha}\colon \mathbf U \to G$.
\end{proof}
Encouraged by this proposition, we will extend the definition of cocyles with values in a topological groupoid $\mathcal G$ and write $Z^1_{\mathcal U}(X;\mathcal G)$ for the set of functors $\Fun(\mathbf U,\mathcal G)$ and call two such cocycles cohomologous if the associated functors are naturally isomorphic. We also write $H^1_{\mathcal U}(X;\mathcal G)$ for the set of cocycles modulo cohomology.
The following corollary is a straightforward consequence of Propositions~\ref{prop:cocycleisomorphisms}, \ref{prop:cocycleexistence}, and \ref{prop:cocyclesasgroupoidmaps}:
\begin{corollary} \label{cor:cocycleidentification}
There is a bijection
\[
\{\text{$k$-vector bundles on $B$ with trivializing cover $\mathcal U$}\}/\text{iso} \leftrightarrow H^1_{\mathcal U}(B;\coprod_{n \geq 0} \GL_n(k)).
\]
\end{corollary}
We will pursue the cocycle characterization of vector bundles further in Chapter~\ref{ch:cohomology} and also clarify the terms “cocycle,” “coboundary,” and “cohomologous.”
\section{Operations on bundles}
In this section we study the structure of the set of $k$-vector bundles on a space $X$ and how to build new vector bundles from existing ones, mimicking standard constructions in linear algebra.
\subsection{Pullbacks and pushforwards} \label{subsec:pullback-pushforward}
Given a vector bundle $p\colon E \to B$ and a map $f\colon B' \to B$, the fiber product
\[
f^*E = E \times_B B' = \{(e,b) \in E \times B' \mid f(b) = p(e)\} \xrightarrow{(e,b) \mapsto b} B'
\]
becomes a vector bundle $f^*p$ over $B'$, called the \emph{pullback} of $p$ along $f$. That it is locally trivial is clear since $f^{-1}(U)$ is a trivializing neighborhood for $f^*p$ if $U$ is a trivializing neighborhood for $p$. This construction is functorial in the sense that $g^*f^*(p) \cong (f \circ g)^*(p)$ for maps $B'' \xrightarrow{g} B' \xrightarrow{f} B$.
In terms of $\mathcal O_B$-module sheaves, there are pushforward and pullback functors defined as follows. First, given any sheaf $F$ on $B'$, we can define a sheaf $f_*F$ on $B$ by
\[
(f_*F)(U) = F(f^{-1}U) \quad (U \subset B \text{ open});
\]
this maps sheaves of algebras to sheaves of algebras, and in particular, it makes $f_*\mathcal O_{B'}$ a sheaf of rings on $B$. Moreover, there is a natural map of sheaves of rings
\begin{equation}\label{eq:mapofstructuresheaves}
\mathcal O_{B} \to f_*\mathcal O_{B'}; \quad \mathcal O_B(U) = \map(U,k) \xrightarrow{\phi \mapsto \phi \circ f} \map(f^{-1}U,k) = (f_*\mathcal O_{B'})(U).
\end{equation}
Given a $\mathcal O_{B'}$-module sheaf $F$, the pushforward $f_*F$ is naturally an $f_*\mathcal O_{B'}$-module sheaf and hence, by \eqref{eq:mapofstructuresheaves}, a $\mathcal O_B$-module sheaf.
However, for vector bundles $F$, $f_*F$ is not usually a vector bundle, i.e.\ the local freeness condition is violated. For instance the pushforward of the constant sheaf $\R$ along the inclusion $\{0\} \hookrightarrow \R$ is the so-called skyscraper sheaf $S$ with $S(U) = \R$ if $0 \in U$ and $S(U) = 0$ otherwise. In terms of vector spaces over $\R$, this is precisely Example~\ref{exa:coordinatecross}.
For the pushforward along $f$ to preserve all vector bundles, it is necessary and sufficient that the map \eqref{eq:mapofstructuresheaves} makes $f_*\mathcal O_{B'}$ into a vector bundle, i.e.\ $\map(f^{-1}U,\R) \cong \map(U,\R)^n$ for some $n$ and sufficiently small open sets $U$. This is satisfied if $f^{-1}U \cong U \times \{1,\dots,n\}$, and thus when $B'$ is a finite covering space of $B$. We have thus proved:
\begin{thm}\label{thm:covpushforward}
If $f\colon B' \to B$ is a finite covering space map of degree $n$ then $f_*$ maps vector bundles of dimension $k$ on $B'$ to vector bundles of dimension $kn$ on $B$.
\end{thm}
The sheaf-theoretic formulation of the pullback of a vector bundle is arguably most easily defined as the sheaf of sections of the pullback bundle associated to the sheaf, i.e.\ using the equivalence between locally free $\mathcal O_B$-module sheaves and vector bundles.
\begin{example}
Let $f\colon \S^1 \to \S^1$ be the map of degree~$2$ and $\mu\colon E \to \S^1$ the Möbius bundle. I claim that $f^*\mu$ is the trivial line bundle on $\S^1$. Let us think of the Möbius bundle as defined by $E = (\R \times [0,1])/\mathord\sim$, where $(x,0) \sim (-x,1)$. Then
\[
f^*E \cong (\R \times \left[0,\frac12\right] \sqcup \R \times \left[\frac12,1\right])/\mathord\sim,
\]
where $(x,\frac12)_1 \sim (-x,\frac12)_2$ and $(x,0)_1 \sim (-x,1)_2$. Here the subscripts denote whether the subscripted pair lies in the first or in the second disjoint summand. This is a cylinder with two half-twists, thus trivial. In fact, the map
\[
\R \times [0,1]/\{0,1\} \to f^*E, \quad (x,t) \mapsto \begin{cases} (x,t)_1; & t \leq \frac12\\(-x,t)_2; & t \geq \frac12\end{cases}
\]
is an isomorphism over $B$.
\end{example}
In general, the pullback functor $f^*$ that sends a sheaf on $B$ to a sheaf on $B'$ is the left adjoint of the pushforward functor $f_*$. For an explicit construction, let $G$ be a sheaf on $B$. Then $f^*G$ is the sheaf associated to the presheaf
\begin{align*}
B' \supset U \mapsto \colim_{f(U) \subset V} G(V)
\end{align*}
where the indexing category of the colimit is those open subsets $V$ that contain $f(U)$. We make this into a sheaf by `sheafification', as explained in Proposition~\ref{prop:sheafification}.
Note that pullbacks work in exactly the same way for general fiber bundles as they do for vector bundles.
\subsection{Whitney sums} \label{ssec:whitneysums}
The generalization of the direct sum $V \oplus W$ of $k$-vector spaces is the Whitney sum of vector bundles.
\begin{defn}
Given two vector spaces over $B$, $p\colon E \to B$, and $p'\colon E' \to B$, we define the (Whitney) sum $E \oplus E' \to B$ to be the vector space over $B$ given by
\[
E \times_B E' \xrightarrow{(e,e') \mapsto p(e) = p'(e')} B.
\]
\end{defn}
\begin{lemma}
The Whitney sum of vector bundles $E$, $E'$ is a vector bundle, and if $\dim E = m$ and $\dim E' = n$ then $\dim(E\oplus E') = m+n$.
\end{lemma}
\begin{proof}
We only need to check the local triviality condition. Let $U \subset X$ be a trivializing neighborhood for both $p$ and $p'$. Then
\[
(E \times_B E')_U = E_U \times_U E'_U \xrightarrow{\cong} (k^m \times U ) \times_U (k^n \times U ) \cong k^{m+n} \times U. \qedhere
\]
\end{proof}
\begin{example}
We will show that for the Möbius bundle $\mu$ on $\S^1$ of Example~\ref{exa:mobiusstrip}, the Whitney sum $2\mu = \mu \oplus \mu$ is a trivial bundle. For that, we define a global trivialization
\[
\R^2 \times \S^1 \to \mu \oplus \mu, \quad (x,y,t) \mapsto (x \cos \pi t + y \sin \pi t,-x \sin \pi t + y \cos \pi t,t),
\]
where, as before, $\S^1$ is considered as the quotient $[0,1]/\{0,1\}$.
\end{example}
An alternative definition of the Whitney sum in terms of locally free $\mathcal O_B$-module sheaves is implicit in the following Lemma:
\begin{lemma}
For two vector bundles $E$, $E'$ over $B$, we have an isomorphism of sheaves $\Gamma_{E \oplus E'} \cong \Gamma_E \oplus \Gamma_{E'}$.
\end{lemma}
\begin{proof}
\[
\Gamma_{E \oplus E'}(U) = \map_U(U,E_U \times_U E'_U) \cong \map_U(U,E_U) \times \map_U(U,E'_U) \cong \Gamma_E(U) \times \Gamma_{E'}(U).
\]
\end{proof}
The Whitney sum construction works in the same way for fiber bundles. In that case, the fiber of the sum is the product of the fibers of the summands, and the structure group of the sum is the product of the structure groups of the summands.
\begin{exer}
Let $f\colon \S^1 \to \S^1$ be the map $z \mapsto z^2$ of degree~$2$, and $\mu$ the Möbius bundle on $\S^1$. Then $f_*\mu$ is isomorphic to the trivial $2$-dimensional bundle, while $f_*\R$, the pushforward of the trivial line bundle, is isomorphic to the Whitney sum $\R \oplus \mu$ of a trivial line bundle and the Möbius bundle over $\S^1$.
\end{exer}
\subsection{Kernels and Cokernels*}
Let $f\colon E \to E'$ be a morphism of vector bundles $E \xrightarrow{p} B$, $E' \xrightarrow{p'} B$. Then we can naively define:
\[
\ker f = \{x \in E \mid f(x)=s'(p(x))\} \quad \text{and} \quad \coker f = E'/\sim,
\]
where $x \sim y$ iff $p'(x) = p'(y)$ and $x-y \in \im f$. Since $x$ and $y$ are in the same fiber by the first condition, the expression $x-y$ in the second expression is well-defined. Since both are fiberwise kernels and cokernels of linear maps, it is clear that $\ker f$ and $\coker f$ are vector spaces over $B$.
\begin{warning}
These constructions of $\ker f$ and $\coker f$ are in general not locally trivial, so are \textbf{not} vector bundles. For instance, let $E=E'=\R\times \R$ be trivial bundles over $\R$, and define
\[
f\colon E \to E'; \quad f(x,b) = (bx,b).
\]
Then both $\ker f$ and $\coker f$ are isomorphic to the vector space over $\R$ of Example~\ref{exa:coordinatecross}, which is not locally trivial.
\end{warning}
\begin{exer}\label{exer:constantrank}
The spaces $\ker f$ and $\coker f$ are vector bundles over $B$ if $f$ has locally constant rank, i.e.\ if $b \mapsto \rk(f_b)$ is locally constant on $B$.
\end{exer}
\subsection{Hom bundles}
Let $M$ and $N$ be vector bundles over $B$ from the sheaf point of view. Define a new sheaf $\Hom(M,N)$ by
\[
\Hom(M,N)(U) = \Hom_{\Mod_{\mathcal O_U}}(M|_U,N|_U).
\]
This is a presheaf by restriction, and the gluing condition is clearly satisfied since $M$ and $N$ are sheaves. Moreover, $\Hom_{\Mod_{\mathcal O_U}}(M|_U,N|_U)$ is an $\mathcal O(U)$-module by the restriction map $\mathcal O(U) \to \mathcal O_U$ from the constant presheaf to $\mathcal O_U$. Local freeness follows from Exercise~\ref{exer:Omodmaps}.
Note that a global section of $\Hom(M,N)$ is precisely a morphism of vector bundles $M \to N$. Thus the Hom bundle is an internal homomorphism object in $\Vect(B)$.
A particular case is the bundle
\[
M^* = \Hom(M,\mathcal O_B),
\]
called the dual vector bundle, whose fibers are the dual vector spaces of the fibers of $M$.
\subsection{Tensor bundles}
The previous constructions give a pattern of how one should define the tensor product $M \otimes N$ of two vector bundles. But instead of treating this and other such construction separately, we will now develop a general method of lifting functors from vector spaces to vector bundles.
\begin{defn}
An \emph{$(p,q)$-ary continuous functor of $k$-vector spaces} is a functor $F\colon (\Vect_k)^p \times (\Vect_k^\op)^q \to \Vect_k$ from $(p+q)$-tuples of finite-dimensional $k$-vector spaces to finite-dimensional $k$-vector spaces which is continuous in the sense that for
\[
V_1,\dots,V_{p+q}, W_1,\dots,W_{p+q} \in \Vect_k,
\]
\begin{align*}
\Hom_k(V_1,W_1) \times \cdots \times \Hom_k(V_{p},W_{p}) \times \Hom_k(W_{p+1},V_{p+1}) \times \cdots \times \Hom_k(W_{p+q},V_{p+q}) \\
\xrightarrow{F} \Hom_k(F(V_1,\dots,V_{p+q}),F(W_1,\dots,W_{p+q}))
\end{align*}
is continuous, where the sets $\Hom_k(V,W)$ carry the usual finite-dimensional vector space topology inherited from $k$.
\end{defn}
\begin{prop}\label{prop:continuousfunctorlift}
Given any $(p,q)$-ary continuous functor $F$ of $k$-vector spaces, there is an induced functor
\[
F\colon \Vect_k(B)^p \times (\Vect_k(B)^\op)^q \to \Vect_k(B)
\]
which restricts to $F$ on each fiber.
\end{prop}
\begin{proof}
Let $E_1,\dots,E_{p+q}$ be vector bundles on $B$. Define
\[
F(E_1,\dots,E_{p+q}) = \coprod_{b \in B} F((E_1)_b,(E_2)_b,\dots,(E_{p+q})_b).
\]
Of course, we don't want the disjoint union topology on this space over $B$, but the construction is functorial and restricts to $F$ on each fiber.
For the correct topology around $b \in B$, choose a trivializing neighborhood $U$ containing $b$ for all $E_i$ at once. (Since there are finitely many, this exists.) Let $\phi_i\colon E_i \to k^{n_i} \times U$ be trivializations for $E_i$. Let $\phi_{b,i}\colon k^{n_i} \to (E_i)_b$ be the restriction of $\phi_i$ to the fiber over $b$. Now define a bijection
\[
\Phi\colon F(k^{n_1},\dots,k^{n_{p+q}}) \times U \to F(E_1,\dots,E_{p+q})|_U
\]
by
\[
\Phi(y,b) = F(\phi_{b,1},\dots,\phi_{b,p},\phi_{b,p+1}^{-1},\dots,\phi_{b,p+q}^{-1})(y).
\]
We define a subset $V$ of $F(E_1,\dots,E_{p+q})|_U$ to be open iff $\Phi^{-1}(V)$ is open.
To see that this does not lead to conflicting definitions of open sets on intersections $U \cap U'$, note that the map
\[
F(k^{n_1},\dots,k^{n_{p+q}}) \times (U \cap U') \xrightarrow{\Phi} F(E_1,\dots,E_{p+q})|_{U\cap U'} \xrightarrow{\Phi'} F(k^{n_1},\dots,k^{n_{p+q}})
\]
is continuous because it is $F$ applied to a product of (continuous) change-of-coordinate maps.
\end{proof}