Хотя данный ответ генерирует запрошенные матрицы, ОП запросил решение, не использующее циклы.Этот ответ использует regspace и repmat и, возможно, концептуально проще:
#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;
int main (int argc, char const* argv[])
{
ivec a_col = regspace<ivec>(0, 3);
imat A = repmat(a_col, 1, 3);
irowvec b_row = regspace<irowvec>(0,2);
imat B = repmat(b_row, 4, 1);
cout << A << endl;
cout << B << endl;
return 0;
}
Я должен признаться, что я немного новичок в броненосце, поэтому я не буду обещать, что это быстро или следует передовой практике, ноЯ думаю, что это, вероятно, ближе всего к эквивалентному коду SciPy.