Suppose we have an arbitrary algebra \(\langle\, \mathrm{A}, \star, \dots \,\rangle \). A **subalgebra** will be an algebra (usually of the same kind as the original) whose universe is a subset of \(\mathrm{A}\), and uses the same operations \(\star, \dots\)

For example, we said that one group is \(\langle\, \mathbb{Z}, +, 0 \,\rangle \). A subgroup of this would be \(\langle\, \mathbb{E}, +, 0 \,\rangle \), where \(\mathbb{E}\) is the set of even *integers* (earlier I used that symbol to represent the set of even *numbers*, that is, integers \(\ge 0\)). Note that this subset of the original universe is closed under \(+\) and includes the \(+\)-inverses of every element it includes; if it didn't, our subalgebra here wouldn't count as a group.

An important result in group theory states that the size of any subgroup---that is, the number of elements in its universe---is a divisor (without remainder) of the size of the original group.

Two alegbras are said to be **isomorphic** when there's a translation between them that preserves all of their structure. It's as though the algebras differ only in terms of the "names" of their elements and operations. Such a translation is called an **isomorphism**.

What "preserving all the structure" involves will depend on what kind of algebra we're talking about. For example, if \(\langle\, \mathrm{A},\star,a_0 \,\rangle \) and \(\langle\, \mathrm{B},\bullet,b_0 \,\rangle \) are two *groups*, then an isomorphism between them will be a bijective function \(f\) such that for all \(x,y\in \mathrm{A}\):

\(f(x\star y) = f(x) \bullet f(y)\)

Further, the identity \(a_0\) of the first group will be such that \(f(a_0) =\) the identity \(b_0\) of the second group. Further, where \(x\in \mathrm{A}\) and \(\bar{x}\) is its inverse wrt \(\star\), then \(f(\bar{x})\) will be the inverse of \(f(x)\) wrt \(\bullet\).

Some of the requirements I just listed are redundant: it can be proved that if we only insist on a smaller list of requirements, we get the others for free. But I've spelled this out more explicitly so as to illustrate what's meant by the desideratum that \(f\) preserves the structure of the algebra it's translating from. The idea is: it doesn't matter whether you perform \(\star\) first, and then translate into the \(\langle\, \mathrm{B},\bullet,b_0 \,\rangle \) group, or translate first and then perform \(\bullet\).

When there exists at least one isomorph*ism* between two algebras, then they count as isomorph*ic*. The symbol \(\cong\) is commonly used to express the relation of being isomorphic to.

Here's an example of an isomorphism, from the group \(\langle\, \{\, 1,2,3,4 \,\}, * \bmod 5, 1 \,\rangle \) to the group \(\mathbb{Z}_4 = \langle\, \{\, 0,1,2,3 \,\}, + \bmod 4, 0 \,\rangle \):

\(f(1) = 0\)

\(f(2) = 1\)

\(f(3) = 3\)

\(f(4) = 2\)

We'll see another example at the end of this page.

Notice that in the example above, the isomorphism was a bijective function between the algebras' universes. This is a general requirement: the kinds of translations that are called "isomorphisms" have to be bijections.

However, there is a more general notion which relaxes that requirement. These more general translations are called **homomorphisms** or sometimes just **morphisms**. I'll call them (homo)morphisms.

Don't confuse this with the notions of *hom*eo*morphisms* and *homotopy*, which are used to express ideas like your coffee mug being topologically equivalent to a donut. Those aren't notions we'll be talking about. *Homology* is yet another notion with a similar-sounding name---also with connections to topology---that is different from what we're talking about here.

As with isomorphisms, let's still require a (homo)morphism to be a function from one universe *onto* the other (sometimes this isn't required). And it still has to be the case that \(f(x\star y) = f(x)\bullet f(y)\) and so on. But we will lift the restriction that the translation function be injective.

For example, consider the groups \(\mathbb{Z}_6 = \langle\, \{\, 0,1,2,3,4,5 \,\}, + \bmod 6, 0 \,\rangle \) and \(\mathbb{Z}_3 = \langle\, \{\, 0,1,2 \,\}, + \bmod 3, 0 \,\rangle \), and the function \(f\) defined as follows:

\(f(0) = 0\)

\(f(1) = 1\)

\(f(2) = 2\)

\(f(3) = 0\)

\(f(4) = 1\)

\(f(5) = 2\)

This function \(f\) is a (homo)morphism between our two groups. It's not an isomorphism because we've collapsed some distinct elements of the first group into single elements of the second group. Of course, the fact that *this* function \(f\) is not an isomorphism between the groups is compatible with there being some *other* function which is. However, as a matter of fact no isomorphism exists in this case and these two groups are merely homomorphic.

A (homo)morphism gives us a way of retaining *some* structure from the original algebra, but perhaps disregarding other parts of its structure.

Sometimes (homo)morphisms are functions from one algebra onto *that very same algebra*. This doesn't necessarily mean they are bijections. If the universe of the source algebra is infinite, it can be mapped onto itself while at the same time collapsing several elements from the source into a single element in the target. Here's an example of this; it's reminiscent of the homomorphism from \(\mathbb{Z}_6\) to \(\mathbb{Z}_3\) described above. Consider all the rational numbers \(0\le q \lt 1\). Let that be the universe of a group. The operation on our group is addition mod \(1\). That is, \(\frac12 \star \frac34 = \frac14\), and so on. Now we are going to describe a (homo)morphism from the group onto itself. It maps every element of our group to twice its value---except we wrap around when we get values \(\ge 1\). So, for example, \(\frac14\) gets mapped to \(\frac12\), but so too does \(\frac34\). Given how dense our group's universe was to start with, every value in the "target" will get at least one (and indeed, will get exactly two) values from the "source" mapped onto it. The group we end with is the very same group we started with: the rationals from \(0\) up to (but not including) \(1\), with the operation of addition mod \(1\). So this is a (homo)morphism from a group onto itself, where the translation is onto but not injective.

(Homo)morphisms from an algebra onto itself, whether bijections or not, are called **endomorphisms**. I don't expect you to remember their name.

When we have a endomorphism that *is* bijective---that is, an *iso*morphism from an algebra onto that very same algebra---this is called an **automorphism**.

Every algebra has a "trivial" automorphism, which is just the identity function on its elements. In some cases, there are also other more interesting automorphisms from the algebra onto itself. These are easier to illustrate than endomorphisms which aren't isomorphisms. For example, consider the isomorphism that maps \(\mathbb{Z}_4\) onto itself, where:

\(f(0) = 0\)

\(f(1) = 3\)

\(f(2) = 2\)

\(f(3) = 1\)