Ceres Solver中的线性求解器类型(linear_solver_type)有多个选项,包括:

DENSE_QR:使用稠密QR分解方法求解线性方程组。适用于内存足够的小规模问题,求解速度较快。

DENSE_SCHUR:使用Schur补方法进行求解。适用于大规模问题,但内存消耗较大。

SPARSE_NORMAL_CHOLESKY:使用稀疏Cholesky分解方法求解正规方程。适用于具有稀疏结构的问题,例如SLAM问题,但求解速度较慢。

SPARSE_SCHUR:使用Schur补方法进行求解,其中Hessian矩阵的块对角线部分使用稀疏Cholesky分解方法,而其他部分使用稠密QR分解方法。适用于具有稀疏结构的大规模问题。

CGNR:共轭梯度法(Conjugate Gradient Normal Residual)。适用于具有稀疏结构的问题,但求解速度较慢。

DENSE_NORMAL_CHOLESKY:使用稠密Cholesky分解方法求解正规方程。适用于内存足够的小规模问题。

不同的线性求解器适用于不同类型的问题和数据结构,应根据问题的特点选择合适的线性求解器。如果不确定使用哪种线性求解器,可以尝试多个线性求解器并比较其性能。

posted on 2023-03-29 11:19  一抹烟霞  阅读(300)  评论(0编辑  收藏  举报

Live2D