A characteristic polynomial is a polynomial representing an operator on a vector space. On a complex vector space, this
means that it is a polynomial whose roots are equal to the eigenvalues of the operator.
For example, if the operator in question is T on C^{3}, with T(z_{1}, z_{2}, z_{3}) =
(0, 2z_{2}, 3z_{3}), its eigenvalues are 0, 2 and 3, since 0(1,0,0) = T(1,0,0) = (0,0,0), 2(0,1,0) = T(0,1,0) = (0,2,0),
and 3(0,0,1) = T(0,0,1) = (0,0,3).
Any operator on a vector space has at most n distinct eigenvalues, where n is the dimension of the vector space. Since the vector space
in question here is three dimensional and we have three eigenvalues, we don't need to worry about multiplicity: all three eigenvalues have a multiplicity of 1. But we'll get to
that in a second.
The characteristic polynomial of an operator is the polynomial (z  λ_{1})^{d1}(z  λ_{2})^{d2}...(z  λ_{m})^{dm}
for all of the eigenvalues λ_{1}, ..., λ_{m} of the operator. Here, d_{1}... d_{m} represent the
multiplicities of the eigenvalues.
In our example above, T = (0, 2z_{2}, 3z_{3}), then, the characteristic polynomial is
z(z  2)(z  3), or z^{3}  5z^{2} + 6z.
Multiplicity corresponds, in a certain sense, to the number of eigenvectors in a particular basis that correspond to a particular eigenvalue.
More precisely, when the operator is written as an uppertriangular matrix over some basis, the multiplicity of an eigenvalue corresponds to the
number of times that eigenvalue appears on the diagonal of the matrix. Specifically, this refers to the dimension of the subspace of generalized
eigenvectors corresponding to the eigenvalue.
So, take the operator S = (0, 2z_{1}, z_{3}). This operator only has two eigenvalues, namely 0 and 1. We know that there must be
some higher multiplicities here, since the sum of the multiplicities of the eigenvalues of an operator must total the dimension of the vector space the
operator is over. However, when written as a matrix over the basis ((1,0,0), (0,1,0), (0,0,1)), this operator looks like:
[ 0 0 0 ]
[ 2 0 0 ]
[ 0 0 1 ]
which is not upper triangular, however, using the row matrix operations (note that this no longer corresponds to the same basis, but it does correspond to the operator over a basis  we just don't know what that basis is any more), we can convert it to:
[ 1 0 0 ]
[ 0 0 1 ]
[ 0 0 0 ]
which is upper triangular and still represents the operator over some basis. Thus we have that 0 has multiplicity 2, and 1's is 1, so the
characteristic polynomial of S = (0, 2z_{1}, z_{3}) is z^{2}(z  1), or z^{3}  z^{2}.
Reference: Linear Algebra Done Right, 2nd edition, by Sheldon Axler, pp 7778, 171173.
