scipy.linalg.

toeplitz#

scipy.linalg.toeplitz(c, r=None)[源]#

构造一个 Toeplitz 矩阵。

Toeplitz 矩阵的对角线元素保持不变,其中 c 是其第一列,r 是其第一行。如果未给出 r,则假定 r == conjugate(c)

参数:
c类数组

矩阵的第一列。

r类数组,可选

矩阵的第一行。如果为 None,则假定 r = conjugate(c);在这种情况下,如果 c[0] 是实数,结果将是一个 Hermitian 矩阵。r[0] 被忽略;返回矩阵的第一行是 [c[0], r[1:]]

警告

从 SciPy 1.17 开始,多维输入将被视为批次,而不是展平 (ravel) 的。为了保留现有行为,请在将参数传递给 toeplitz 之前将其展平 (ravel)。

返回:
A(len(c), len(r)) ndarray

Toeplitz 矩阵。数据类型 (Dtype) 与 (c[0] + r[0]).dtype 相同。

另请参阅

circulant

循环矩阵

hankel

Hankel 矩阵

solve_toeplitz

求解 Toeplitz 系统。

备注

cr 为标量,或当 c 为复数且 r 为 None 时的行为,已在 0.8.0 版本中更改。以前版本中的行为未被文档化,且不再受支持。

示例

>>> from scipy.linalg import toeplitz
>>> toeplitz([1,2,3], [1,4,5,6])
array([[1, 4, 5, 6],
       [2, 1, 4, 5],
       [3, 2, 1, 4]])
>>> toeplitz([1.0, 2+3j, 4-1j])
array([[ 1.+0.j,  2.-3.j,  4.+1.j],
       [ 2.+3.j,  1.+0.j,  2.-3.j],
       [ 4.-1.j,  2.+3.j,  1.+0.j]])