Использование eigen2 и заданная матрица A
a_0_0, a_0_1, a_0_2, ...
a_1_0, a_1_0, a_1_2, ...
...
и матрица B:
b_0_0, b_0_1, b_0_2, ...
b_1_0, b_1_1, b_1_2, ...
...
и где A и B имеют одинаковые размеры, я хотел бы чередовать строки, получая:
a_0_0, a_0_1, a_0_2, ...
b_0_0, b_0_1, b_0_2, ...
a_1_0, a_1_0, a_1_2, ...
b_1_0, b_1_1, b_1_2, ...
...
Очевидно, что я могу написать функцию, которая будет создавать выходную матрицу правильных размеров, затем циклически перебирать каждую из входных матриц и присваивать элементы результату. Я бы предпочел не изобретать колесо заново, поэтому, если в eigen2 уже есть механизм для элегантной экспрессии такого рода матричных операций, я бы предпочел использовать его.
Я просматривал документы eigen2, и ничто не показалось мне правильным. Самым близким, что я нашел, был MatrixBase :: select, но он «элемент из a или элемент из b», где то, что я хочу, это «элемент из элемента then из следующей строки».
Эффективность не имеет первостепенного значения, поскольку мне не нужно делать это на быстром пути, только при инициализации.
Прошу прощения за форматирование, если есть лучший способ представления матриц.