标签: lapack++

用C++求解正规方程组

我想解决线性方程组:

 Ax = b
Run Code Online (Sandbox Code Playgroud)

A是n x m矩阵(不是正方形),b和x都是n x 1矢量.在已知A和b的情况下,n约为50-100,m约为2(换句话说,A可以是最大值[100×2]).

我知道解决方案x:$x = \inv(A^T A) A^T b$

我找到了几种方法来解决它:uBLAS(Boost),Lapack,Eigen等等但我不知道使用这些包的'x'的CPU计算时间有多快.我也不知道这个数字是否快速为什么解决'x'

对我来说重要的是,由于我是新手,CPU计算时间尽可能短,文档也很好.

在求解正规方程后,Ax = b我想使用回归来改进我的近似,并且可能稍后应用卡尔曼滤波器.

我的问题是哪个C++库是robuster,并且我在上面描述的需求更快?

c++ boost linear-regression lapack++ eigen

7
推荐指数
2
解决办法
3268
查看次数

windows下如何使用lapack

我想使用 lapack 并为其制作 C++ 矩阵包装器,但 lapack 是用 Fortran 编写的,有一些 clapack 但我想从源代码使用它。首先将 *.f 和 *.cpp 文件编译为目标文件,然后将其链接到应用程序中。

我拥有以下应用程序和来源。

  • Visual Studio 教授版、dev c++、ultimate++、mingw 等等
  • g95 和 gfortran(在 mingw 下)编译器
  • lapack(最新来源)
  • blas(包含在 lapack 中)

我该如何申请,请帮忙...

我的操作系统是 Windows 7 和 CPU Core2Duo,并且我没有 Intel 数学内核

c++ windows fortran lapack lapack++

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

低内存消耗的C ++本征求解器

我是C ++编程的新手,但我有一个任务是为尺寸很大的矩阵计算对称矩阵(和Hermitian)的特征值和特征向量(标准本征问题Ax = lx)):Binomial(L,L / 2)其中L大约是18-22岁。现在,我正在具有7.7 GB可用内存的机器上对其进行测试,但最终我将可以访问具有64GB RAM的PC。

我从Lapack ++开始。一开始,我的项目假设仅针对对称实矩阵解决此问题。

这个图书馆很棒。非常快速且占用少量RAM。它具有计算特征向量并将其放置在输入矩阵A中的选项,以节省内存。有用!我以为Lapack ++ eigensolver可以处理Hermitian矩阵,但是由于未知的原因而不能(也许我做错了)。我的项目不断发展,对于埃尔米特矩阵,我也应该能够计算出这个问题。

因此,我尝试将库更改为Armadillo库。它可以正常工作,但是不如Lapack ++取代mat Aall eigenvec,但它当然支持埃尔米特矩阵。

L = 14的一些统计

  • Lapack ++ RAM 126MB时间7.9s本征+本征向量

  • 犰狳 RAM 216MB时间12s本征

  • Armadillo RAM 396MB时间15s本征值+本征向量

让我们做一些计算:double变量大约是8B。我的矩阵的大小为 binomial(14,7)= 3432,因此在理想情况下它应具有3432 ^ 2 * 8/1024 ^ 2 = 89 MB

我的问题是:是否可以修改或强制ArmadilloLapack ++一样做一个不错的技巧?犰狳的用法LAPACKBLAS例程。或者,也许有人可以推荐使用另一个库解决此问题的另一种方法? …

c++ eigenvalue eigenvector lapack++ armadillo

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

Lapackpp vs Boost BLAS

首先,我是 C++ 新手。

我正在为我的硕士论文编写一个程序,其中一部分假设以递归方式解决回归问题。

我想解决:

Ax = y
Run Code Online (Sandbox Code Playgroud)

就我而言,计算速度不可忽视,这就是我想知道 Boost::BLAS 是否使用

x = (A^T A)^{-1}A^Ty
Run Code Online (Sandbox Code Playgroud)

需要比 Lapackpp 更少的计算时间(我使用的是 gentoo)。

PS 我能够在 Lapackpp 项目站点找到类文档,但找不到示例。有人可以给我提供一些例子,以防 Lapack 比 Boost::BLAS 更快吗

谢谢

c++ boost linear-algebra linear-regression lapack++

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