scipy.linalg.
companion#
- scipy.linalg.companion(a)[source]#
创建伴随矩阵。
创建与多项式相关的伴随矩阵[1],该多项式的系数由a给出。
- 参数:
- a(…, N) array_like
多项式系数的一维数组。a的长度必须至少为二,且
a[0]
不能为零。M维数组被视为批处理:沿最后一个轴的每个切片都是一个一维多项式系数数组。
- 返回:
- c(…, N-1, N-1) ndarray
对于一维输入,c的第一行是
-a[1:]/a[0]
,第一个次对角线全为一。数组的数据类型与1.0*a[0]
的数据类型相同。对于批处理输入,输出的最后两个维度上形状为(N-1, N-1)
的每个切片都对应于输入的最后一个维度上形状为(N,)
的切片。
- 抛出:
- ValueError
如果以下任何条件为真:a)
a.shape[-1] < 2
;b)a[..., 0] == 0
。
备注
0.8.0 版本新增。
参考文献
[1]R. A. Horn & C. R. Johnson, Matrix Analysis. 英国剑桥:剑桥大学出版社,1999,第146-7页。
示例
>>> from scipy.linalg import companion >>> companion([1, -10, 31, -30]) array([[ 10., -31., 30.], [ 1., 0., 0.], [ 0., 1., 0.]])