Hello and welcome! I’m Sam, a Ph.D. candidate studying modular representation theory  in particular, equivalences between representation spaces. If you don’t know what those words mean, fear not. This series of blog posts will attempt to introduce my field and more! My end goal is to build up to painting a picture of the question which guides my dissertation, getting into some, but not too many, technical details. The intended audience is an undergraduate student who’s taken a course on group and ring theory, with basic linear algebra assumed as well. Though if you’re not there yet, don’t worry! You still might get something out of these posts, and I might write an appendixlike primer for everything you need from those courses to get what I’m doing here.
Today we’re going to switch gears to category theory. This will be the first of (probably) two parts on the topic  in this first part I’ll introduce some of the basics of category theory (categories, functors, and equivalences of categories) and introduce a special kind of equivalence, a Morita equivalence, which will motivate one of the types of equivalences I study.
Categories & Functors
As you’ve progressed through mathematics, you may have noticed some reoccurring patterns in your courses. Many times, there are specific objects that we’re interested in (groups, rings, representations, modules, vector spaces, etc.) and very often, we are able to define maps between those objects that are “structure preserving.” This is no mere coincidence, and in some sense, category theory describes the unity these different structures share. Category theory is metamathematics in a sense, in that we study other mathematical structures, and the relations that exist between them. We do this by turning each type of structure into a category.
Definition: A category $\mathcal{C}$ consists of the following data:
 A class of objects, denoted $\text{Ob}(\mathcal{C})$ (sometimes we abusively write $\mathcal{C}$ if it is clear).
 For each pair of objects $C,D \in \text{Ob}(\mathcal{C})$, a class of morphisms, denoted $\text{Hom}_\mathcal{C}(C,D)$. If $f \in\text{Hom}_\mathcal{C}(C,D)$. We also denote this by $f: C\to D$.
The classes of morphisms must satisfy the following properties:
 For any object $C \in \mathcal{C}$, there exists an identity morphism $1_C: C\to C$.
 For any morphisms $f: C\to D$ and $g: D\to E$, there exists a unique composition morphism, $g\circ f: C\to E$. Composition is associative, that is, $(h\circ g)\circ f = h\circ (g\circ f)$ for any morphisms $f,g,h$ with compatible domains and codomains.
 For any morphism $f: C\to D$, $f = f\circ \text{id}_C = \text{id}_D\circ f$.
We usually name categories based on the the types of objects which exist in the group, as the following examples will demonstrate. However, it should be noted that morphisms between the objects are the primary “objects” which define a category. Indeed, we can always recover the objects of a category from the morphisms alone: after all, the identity morphisms are in bijective correspondence with the objects! However, we cannot recover the morphisms of a category from the objects alone.
One may note that the way morphisms are defined suggests that they are maps or functions, and that composition corresponds to function composition. While this can be the case, there exist plenty of categories where the morphisms are not functions in the usual sense, which we will also highlight.
If you want to get familiar with the basics of categories, as an exercise you can verify that each of the categories listed is indeed a category.
Examples:
 The category $\textbf{Set}$ has the class of sets as objects and maps between sets with specified domain and codomain as its morphism classes. (You may be wondering why we’ve been calling things classes rather than sets, and this is why  we run into “size issues” otherwise. Recall that the set of all sets does not exist, loosely speaking, due to cardinality issues.)
 The category $\textbf{Group}$ (resp. $\textbf{Ab}$) has the class of groups (resp. abelian groups) as objects and group homomorphisms (with specified domain and codomain) as its morphism classes. The categories $\textbf{Ring}$, $\textbf{Field}$, are defined similarly.
 The category $\textbf{Top}$ has topological spaces as objects and continuous maps as its morphism classes. The category $\textbf{Man}$ has smooth manifolds as objects and smooth maps as morphisms.
 Any group (or more generally a monoid) can be turned into a category via the following construction: given a group $G$, we define the category $\textbf{B}G$ with one object $O$, and with $\text{Hom}_{\textbf{B}G}(O,O) = G$, with composition corresponding to group multiplication. The identity morphism is $1_G$.
 Given a ring $R$, the category $\textbf{Mat}_R$ has the positive integers as objects, and $\text{Hom}(m,n)$ is the set of $n\times m$ matrices, with composition corresponding to matrix multiplication. The identity morphisms correspond to the identity matrices.
 Given a ring $R$, the category $_{R}\textbf{Mod}$ has as all left $R$modules as objects and $R$module homomorphisms as morphisms. This is the (left) module category of $R$. It has $_{R}\textbf{mod}$ as a subcategory, where the objects are the subclass given by all finitely generated $R$modules, and morphisms are the $R$module homomorphisms which remain. We define $\textbf{Mod}_R$ and $\textbf{mod}_R$ analogously for right $R$modules, and if $S$ is another ring, then $_{R}\textbf{Mod}_S$, $_{R}\textbf{mod}_S$ are defined analogously for $(R,S)$bimodules. In some sense, these categories can be seen as invariants of $R$ or $S$.
