scipy.linalg.

circulant#

scipy.linalg.circulant(c)[源代码]#

构造一个循环矩阵。

参数:
c(…, N,) array_like

矩阵的第一列。多维数组被视为一个批次:沿最后一个轴的每个切片是输出矩阵的第一列。

返回:
A(…, N, N) ndarray

一个循环矩阵,其第一列由 c 给出。对于批量输入,沿输出最后两个维度的形状为 (N, N) 的每个切片对应于沿输入最后一个维度的形状为 (N,) 的一个切片。

参见

toeplitz

托普利茨矩阵

hankel

汉克尔矩阵

solve_circulant

求解循环系统。

备注

在 0.8.0 版本中添加。

示例

>>> from scipy.linalg import circulant
>>> circulant([1, 2, 3])
array([[1, 3, 2],
       [2, 1, 3],
       [3, 2, 1]])
>>> circulant([[1, 2, 3], [4, 5, 6]])
array([[[1, 3, 2],
        [2, 1, 3],
        [3, 2, 1]],
       [[4, 6, 5],
        [5, 4, 6],
        [6, 5, 4]]])