Вопросы по теме '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 просмотров
schedule
31.03.2022
что делает метод 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