scipy.linalg.companion#
- scipy.linalg.companion(a)[source]#
Create a companion matrix.
Create the companion matrix [1] 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 of1.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
Added in version 0.8.0.
References
[1]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.]])