问题标签 [armadillo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - 如何在使用犰狳的 Visual Studio 2008 项目中使用 LAPACK
我正在尝试使用开源库http://arma.sourceforge.net进行线性代数计算。犰狳中的一些函数如pinv使用 LAPACK。我编写了一段非常简单的代码来使用 Armadillo 计算 pinv,但它会产生运行时错误。这可能是因为我在 sln 文件中没有 LAPACK 链接器标志。
visual-studio-2008 - 为什么在 Windows 上安装 LAPACK 的预编译版本时会出错?
我正在尝试使用犰狳矩阵库来进行矩阵计算,它需要 BLAS 和 LAPACK。Armadillo 文档建议从http://www.stanford.edu/~vkl/code/libs.html获取预编译版本
里面有 .lib 和 .dll 文件。唯一的问题是我不知道如何让 Visual Studio (Express Edition 2008) 识别这些文件。我尝试将它们复制到 Visual C++ 的 include 和 lib 目录C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\
和C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\
,但它似乎没有做任何事情,因为当我尝试编译我的程序时,我得到很多“无法解析的外部符号”错误,说它找不到LAPACK 函数。
编辑:
以下是错误消息:
“ Cell3DXT
”、“ TwoCell3DXT
”和“ ThreeCell3DXT
”是我自己代码中的类。同样在上面的 LAPACK 和 BLAS 文件中,还有“.exp 文件”——它们是什么,它们与问题有关吗?
c++ - 在 Mac OS X 上安装 C++ Armadillo 库
我正在尝试在 Mac Pro 上使用 C++ 犰狳库 (armadillo-0.9.10)。我按照 README.txt 文件中的手动安装说明进行操作。我修改了 config.hpp 文件以表明我安装了 LAPACK 和 BLAS。然后我尝试编译示例。我成功编译并运行了 example1.cpp,但是当我尝试运行 example2.cpp 时,它报告我需要安装 ATLAS 或 LAPACK。我将#include 标头添加到example2.cpp 并使用-framework Accelerate 标志在makefile 中进行编译。但是,它仍然无法正常工作。是什么赋予了?我应该默认使用 Xcode 安装 LAPACK 和 BLAS,不是吗?这里的任何帮助都会很棒。谢谢谢谢!
matlab - 向量到矩阵犰狳
我想做一些类似于MATLAB
's 功能的事情:
但是在犰狳 c++ 库中,你知道怎么做吗?
c++ - XCode 4、Armadillo 和 XCode 标准库
我正在尝试编译我在 XCode 4 中使用犰狳的(非常基本的)程序,但是在编译犰狳时遇到了问题。
当我只做一个简单的makefile和clang ++时,它编译没有问题,但是使用XCode它似乎有严重的问题,弹出各种错误和警告,(当我在没有XCode的情况下构建它时,即使使用-Werrors,我一无所获,它构建干净)。
以下是其中的一些错误:
等等。我认为它们中的大多数都与标准库中没有的某些功能有关...... XCode 是否使用不同或不完整的标准库?我该如何改变它。
我真的只想使用 XCode 调试器,当我的代码没有运行时,它使事情变得更容易,而且有一个图形分析器也很好。
c# - C# 中的 C++ 犰狳代码
我想在 C# 应用程序中使用犰狳,任何人都有在 C# 中使用犰狳的经验,我不熟悉 C#。
我知道犰狳有一个.dll,无论如何要在c#中导入这个dll...
c++ - 我可以在 Armadillo 中实例化矩阵,然后在后面的代码行中将其设置为使用辅助内存吗?
我正在使用带有 RcppArmadillo 的犰狳。是否可以声明一个矩阵,arma::mat A
然后为我之前创建的这个矩阵分配一些内存arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true)
?
目的是从 Rcpp::NumericMatrix 创建一个犰狳矩阵,但只if()
满足特定条件。然后稍后在同一个函数中,我想使用该矩阵,但再次只if()
满足一个条件。
heap-memory - Armadillo:堆上的高效矩阵分配
我正在使用 Armadillo 来操作从 CSV 文件读取的 C++ 中的大型矩阵。
所以 x1,...,xk (k=20
比如说)是 X 的列。X 通常会有 2000 到 16000 的行。我的问题是:
如何将 X 分配(并随后解除分配)到堆(空闲存储)上?
Armadillo 文档的这一部分解释了垫子的辅助内存分配。这和堆分配一样吗?它需要矩阵维度的先验知识,在从 csv 读取 X 之前我不会知道:
任何建议将不胜感激。(我正在使用 g++-4.2.1;我当前的程序在我的 Macbook Pro 上本地运行良好,但是当我在大学的计算集群(Linux g++-4.1.2)上运行它时,我遇到了分段错误。程序太大,无法发布)。
编辑:我最终这样做了:
它首先在堆上分配内存,然后告诉矩阵 Z 使用它。
armadillo - NLopt 与犰狳数据
NLopt 目标函数如下所示:
x 是要优化的数据,grad 是梯度向量,my_func_data 保存附加数据。
我有兴趣将犰狳矩阵 A 和 B 提供给 void *my_func_data。
我摆弄犰狳的成员函数
这给了我一个指向矩阵 A 和 B 的指针。我正在考虑定义另一个指向这些指针的指针:
然后将 *CombineMat 作为 my_func_data 传递。
- 这是这样做的方法吗?好像很笨拙...
- 一旦通过了 CombineMat,当我在 myfunc 中时,如何将 void 类型重新转换为可用的东西?
回答
我在这里的帮助下回答了我自己的问题。
一旦进入 myfunc,C 中的数据可以转换回 Armadillo 矩阵,如下所示:
linker - Armadillo + BLAS + LAPACK:链接错误?
当我尝试编译 Armadillo 2.4.2 附带的 example1.cpp 时,我不断收到以下链接错误:
有人可以帮忙吗?我手动安装
- 最新版本的 BLAS
- lapack-3.4.0
- 升压1.48.0
- 最新版本的 ATLAS
我在 MacBook Pro 7,1 型号上使用 Ubuntu 11.04