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
求解托普利茨系统。
说明
当 c 或 r 是标量,或者当 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]])