小编Den*_*nis的帖子

矩阵重新排序以阻止对角线形式

给出一个稀疏矩阵,如何通过行和列置换重新排序行和列,使其呈块对角线形式?

行和列排列不一定像反向 Cuthill-McKee 排序那样耦合:http : //www.mathworks.com/help/matlab/ref/symrcm.html? refresh=true 总之,您可以独立执行任何行或列排列.

总体目标是将所有非零元素聚集到对角线上。

algorithm matlab matrix linear-algebra graph-algorithm

5
推荐指数
1
解决办法
2846
查看次数

通过删除行和列使奇异矩阵非奇异

我有一个大的稀疏方阵n和n,它的等级略低于n,比方说m.我希望通过某个规则删除行和列来使其成为非单数形式.规则是如果你删除第i行,你也必须删除第i列,这样矩阵总是方形的.这有效地删除了邻接图中的节点.

我的第一个问题是:是否总是存在这样的nm行和列的组合,我可以将其移除,使得m个子矩阵的剩余m在结构上是非奇异的.

我的第二个问题是:是否存在一种有效的算法来通过p非奇异子矩阵获得ap而不会删除过多的行和列

为了提供更多的上下文,我正在处理的矩阵大约是1000乘1000,稀疏度接近0.05

algorithm matlab graph linear-algebra graph-algorithm

1
推荐指数
1
解决办法
1028
查看次数

c ++ vector <vector <int >>如何管理内存

向量容器将对象保存在连续内存中。对于矢量这样的情况,很容易理解。但是,如果它是向量的向量,例如向量>,该向量的向量中的每个向量可以具有不同的长度。它如何管理内存?每次我们插入新向量时,它是否分配固定长度的向量?如果是这样,如果在push_back期间第一个向量超出大小,将会发生什么。它会触发矢量重新分配和复制/移动的完整矢量吗?

c++ memory-management vector

1
推荐指数
1
解决办法
65
查看次数