Вопросы по теме 'eigen3'

чего мне ожидать, когда я использую плотную матричную структуру данных Eigen?
Мне нужно использовать матричную структуру данных в моей программе, в то время как C++ имеет двумерные массивы, это очень низкий уровень, в то время как некоторые библиотеки, такие как Eigen, обеспечивают более высокий уровень матричной структуры...
439 просмотров
schedule 21.12.2023

c ++ передача нестандартного собственного вектора в качестве аргумента функции и изменение его в функции
Я реализую функцию-член производного класса (объявленного как виртуальный в базовом классе). Один из аргументов - это vectorXd, и именно в нем будет сохранен результат операции. Я прочитал «Написание функций, принимающих собственные типы в...
800 просмотров
schedule 24.01.2023

Ошибка компиляции Использование шаблонного программирования с библиотекой Eigen C++
Я скачал библиотеку Eigen (3) и начал ее использовать. Я написал функцию-шаблон и объявил внутри функции локальную переменную «типа шаблона». Я получаю следующую ошибку компиляции. $ g++ EigenTest.cpp EigenTest.cpp: In instantiation of ‘void...
4772 просмотров
schedule 08.02.2024

Использование библиотеки Eigen C++ с Intel MKL
Я пытался использовать Intel MKL от Eigen(3). Я написал базовую программу умножения матриц, которая приведена ниже. #include <iostream> #define EIGEN_USE_MKL_ALL #include "../Eigen/src/Core/util/MKL_support.h" #include "Dense" #include...
3395 просмотров
schedule 09.11.2022

Почему const Eigen::Matrix‹›& и const Ref‹Eigen::Matrix‹› › явно несовместимы?
Вот мой пример кода: (Обратите внимание на раздел, окруженный #if ENABLE_MY_COMPILE_ERROR ) #include <Eigen/Core> #include <iostream> #define ENABLE_MY_COMPILE_ERROR 1 void f1(const Eigen::Ref<Eigen::MatrixXd> a,...
1812 просмотров
schedule 21.04.2022

Как скомпилировать программу на С++ с использованием собственного кода без указания флага -I?
У меня есть следующая тестовая программа, использующая eigen: #include <iostream> #include <Eigen/Dense> using namespace std; using Eigen::MatrixXd; int main() { MatrixXd m(2, 2); m(0, 0) = 3; m(1, 0) = 2.5; m(0, 1) = -1;...
6076 просмотров
schedule 10.06.2024

Параметры Variadic для списка инициализаторов запятой?
Я хотел бы иметь класс с конструктором, который принимает переменное количество аргументов и заполняет им массив, каким-то образом распаковывая его в список инициализаторов запятых, который поддерживается массивом, вот пример: class A{...
168 просмотров

что делает метод rows ()?
В собственной документации, которая в целом довольно хороша, я вижу ссылки на rows() метод MatrixBase . В настоящее время я пытаюсь найти способ получить количество строк в матрице, не зная ориентации (строка / основной столбец) матрицы, поэтому...
612 просмотров
schedule 09.03.2022

Не удается заменить скаляр на шаблон
Я пытаюсь написать функцию, которая принимает Eigen :: Matrix из типа double или float. Эта функция отлично работает для поплавков: Eigen::Matrix<float, 4, 4> foo(const Eigen::Matrix<float, 4, 4> &T) { Eigen::Matrix<float,...
68 просмотров
schedule 19.03.2024

Можно ли обновить 2D-матрицу Eigen3 или другой библиотеки матриц из разных процессов через общую память?
Что эквивалентно этой программе в eigen3? Мне нужно иметь возможность читать/записывать в матрицу общей памяти из отдельных процессов, а затем брать собственное значение матрицы. Кажется, что Eigen3 может использовать OpenMP, но я не нашел четкого...
140 просмотров
schedule 26.06.2023

Разница между R и собственным3
Я выполняю следующее в R: > m = matrix(c(0.563291, -0.478813, 0.574175, + 0.160779, -0.03407, 0.381922, + 0.0677914, 0.870361, -0.88602), 3, 3) > mt = t(m) > mt [1,] 0.5632910 -0.478813 0.574175 [2,] 0.1607790 -0.034070 0.381922...
134 просмотров
schedule 27.10.2022

как построить блочно-диагональную матрицу
В Matlab эта функция blkdiag создает блочную диагональную матрицу. Например, если у меня есть a = [ 2, 2; 2, 2] Затем blkdiag(a,a) вернет этот вывод >> blkdiag(a,a) ans = 2 2 0 0 2 2...
2049 просмотров
schedule 16.12.2022

Интерполяция собственного сплайна. Как получить значение y сплайна в произвольной точке x?
Я пытаюсь использовать библиотеку Eigen для создания сплайнов. Однако, как только я создаю сплайн, я не знаю, как получить значение, которое будет в данной точке x. См. пример ниже с пояснениями моих намерений: #include <Eigen/Core>...
8015 просмотров
schedule 18.07.2022

Eigen: как ускорить += coeffs * coeffs.transpose()
Мне нужно вычислить много (около 400 тыс.) решений небольших линейных задач наименьших квадратов. Каждая задача содержит от 10 до 300 уравнений всего с 7 переменными. Для решения этих проблем я использую собственную библиотеку. Прямое решение...
473 просмотров
schedule 07.04.2023

Установка порога разложения (допуска) Eigen::JacobiSVD
Я пытаюсь поэкспериментировать с JacobiSVD от Eigen. В частности, я пытаюсь восстановить входную матрицу из ее разложения по сингулярным значениям. Eigen::MatrixXf m = Eigen::MatrixXf::Random(3,3); Eigen::JacobiSVD<Eigen::MatrixXf,...
620 просмотров
schedule 07.09.2022

Eigen - проверьте, является ли матрица положительной (полу) определенной
Я реализую алгоритм спектральной кластеризации, и я должен убедиться, что матрица (лапласиан) является положительно полуопределенной. Достаточно проверить, является ли матрица положительно определенной (ПД), поскольку в собственных значениях можно...
9301 просмотров
schedule 26.07.2022

Оценка редукции по всем измерениям в классе Eigen3 Tensor
Я пытаюсь вычислить норму Фробениуса тензора, используя модуль Tensor библиотеки Eigen3. Вот мой код: #include <unsupported/Eigen/CXX11/Tensor> int main () { Eigen::Tensor<double, 3> t(4, 3, 2); t.setRandom(); // Computing...
243 просмотров
schedule 26.06.2023

Собственный столбец увеличения на единицу
Как увеличить столбец динамической матрицы на единицу в качестве операции на месте (без создания копий/промежуточных звеньев)? Пытаться: #include <Eigen/Dense> #include <iostream> #include <stdint.h> int main(void){...
1012 просмотров
schedule 05.04.2023

Возвращаемое значение решателя Eigen Sparse LU
У меня проблема со следующим фрагментом кода, после некоторых исследований я выделил проблему в отдельную строку, но теперь не уверен, как ее решить. typedef double ComplexType; typedef std::complex<ComplexType> Complex; typedef...
888 просмотров
schedule 01.05.2023

Можно ли получить ссылку на строку матрицы?
У меня есть следующий код, который использует библиотеку Eigen C++. void myFunc(Eigen::MatrixXf& myrow) { myrow.setOnes(); } int main() { Eigen::MatrixXf A(2,3); Eigen::MatrixXf tmp1(1,3); myFunc(tmp1); A.row(1) = tmp1;...
753 просмотров
schedule 10.11.2022