The companion matrix to a monic polynomial
(1)
|
is the square matrix
(2)
|
with ones on the subdiagonal and the last column given by the coefficients of . Note that in the literature, the companion matrix is sometimes defined with the rows and columns switched, i.e., the transpose of the above matrix.
When is the standard basis, a companion matrix satisfies
(3)
|
for , as well as
(4)
|
including
(5)
|
The matrix minimal polynomial of the companion matrix is therefore , which is also its characteristic polynomial.
Companion matrices are used to write a matrix in rational canonical form. In fact, any matrix whose matrix minimal polynomial has polynomial degree is similar to the companion matrix for . The rational canonical form is more interesting when the degree of is less than .
The following Wolfram Language command gives the companion matrix for a polynomial in the variable .
CompanionMatrix[p_, x_] := Module[ {n, w = CoefficientList[p, x]}, w = -w/Last[w]; n = Length[w] - 1; SparseArray[{{i_, n} :> w[[i]], {i_, j_} /; i == j + 1 -> 1}, {n, n}]]