Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy中的超对角非方矩阵?_Python_Numpy_Matrix - Fatal编程技术网

Python numpy中的超对角非方矩阵?

Python numpy中的超对角非方矩阵?,python,numpy,matrix,Python,Numpy,Matrix,使用numpy,我想创建一个几乎是正方形的超对角矩阵。它在正方形部分的右侧或左侧有额外的零。下面的代码片段给出了我想要的结果,但阅读起来有点棘手,而且矩阵类型在我看来非常常见,应该有一种惯用的方法来构造它 在numpy中,构建如下“填充眼睛”的最简单方法是什么 将numpy导入为np 尺寸=5 焊盘宽度=3 左加垫眼=np.块([np.零((尺寸,垫宽)),np.眼(尺寸)]) 右加垫眼=np.块([np.眼(尺寸),np.零((尺寸,垫宽))) np.eye可以直接做到这一点 >>

使用numpy,我想创建一个几乎是正方形的超对角矩阵。它在正方形部分的右侧或左侧有额外的零。下面的代码片段给出了我想要的结果,但阅读起来有点棘手,而且矩阵类型在我看来非常常见,应该有一种惯用的方法来构造它

在numpy中,构建如下“填充眼睛”的最简单方法是什么

将numpy导入为np
尺寸=5
焊盘宽度=3
左加垫眼=np.块([np.零((尺寸,垫宽)),np.眼(尺寸)])
右加垫眼=np.块([np.眼(尺寸),np.零((尺寸,垫宽)))

np.eye
可以直接做到这一点

>>> np.eye(size, size+pad_width, pad_width)
array([[0., 0., 0., 1., 0., 0., 0., 0.],
       [0., 0., 0., 0., 1., 0., 0., 0.],
       [0., 0., 0., 0., 0., 1., 0., 0.],
       [0., 0., 0., 0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 0., 0., 0., 1.]])
>>> np.eye(size, size+pad_width)
array([[1., 0., 0., 0., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0., 0., 0., 0.],
       [0., 0., 1., 0., 0., 0., 0., 0.],
       [0., 0., 0., 1., 0., 0., 0., 0.],
       [0., 0., 0., 0., 1., 0., 0., 0.]])