首页 > 解决方案 > Eigen:计算稀疏 A 的 (A^T * A) 的快速方法

问题描述

我想解决稀疏 (crs/ccs) 矩阵的一系列最小二乘问题(基本上是高斯牛顿求解器)A。最耗时的操作之一是H = A^T * A产品。A具有不同的数值,但具有相同的稀疏度,因此H在计算过程中稀疏度是恒定的。假设A行多于列。

我的主要问题是:真正快速执行该产品的正确方法是什么?我知道无矩阵求解器,但目前我想探索分析解决方案。

我还有几个小问题

1)仅计算三角形部分优化(Eigen lib 中的稀疏稀疏乘积 A^T*A optim)在存在矢量化的情况下是否有意义?

2)我如何告诉特征稀疏性H是恒定的?所以 eigen 应该使用已经预先分配的缓冲区并且不应该检查结果模式。

3) 和 的哪个顺序对A,行专业或列专业H更有利?H = A^T * A

谢谢你的回答,对不起我的英语

标签: c++sparse-matrixeigenleast-squareseigen3

解决方案


推荐阅读