Like how we have injective and surjective maps, we have similar (but not necessarily equivalent!) notions for morphisms.
Definition: A morphism $f: C\to D$ is an
 monomorphism if for all $g,h: B\to C$, $f\circ g = f\circ h$ implies $g = h$.
 epimorphism if for all $g,h: C\to D$, $g\circ f = h\circ f$ implies $g = h$.
 isomorphism if there exists an $f^{1}: D\to C$ such that $f\circ f^{1} = \text{id}_D$ and $f^{1} \circ f = \text{id}_C$.
A monomorphism can be seen as an abstraction of an injective map, and an epimorphism can be seen as an abstraction of a surjective map. In addition, it is a straightforward exercise to show that an isomorphism is both an epimorphism and a monomorphism. However, it is not always the case that the notions coincide as you’d expect! For example, there exist morphisms which are both monomorphisms and epimorphisms which are not isomorphisms!
In addition, in $\textbf{Group}$, it is easy to show the monomorphisms are precisely the injective group homomorphisms. It is considerably less easy to show that the epimorphisms are precisely the surjective group homomorphisms. On the other hand, in $\textbf{Ring}$, one can show that the monomorphisms are precisely the injective ring homomorphisms. However, the epimorphisms are not always surjective ring homomorphisms! For example, the inclusion $\mathbb{Z} \to \mathbb{Q}$ is in fact an epimorphism, which follows because $\mathbb{Q}$ is the field of fractions of $\mathbb{Z}$. The lesson here is that while examples and intuition can be useful for figuring out what’s what in categories initially, sometimes things don’t quite work out as you’d expect.
Categories in isolation aren’t too interesting though (at least in my opinion), what gives them context is the relationships between them. This is where functors come in to play, which in some sense can be considered the “morphisms” or “structure preserving maps” between them.
Definition: A (covariant) functor between categories $\mathcal{F}: \mathcal{C}\to \mathcal{D}$ is a map consisting of the following data:
 For each object $C \in \mathcal{C}$, an object $\mathcal{F}(C) \in \mathcal{D}$.
 For each morphism $f: C\to D$, a morphism $\mathcal{F}(f): \mathcal{F}(C) \to \mathcal{F}(D)$.
It satisfies the following properties:
 $\mathcal{F}(g\circ f) = \mathcal{F}(g)\circ \mathcal{F}(f)$, where the composition on the left side is in $\mathcal{C}$ and the composition on the right side is in $\mathcal{D}$.
 For any $C \in \mathcal{C}$, $\mathcal{F}(\text{id}_C) = \text{id}_{\mathcal{F}(C)}$.
It’s quite evident how this definition mirrors the “structurepreserving maps” definitions given mirror the properties we wish things like homomorphisms to have! Let’s look at some examples  again, it’s a good exercise to verify that these are indeed functors.
 If $\mathcal{C}$ is any of $\textbf{Group}, \textbf{Ring}, \textbf{Ab}, \textbf{Field}, {}_R\textbf{Mod}$ (or plenty of other categories), then the forgetful functor $\mathcal{C} \to \textbf{Set}$ sends any object in $\mathcal{C}$ to its underlying set and sends the homomorphism to the underlying map.
 There is an intermediate forgetful functor ${}_R\textbf{Mod} \to \textbf{Ab}$ sending an $R$module to the underlying abelian group, and sending an $R$module homomorphism to the underlying group homomorphism. A forgetful functor in general involves some loss of data that one category may contain about an object which another does not.
 Given two groups which have been categorified as in the previous example, a functor between those groups is precisely a group homomorphism.
 If $H \leq G$ are groups, then induction and restriction can be realized as functors $\text{Ind}^G_H: {}_{kH}\textbf{mod} \to {}_{kG}\textbf{mod}$ and $\text{Res}^G_H: {}_{kG}\textbf{mod} \to {}_{kH}\textbf{mod}$.
