#### Previous topic

scipy.linalg.circulant

#### Next topic

scipy.linalg.dft

# scipy.linalg.companion

`scipy.linalg.``companion`(a)

  Create a companion matrix.

  Create the companion matrix [R80] associated with the polynomial whose coefficients are given in a.

  Parameters:

  a : (N,) array_like

  > 1-D array of polynomial coefficients. The length of a must be at least two, and `a[0]` must not be zero.

  Returns:

  c : (N-1, N-1) ndarray

  > The first row of c is `-a[1:]/a[0]`, and the first sub-diagonal is all ones. The data-type of the array is the same as the data-type of `1.0*a[0]`.

  Raises:

  ValueError

  > If any of the following are true: a) `a.ndim != 1`; b) `a.size < 2`; c) `a[0] == 0`.

  Notes

  New in version 0.8.0.

  References

  [R80] | (1, 2) R. A. Horn & C. R. Johnson, Matrix Analysis. Cambridge, UK: Cambridge University Press, 1999, pp. 146-7.

  Examples

      >>> from scipy.linalg import companion
      >>> companion([1, -10, 31, -30])
      array([[ 10., -31.,  30.],
             [  1.,   0.,   0.],
             [  0.,   1.,   0.]])