scipy.linalg.
fiedler_companion#
- scipy.linalg.fiedler_companion(a)[源代码][源代码]#
返回一个 Fiedler 伴随矩阵
给定一个多项式系数数组
a
,此函数形成一个具有特殊结构的五对角矩阵,其特征值与a
的根重合。- 参数:
- a(N,) 数组类
按降序排列的多项式系数的一维数组,且首项系数非零。对于
N < 2
,返回一个空数组。
- 返回:
- c(N-1, N-1) ndarray
结果伴随矩阵
参见
注释
类似于
companion
,首项系数应为非零。如果首项系数不是 1,则在数组生成之前会对其他系数进行重新缩放。为了避免数值问题,最好提供一个首一多项式。Added in version 1.3.0.
参考文献
[1]M. Fiedler, “ A note on companion matrices”, Linear Algebra and its Applications, 2003, DOI:10.1016/S0024-3795(03)00548-2
示例
>>> import numpy as np >>> from scipy.linalg import fiedler_companion, eigvals >>> p = np.poly(np.arange(1, 9, 2)) # [1., -16., 86., -176., 105.] >>> fc = fiedler_companion(p) >>> fc array([[ 16., -86., 1., 0.], [ 1., 0., 0., 0.], [ 0., 176., 0., -105.], [ 0., 1., 0., 0.]]) >>> eigvals(fc) array([7.+0.j, 5.+0.j, 3.+0.j, 1.+0.j])