scipy.linalg.
伴随矩阵#
- scipy.linalg.companion(a)[源代码]#
创建伴随矩阵。
创建与多项式相关的伴随矩阵 [1],该多项式的系数在 a 中给出。
- 参数:
- a(…, N) 数组型
多项式系数的一维数组。a 的长度必须至少为 2,并且
a[0]
不能为零。 M 维数组被视为一个批次:沿最后一个轴的每个切片都是多项式系数的一维数组。
- 返回:
- c(…, N-1, N-1) ndarray
对于一维输入,c 的第一行为
-a[1:]/a[0]
,第一个次对角线全为 1。数组的数据类型与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, 矩阵分析. 英国剑桥:剑桥大学出版社,1999 年,第 146-7 页。
示例
>>> from scipy.linalg import companion >>> companion([1, -10, 31, -30]) array([[ 10., -31., 30.], [ 1., 0., 0.], [ 0., 1., 0.]])