A
[matrix polynomial](http://en.wikipedia.org/wiki/Matrix_polynomial)
is a polynomial whose variables are square $n \times n$ matrices,
let's say with entries in $\mathbb{C}$, and with coefficients in $\mathbb{C}$.
I am seeking a source of results on solving such equations.


For example, $X^2 =0$ has infinitely many solutions, because, e.g.,
$$ X =
\left( \begin{array}{ccc}
0 & 0 & x \\
0 & 0 & 0 \\
0 & 0 & 0 \end{array} \right)
$$
is a solution for all $x \in \mathbb{C}$.


(*Second example removed, as it did not fit the definition.*)


There is such a rich set of results on roots of polynomial equations over $\mathbb{C}$
and over $\mathbb{R}$, I am hoping there are analogs when the variables are matrices
rather than single elements of fields. But my (superficial) explorations did
not uncover a comprehensive source on this topic.


To pose a specific question:



> 
> **Q**. Are there theorems that yield the number of solutions/roots
>  for such matrix polynomial equations?
> 
> 
> 



Source for roots of matrix polynomials?
As Geoff Robinson says, a Jordan form takes you quite far. Evaluating a scalar polynomial (or an analytic function) $f(x)$ at a Jordan block $J\_{\lambda,t}$ of size $t$ and eigenvalue $\lambda$ gives the triangular Toeplitz matrix
$$
f(J\_{\lambda,t})=
\begin{bmatrix}
f(\lambda) & f'(\lambda) & f''(\lambda) & \dots & f^{t-1}(\lambda)\\
0 & f(\lambda) & f'(\lambda) & \ddots & \vdots\\
0 & 0 & \ddots & \ddots & \vdots \\
\vdots & \vdots & \ddots & \ddots & \vdots\\
0 & 0 & \dots & 0 & f(\lambda)
\end{bmatrix}.
$$
So evaluating $f(A)$ where $A$ has Jordan form $A=M (\bigoplus J\_{\lambda\_i,t\_i}) M^{-1}$ gives $M(\bigoplus f(J\_{\lambda\_i,t\_i}))M^{-1}$.


In other words, for $f(A)$ to be zero, $f$ needs to satisfy $f(\lambda)=0,f'(\lambda)=0,f''(\lambda)=0,\dots,f^{(t-1)}(\lambda)=0$, for each eigenvalue $\lambda$ of $A$ with algebraic multiplicity $t$. Conversely, given $f$, the matrices at which it vanishes are all those who have eigenvalues equal to the scalar roots of the polynomial, with algebraic multiplicities smaller or equal than their multiplicities as scalar roots of $f$. This is just a complicated way to state that $f$ has to be a multiple of the minimal polynomial of $A$ (which sounds quite obvious).


This solves completely your first example; as for the second, it doesn't quite fit your definition, as has been pointed out in the comments.


A reference for the computation of $f(J\_{\lambda,t})$, and other equivalent definitions of functions evaluated at a matrix argument, is Chapter 1 of Higham, *Functions of matrices*.


