【发布时间】:2011-01-01 19:52:51
【问题描述】:
首先,我是 C++ 的新手。
我正在为我的硕士论文编写一个程序,其中的一部分假设以递归方式解决回归问题。
我想解决:
Ax = y
在我的情况下,计算速度是不可忽视的,这就是我想知道是否使用 Boost::BLAS
x = (A^T A)^{-1}A^Ty
将需要比 Lapackpp 更少的计算时间(我使用的是 gentoo)。
附: 我可以在 Lapackpp 项目站点找到 Class 文档,但没有找到示例。有人可以给我一些例子,以防 Lapack 比 Boost::BLAS 更快
谢谢
【问题讨论】:
-
矩阵是密集的还是稀疏的,检查 uBlas 数字绑定,他们已经实现了许多绑定 AFAIK。既然你正在尝试使用 lapack,我认为矩阵是密集的......为什么我们那么奇怪 (A^T A)^{-1}A^T??
-
所有元素都不同,然后为零,协方差指标应该是双倍 (2x2)。如果您能告诉我如何将数学方程式放入 stackoverflow,我会更乐意更改我的符号 (A^T A)^{-1}A^T)
-
(A^T A)^{-1}A^T是 A 的 psudo-inverse。您可能希望使用库附带的 psudo-inverse 函数,而不是使用此公式计算它。 -
你的硕士学位是什么学科?
标签: c++ boost linear-algebra linear-regression lapack++