Описание тега armadillo

Armadillo - это библиотека линейной алгебры для C++, которая использует метапрограммирование шаблонов и отложенную оценку.
1 ответ

Ошибки Armadillo Wrapper Linker

При использовании некоторых функций в пакете алгебры Армадилло я получаю следующие ошибки: armadillo_bits/atlas_wrapper.hpp:188: undefined reference to `clapack_dgetrf' Я связал, как это: arm-linux-gnueabihf-g++ -march=armv7-a -mthumb-interwork -mfl…
11 апр '14 в 11:27
0 ответов

Как получить все собственные значения из разреженной матрицы с помощью eigs_gen

Я использую броненосец. eigs_gen функция (для SpMat разреженных матриц) имеет параметр k для числа собственных значений для вычисления. У меня матрица 3х3 my_matrix когда я бегу arma::cx_fvec values; arma::cx_fmat vectors; arma::eigs_gen (values, ve…
25 окт '17 в 20:31
0 ответов

Сравнение экспоненциальной матрицы в C++ Armadillo и Matlab

Я пытался сравнить скорости матрицы Matlab Exponential с Armadillo C++ Matrix Exponential. Мне всегда говорили, что если вы хотите самый быстрый код, используйте C++, но тесты, которые я выполнял, подразумевают, что экспоненциальная матрица Matlab р…
06 ноя '16 в 09:42
1 ответ

Как написать сторонний библиотечный класс-оболочку вокруг шаблонов выражений

Мы пытаемся внедрить новый код C++ в моей исследовательской группе для выполнения большого численного моделирования (конечные элементы, методы конечных разностей, оптимизация топологии и т. Д.). Программное обеспечение будет использоваться людьми из…
10 мар '15 в 16:09
2 ответа

Эффективное распараллеливание линейной алгебраической функции в C++ OpenMP

У меня мало опыта в параллельном программировании, и мне было интересно, если бы кто-нибудь мог бы бегло взглянуть на немного кода, который я написал, и посмотреть, есть ли какие-нибудь очевидные способы, которыми я могу повысить эффективность вычис…
06 сен '17 в 14:33
1 ответ

Библиотека Armadillo C++ дает неопределенную ссылку на arma::arma_rng_cxx11_instance

Я использовал CMake для сборки своего проекта и Catch2 для тестирования. Ниже приведена структура моего проекта ├── build ├── CMakeLists.txt ├── compile_commands.json ├── include │ ├── node.h │ ├── rrt.h │ └── tree.h ├── Makefile ├── package.xml ├──…
01 сен '18 в 14:39
0 ответов

Не удалось преобразовать '<заключенный в скобки список инициализаторов>' в 'arma::mat

Я просто копирую вставленную из документации матричной библиотеки Armadillo для непосредственной инициализации матричного объекта: #include &lt;armadillo&gt; using namespace arma; int main() { mat A = { {1, 3, 5}, {2, 4, 6} }; A.print(); return 0; }…
09 окт '15 в 03:35
1 ответ

Что делать, если тип возвращаемого значения определяется во время выполнения в C++?

Вот сценарий: у меня есть файл матрицы для столбца в двоичном формате для загрузки, матрица может быть короткой, int, double и т. Д. Концептуально что-то подобное должно быть сделано: Mat&lt;xxx&gt; loadfile(std::string filename) { std::string matTy…
12 мар '14 в 10:05
1 ответ

Armadillo inplace_plus значительно медленнее, чем "нормальная" операция плюс

Я пишу программу с Armadillo 4.500.0 и у меня возникают такие вычисления на месте, как s += v * v.t() * q; значительно медленнее, чем эквивалент s = s + v * v.t() * q; где s, v, а также q векторы соответствующего размера. Когда я запускаю следующий …
05 ноя '14 в 20:50
1 ответ

Преобразовать arma::cx_mat в массив массивов

Как мне конвертировать arma::cx_mat к массиву массивов? Мотивация для преобразования заключается в использовании libmatio, которая является библиотекой C, для вывода файла.mat. До сих пор я создал функцию для преобразования из arma:cx_mat к вектору …
21 июл '16 в 22:42
1 ответ

Почему некоторые собственные векторные знаки из C++ Armadillo отличаются от Python и R

Мне было интересно, почему знак элементов в собственных векторах из Armadillo является противоположным от других языков, таких как Python (то есть numpy) и R. Например: C++ using namespace arma; vec eigval; mat eigvec; // C++11 initialization mat A …
04 мар '15 в 16:45
1 ответ

Заменить элементы в заданных позициях в arma::vec с соответствующими элементами в другом векторе

Мне было интересно, какой самый компактный синтаксис в Rcpp изменить заданные (несмежные) элементы в позициях pos в векторе v1 с соответствующими элементами в другом векторе (если бы я использовал arma::vec учебный класс)? Скажите, что в РИ будет де…
23 июл '16 в 12:28
1 ответ

Armadillo -> разреженная матрица с повторяющимися (переведенными) строками

Есть ли оптимальный способ использования такой конструкции? Позволять M быть матрицей xx0000... 00xx00... 0000xx... Прости ASCII Описание матрицы, я не мог заставить латекс работать. Я имею дело с огромными матрицами, поэтому необходима оптимизация.…
21 май '16 в 19:42
1 ответ

Преобразуйте подпредставление arma::cube в NumericVector, чтобы использовать сахар

Я передал 3D-массив из R в C++ и столкнулся с проблемами преобразования типов. Как мы трансформируем arma::cube subviews из RcppArmadillo в NumericVectors работать с ними, используя функции сахара из Rcpp, как which_min? Скажем, у вас есть 3D-куб Q …
21 дек '18 в 11:14
2 ответа

Команды RCPP сахара в броненосце

Я пытаюсь использовать ifelse() Команда RCPP сахара с arma::vec, Код не работает с ошибкой 'ifelse' was not declared in this scope Я не мог найти решение. Простой пример кода (приведенный с ошибкой) приведен ниже. #include &lt;RcppArmadillo.h&gt; //…
27 июл '18 в 06:42
1 ответ

Свам Армадилло дать некоторые значения NaN

Я открываю Armadillo пакет для выполнения SVD на изображении. Я сначала попробую с OpenCV что очень очень медленно. Итак, сейчас я пишу пример, который выполняет SVD используя эту новую библиотеку, и я не получаю такой же результат, как OpenCV, Посл…
24 июл '18 в 16:03
0 ответов

Выбор строки и столбца всех срезов в Armadillo C++

Предположим, у меня есть 3D-матрица, как A = ones(4,4,3), В MATLAB, если я хочу определить переменную в строке 1 и столбце 1 для всех трех измерений, которые я пишу: A(1,1,:) = 0 Как я могу сделать то же самое в Armadillo? я пытался A(1,1,span::all)…
19 янв '19 в 21:20
1 ответ

Броненосец C++: невозможно записать двумерный массив с плавающей точкой в ​​формат

У меня есть 2-х плавающий 2D-массив и 1D-массив. Я хочу создать переменную fmat и записать в нее 2D-массив, а затем 1D-вектор, а затем решить его, используя метод исключения Гаусса. Когда я пытаюсь записать 2d Array в переменную, я получил результат…
11 дек '15 в 20:47
1 ответ

Большой дамп памяти умножения матриц

Следующая программа является ловушкой. void main(){ fmat A,W,H; W.load("w.csv"); //W is of size 150000x100 H.load("h.csv"); //H is of size 300000x100 A.set_size(W.n_rows,H.n_rows); A.zeros(); A=W*H.t(); } Вышеупомянутая программа скомпилирована с ис…
14 янв '14 в 13:36
0 ответов

Что пошло не так с моей реализацией логистической регрессии в C++?

Я реализовал простую функцию логистической регрессии с помощью алгоритма IRLS, используя библиотеку линейной алгебры броненосца: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;boost/math/distributions/normal.hpp&gt; #include &lt;boos…
03 апр '14 в 12:53