Я настоятельно рекомендую Броненосец :
Armadillo - это библиотека линейной алгебры C ++ (математическая математика), нацеленная на достижение хорошего баланса между скоростью и простотой использования
Это библиотека шаблонов C ++:
Подход с отложенной оценкой применяется (во время компиляции) для объединения нескольких операций в одну и уменьшения (или устранения) потребности во временных затратах; это автоматически выполняется с помощью шаблонного метапрограммирования
Простой пример с веб-страницы:
#include <iostream>
#include <armadillo>
int main(int argc, char** argv)
{
arma::mat A = arma::randu<arma::mat>(4,5);
arma::mat B = arma::randu<arma::mat>(4,5);
std::cout << A*B.t() << std::endl;
return 0;
}