循环内动态增长矩阵,最佳性能策略 我在C++中开发了一个估计算法,性能是KEX。基本上有一个循环,在每次迭代中,决定是向矩阵添加列向量还是删除列向量

循环内动态增长矩阵,最佳性能策略 我在C++中开发了一个估计算法,性能是KEX。基本上有一个循环,在每次迭代中,决定是向矩阵添加列向量还是删除列向量,c++,armadillo,C++,Armadillo,我已经实现了自己的矩阵和向量类,并使用Intel MKL进行矩阵运算。然而,在第一个版本之后,我现在正在考虑使用犰狳 我想知道循环中动态增长矩阵的最佳策略是什么。我知道矩阵的最大大小,所以我可以预先分配 首先,对于小矩阵(50 X 50),除了犰狳之外,还有其他矩阵库可以推荐吗 第二,用犰狳解决这个问题的最好办法是什么 无论使用什么库,循环中矩阵的增长都会影响性能。最好计算出最大矩阵大小,然后跟踪哪些列处于活动状态。在犰狳库中,活动列可以通过X.cols(向量列索引)轻松访问。或者(或者更慢)

我已经实现了自己的矩阵和向量类,并使用Intel MKL进行矩阵运算。然而,在第一个版本之后,我现在正在考虑使用犰狳

我想知道循环中动态增长矩阵的最佳策略是什么。我知道矩阵的最大大小,所以我可以预先分配

  • 首先,对于小矩阵(50 X 50),除了犰狳之外,还有其他矩阵库可以推荐吗

  • 第二,用犰狳解决这个问题的最好办法是什么


无论使用什么库,循环中矩阵的增长都会影响性能。最好计算出最大矩阵大小,然后跟踪哪些列处于活动状态。在犰狳库中,活动列可以通过X.cols(向量列索引)轻松访问。或者(或者更慢),您可以通过或增长/收缩矩阵,并感谢mtall!我想我会采纳你的建议,用固定大小的矩阵重写整个算法。