При проверке файла include\armadillo_bits\glue_solve_meat.hpp
кажется, что для неквадратной матрицы Армадилло использует метод LAPACK gelsd
(решение наименьших квадратов на основе SVD). Если указан параметр настройки solve_opts::fast
, сначала он пытается gels
(разложение QR / LQ), а если это не удается, он также обращается к SVD.