scipy.linalg.

toeplitz#

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

构造一个托普利茨矩阵。

托普利茨矩阵具有恒定的对角线,其中 c 作为其第一列,r 作为其第一行。 如果未给出 r,则假定 r == conjugate(c)

参数:
carray_like

矩阵的第一列。

rarray_like, 可选

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

警告

从 SciPy 1.17 开始,多维输入将被视为一个批次,而不是 ravel 化的。 为了保留现有行为,请在将参数传递给 toeplitz 之前 ravel 这些参数。

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

托普利茨矩阵。 Dtype 与 (c[0] + r[0]).dtype 相同。

另请参见

circulant

循环矩阵

hankel

汉克尔矩阵

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