如何使用循环而不是内置函数在 Python 中生成 Toeplitz 矩阵

How to generate a Toeplitz matrix in Python using a loop instead of built-in function

我正在尝试在 Python

中使用 for 循环生成一个简单的 Toeplitz 矩阵
a = np.array([[3,4,6]])
b = np.zeros((np.size(a),np.size(a)))

b[0,:] = a
b[:,0] = a

for i in range(1,np.size(a)):
    for j in range(1,np.size(a)):
        a[i,j] = a[i-1,j-1]

应该有效,除非我遗漏了什么,但给出了这个错误:

    a[i,j] = a[i-1,j-1]

IndexError: index 1 is out of bounds for axis 0 with size 1

如何在没有 scipy 的内置 toeplitz() 函数的情况下制作 Toeplitz 你能帮忙吗?

我相信你的意思是

    b[i,j] = b[i-1,j-1]

不是a,显然只有一维。