问题标签 [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.

0 投票
2 回答
2139 浏览

visual-studio - 如何在使用犰狳的 Visual Studio 2008 项目中使用 LAPACK

我正在尝试使用开源库http://arma.sourceforge.net进行线性代数计算。犰狳中的一些函数如pinv使用 LAPACK。我编写了一段非常简单的代码来使用 Armadillo 计算 pinv,但它会产生运行时错误。这可能是因为我在 sln 文件中没有 LAPACK 链接器标志。

0 投票
2 回答
5759 浏览

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 文件”——它们是什么,它们与问题有关吗?

0 投票
3 回答
7527 浏览

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,不是吗?这里的任何帮助都会很棒。谢谢谢谢!

0 投票
1 回答
3436 浏览

matlab - 向量到矩阵犰狳

我想做一些类似于MATLAB's 功能的事情:

但是在犰狳 c++ 库中,你知道怎么做吗?

0 投票
1 回答
1235 浏览

c++ - XCode 4、Armadillo 和 XCode 标准库

我正在尝试编译我在 XCode 4 中使用犰狳的(非常基本的)程序,但是在编译犰狳时遇到了问题。

当我只做一个简单的makefile和clang ++时,它编译没有问题,但是使用XCode它似乎有严重的问题,弹出各种错误和警告,(当我在没有XCode的情况下构建它时,即使使用-Werrors,我一无所获,它构建干净)。

以下是其中的一些错误:

等等。我认为它们中的大多数都与标准库中没有的某些功能有关...... XCode 是否使用不同或不完整的标准库?我该如何改变它。

我真的只想使用 XCode 调试器,当我的代码没有运行时,它使事情变得更容易,而且有一个图形分析器也很好。

0 投票
2 回答
1695 浏览

c# - C# 中的 C++ 犰狳代码

我想在 C# 应用程序中使用狳,任何人都有在 C# 中使用犰狳的经验,我不熟悉 C#。

我知道犰狳有一个.dll,无论如何要在c#中导入这个dll...

0 投票
1 回答
677 浏览

c++ - 我可以在 Armadillo 中实例化矩阵,然后在后面的代码行中将其设置为使用辅助内存吗?

我正在使用带有 RcppArmadillo 的犰狳。是否可以声明一个矩阵,arma::mat A然后为我之前创建的这个矩阵分配一些内存arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true)

目的是从 Rcpp::NumericMatrix 创建一个犰狳矩阵,但只if()满足特定条件。然后稍后在同一个函数中,我想使用该矩阵,但再次只if()满足一个条件。

0 投票
1 回答
2915 浏览

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 使用它。

0 投票
1 回答
1080 浏览

armadillo - NLopt 与犰狳数据

NLopt 目标函数如下所示:

x 是要优化的数据,grad 是梯度向量,my_func_data 保存附加数据。

我有兴趣将犰狳矩阵 A 和 B 提供给 void *my_func_data

我摆弄犰狳的成员函数

这给了我一个指向矩阵 A 和 B 的指针。我正在考虑定义另一个指向这些指针的指针:

然后将 *CombineMat 作为 my_func_data 传递。

  1. 这是这样做的方法吗?好像很笨拙...
  2. 一旦通过了 CombineMat,当我在 myfunc 中时,如何将 void 类型重新转换为可用的东西?

回答

我在这里的帮助下回答了我自己的问题。

一旦进入 myfunc,C 中的数据可以转换回 Armadillo 矩阵,如下所示:

0 投票
3 回答
14746 浏览

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