It is easy to show that functors preserve isomorphisms. On the other hand, not all functors preserve monomorphisms or epimorphisms, although there is a subclass of monomorphisms/epimorphisms, called split monomorphisms/epimorphisms which are preserved by all functors. Now that we’ve defined maps of categories, we can introduce one more category: $\textbf{Cat}$ is the category of categories, with its morphisms being functors!
Equivalences of Categories
As you at this point are probably well aware, isomorphisms are structurepreserving maps that tell us when two objects are “essentially the same.” Now that we’ve defined structurepreserving maps, it seems that analogously, functors which are “isomorphisms” should tell us when two categories are essentially the same. Indeed, a functor which is an isomorphism in $\textbf{Cat}$ induces an isomorphism of categories. However, in practice, using isomorphisms of categories to tell us when two categories are essentially the same is too restrictive.
For example, the category $\textbf{Mat}_k$ of $k$valued matrices and the category $\textbf{Vect}^{\text{fd}}_k$ of finitedimensional vector spaces over $k$ should be considered the same (based on what we know from linear algebra), but it is impossible to find an isomorphism of categories between the two. Similarly, the categories $\textbf{Rep}_{kG}$ of (finitedimensional) representations of $G$ over $k$ and ${}_{kG}\textbf{mod}$ should be equivalent, but again, no isomorphism of categories exists between them.
Instead, we have a bit of a weaker version of an “isomorphism” for categories  an equivalence of categories. This will be a functor (or a pair of functors) which won’t quite be an isomorphism in that it is invertible, but essentially, it’s “close enough” to being an isomorphism, in a natural way. There are two equivalent definitions  I’ll give what I perceive to be the more intuitive one for somebody not used to thinking categorically. The other definition, while also being quite enlightening, will take a bit longer to describe.
Definition: Let $\mathcal{C},\mathcal{D}$ be categories, and $\mathcal{F}:\mathcal{C}\to\mathcal{D}$ be a functor. We say $\mathcal{F}$ is:
 full if for every $C_1,C_2\in\mathcal{C}$, the map $\mathcal{F}:\text{Hom}_\mathcal{C}(C_1,C_2) \to \text{Hom}_\mathcal{D}(\mathcal{F}(C_1),\mathcal{F}(C_2))$ is surjective.
 faithful if for every $C_1,C_2\in\mathcal{C}$, the map $\mathcal{F}:\text{Hom}_\mathcal{C}(C_1,C_2) \to \text{Hom}_\mathcal{D}(\mathcal{F}(C_1),\mathcal{F}(C_2))$ is injective.
 essentially surjective if for every $D \in \mathcal{D}$, there exists a $C\in \mathcal{C}$ for which $\mathcal{F}(C) \cong D$, that is, there is an isomorphism in $\text{Hom}_\mathcal{D}(\mathcal{F}(C),D).$
$\mathcal{F}$ is an equivalence of categories if it satisfies the above three properties.
So what does an equivalence of categories look like? Well, the map on objects induced by $\mathcal{F}$ actually does not have to be injective or surjective, but everything in the target category needs to be “close enough” to being mapped onto by $\mathcal{F}$  an object must either be mapped onto by $\mathcal{F}$ or be isomorphic to such an object. Seems reasonable! Similarly, one can show that if two objects in the source category are mapped onto the same object by an equivalence of categories, then those objects were in fact isomorphic.
Note as well that fullness does not imply that $\mathcal{F}$ is surjective on morphisms, and faithfulness does not imply that $\mathcal{F}$ is injective on morphisms. However these conditions imply that the structure of the category is preserved, even if some of the finest details are lost. Some of the examples which we will see will highlight what I mean. To be slightly more precise, if a functor is an equivalence of categories, then it has an “inverse” for which the composites are naturally isomorphic to the identity functors.
This is the idea for the other equivalent definition  in category theory, we have a notion of “morphisms between functors” called natural transformations  however I don’t want to get into these details (partially because I don’t know how to draw commutative diagrams on my blog)  see the text linked in a few paragraphs if you want to learn more). I find the latter definition to be easier to understand once the notion of a natural transformation is understood, but understanding why natural transformations are indeed “natural” can take a while! Anyways, let’s look at some examples of equivalences of categories.
Examples:
 We have an equivalence of categories $\textbf{Mat}_k \cong \textbf{Vect}^{\text{fd}}_k$, sending a positive integer $n$ to an arbitrary $n$dimensional vector space, and a vector space homomorphism to a matrix after a choice of basis (note this choice is noncanonical). This is the categorical version of the statement “all finitedimensional vector spaces are isomorphic to $k^n$.”
 We have an equivalence of categories $\textbf{Rep}_{kG}\cong {}_{kG}\textbf{mod}$ which was described in the first blog post.
 Given a category $\mathcal{C}$, we define the skeleton of $\mathcal{C}$ to be the category in which we identify all isomorphic objects of $\mathcal{C}$ together (what we do on morphisms is a bit more detailed, but don’t worry about it). Then $\mathcal{C}$ is always isomorphic to its skeleton.
 In particular, if $\mathcal{C}$ is a oneobject category with only the identity morphism, and $\mathcal{D}$ is a $n$object category with all objects isomorphic, then $\mathcal{C} \cong \mathcal{D}$. As an exercise, try constructing the equivalences of categories in both directions, and see that they aren’t necessarily surjective or injective on morphisms, yet are both full and faithful!
