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.]])