Сопоставление Eigen triangularView с собственным векторомC++

Программы на C++. Форум разработчиков
Anonymous
Сопоставление Eigen triangularView с собственным вектором

Сообщение Anonymous »


В настоящее время я пытаюсь реализовать новую версию нейронной сети резервуара (например, рекуррентную нейронную сеть, но обучаются только веса выходного слоя) в соответствии с ее описанием в этой статье.

Часть этой процедуры описывает, как построить вектор нелинейных признаков,
Изображение
, из вектора линейных объектов,
Изображение
. Например, чтобы построить квадратичный нелинейный вектор признаков, необходимо выполнить следующую процедуру:
[*]Все мономы (полином сингулярного члена) квадратичного многочлена захватываются внешним произведением
Изображение
[*]Вектор нелинейных признаков состоит из уникальных мономов, которые составляют верхние треугольные элементы тензора внешнего произведения.
В статье этой операции присвоен символ:
Изображение
< /п> В качестве примера можно привести следующий линейный вектор признаков:

1 2 3 4 После вычисления внешнего продукта с самим собой становится

1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 Тогда, насколько я понимаю, вектор нелинейных признаков

1 2 3 4 4 6 8 9 12 16 В идеале я ищу процедуру, использующую Eigen, которая позволяет мне это сделать?

Например, я пробовал что-то вроде этого:

// Вам понадобится библиотека Eigen #include "Собственный/Плотный" #include #include интервал основной() { Eigen::Vector o_lin; о_лин

Вернуться в «C++»