计算对角块矩阵中块的坐标

丹尼尔·加拉维托(Daniel Garavito)

我有一个对角线块矩阵,我想要每个块的坐标(行,列)

a = np.zeros((25,18), dtype=int)    
a[2:8,:6]=1

a[8:13,6:12]=1

a[13:15,12:14]=1

a[15:20,14:]=1

和输出

 [(2, 0), (8, 6), (13, 12), (15, 14)]

谢谢!

n

如您的示例中所示,如果每一列都包含一个或其他块,则可以通过扫描每一列中的第一个非零条目并跟踪相应的行来获取每个块的坐标:

In [1]: import numpy as np
In [2]: a = np.zeros((25,18), dtype=int)    
In [3]: a[2:8,:6]=1
In [4]: a[8:13,6:12]=1
In [5]: a[13:15,12:14]=1
In [6]: a[15:20,14:]=1
In [7]: rows = set()
In [8]: blocks = []
In [9]: for col in range(a.shape[1]):
            row = np.argmax(a[:,col])
            if row not in rows:
                rows.add(row)
                blocks.append((row, col))
....:         

In [10]: blocks
Out[10]: [(2, 0), (8, 6), (13, 12), (15, 14)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Clojure中的块对角矩阵

来自分类Dev

Matlab中的扩展块对角矩阵

来自分类Dev

MATLAB中对角块矩阵的多个块的单次访问

来自分类Dev

从numpy / theano中的许多小矩阵构建块对角矩阵

来自分类Dev

如何计算块中的协方差矩阵?

来自分类Dev

建立块三对角矩阵

来自分类Dev

块对角化J×2矩阵的行

来自分类Dev

从矩阵中提取块对角线

来自分类Dev

从矩阵中提取块对角线

来自分类Dev

将多个常数转换为矩阵并将其转换为Matlab中的块对角矩阵

来自分类Dev

我如何构建一个函数来提取R中较大的对角块矩阵

来自分类Dev

块中字符的“行列坐标”

来自分类Dev

计算块中的中断

来自分类Dev

Python:如何创建以块矩阵为对角线的对角矩阵

来自分类Dev

Numpy中的乘法块矩阵

来自分类Dev

在Numpy中乘以块矩阵

来自分类Dev

Python中的块矩阵分配

来自分类Dev

用某些块作为变量CVXPY建立对角线块矩阵

来自分类Dev

我如何构建一个函数来提取R中较大的对角线块矩阵

来自分类Dev

计算熊猫中的重复块

来自分类Dev

网格中块的宽度计算

来自分类Dev

在numpy中创建此块矩阵

来自分类Dev

Matlab中的矩阵块索引和掩码

来自分类Dev

沿其对角线用不同的零块重复矩阵乘法

来自分类Dev

仅计算R中矩阵乘法的对角线

来自分类Dev

在Matlab中仅计算矩阵乘积的对角线

来自分类Dev

在Matlab中仅计算矩阵乘积的对角线

来自分类Dev

矩阵->块除法

来自分类Dev

MPI块矩阵乘法