This is the end of our introduction to category theory  there are plenty of topics which are essential to having a full grasp on the subject (natural transformations, contravariant functors, adjoint pairs, and limits/colimits perhaps being the main topics omitted), but in the interest of building up to my dissertation question, it’s best we move on, as we have everything we need for now. If you are interested in learning more about general category theory, I highly recommend Emily Riehl’s (free) textbook, Category Theory In Context, which is the text I learned from! This and MacLane’s “Categories for the Working Mathematician” are the canonical texts to learn from, from what I’ve seen.
Morita Equivalences
Let’s apply category theory to what we’ve been focusing on prior to this post, modules, and in particular, $kG$modules. Now we have a way of giving structure to a space of things via categories, and a way of asking when two spaces of things are equivalent in some way. In the module case, it is a straightforward exercise to show that if two rings $R$ and $S$ are isomorphic, then there are equivalences of categories ${}_R\textbf{Mod} \cong {}_S\textbf{Mod}$ and ${}_R\textbf{mod} \cong {}_S\textbf{mod}$. As an exercise, try to come up with a functor that is an equivalence! One reasonable question to ask then is if the converse holds: if ${}_R\textbf{Mod} \cong {}_S\textbf{Mod}$, then is there an isomorphism $R \cong S$?
The answer, it turns out, is no! Perhaps the easiest example to give is ${}_k\textbf{Mod} \cong {}_{\text{Mat}_n(k)}\textbf{Mod}$ for any natural number $n$. This may seem rather counterintuitive  how could two different rings give rise to the same space of modules? But such equivalences do indeed exist. A celebrated theorem by Kiiti Morita gives a precise criteria for when such an equivalence exists  these equivalences can be parameterized by certain bimodules that have an “invertibility” condition. We state (part of the) theorem here, in the situation where $R$ and $S$ are $k$algebras:
Theorem: (Morita) The following are equivalent:
 ${}_R\textbf{Mod} \cong {}_S\textbf{Mod}$
 ${}_R\textbf{mod} \cong {}_S\textbf{mod}$

There exists an $(R,S)$bimodule $M$ and a $(S,R)$bimodule $N$ such that
\[M \otimes_S N \cong R,\quad N\otimes_R M \cong S,\]with $M$ and $N$ finitely generated and projective when considered as left or right modules.
In this case, the equivalence of categories is induced by the functors $M \otimes_S : {}_S\textbf{Mod} \to {}_R\textbf{Mod}$ and $N \otimes_R : {}_R\textbf{Mod} \to {}_S\textbf{Mod}.$
I glossed over how tensor products work earlier (maybe I shouldn’t have) but they key reason why these functors induce equivalences of categories is that for any $k$algebra $A$ considered as an $(A,A)$bimodule, and any left $A$module $M$, there is a (natural) isomorphism of left $A$modules $A\otimes_A M \cong M$. So composition of the above functors gives us a (natural) isomorphism for any $R$module $V$,
\[(M\otimes_R N) \otimes_S V \cong S \otimes_S V \cong V\]and similarly for $S$modules. So in a sense, $M$ and $N$ are “invertible” bimodules, in the sense of tensor products. We say in this case that $M$ and $N$ induce a Morita equivalence between $R$ and $S$, and that $R$ and $S$ are Morita equivalent. In particular, in the representation theoretic case, given two groups $G$ and $H$, we can ask if $kG$ and $kH$ are Morita equivalent.
More commonly however, we look for Morita equivalences between blocks (which recall, are the indecomposable direct summands of $kG$ when considered as a $(kG,kG)$bimodule). As it turns out, there are many of these underlying connections. Though globally, two algebras $kG$ and $kH$ may not be Morita equivalent, they can share Morita equivalent blocks. Finding where these equivalences arise, or classifying all the different Morita equivalence classes of certain classes of blocks (such as blocks which share a defect group), is one of the big questions of modular representation theory.
However, sometimes a Morita equivalence can be too strict of a notion of an equivalence of module categories. As it turns out, there are weaker notions of equivalence that we can define, which involve the construction of new types of categories, namely the homotopy and derived categories of a module category. Next time, we will describe these constructions, and define what the first kind of equivalence I work with, a splendid equivalence, is!
Bibliography:
 Linkelmann, “The Block Theory of Finite Group Algebras”
 Riehl, “Category Theory in Context”