Броненосец является библиотекой линейной алгебры для C++, который использует шаблонное метапрограммирование и задержанную оценку.
Броненосец является библиотекой линейной алгебры C++ с открытым исходным кодом (матричная математика) нацеливающийся к хорошему балансу между скоростью и простотой использования. Синтаксис сознательно подобен Matlab.
Целое число, и комплексные числа с плавающей точкой поддерживаются, а также подмножество функций статистики и тригонометрических. Различные матричные разложения обеспечиваются через дополнительную интеграцию с LAPACK или одну из его высокопроизводительных общедоступных замен (таких как многопоточные библиотеки MKL или ACML).
Задержанный подход оценки используется (в течение времени компиляции), чтобы объединить несколько операций в одну и уменьшить (или устранить) потребность во временных файлах. Это выполняется через рекурсивные шаблоны и шаблонное метапрограммирование.
Эта библиотека полезна, если C++ был решен как предпочтительный язык, из-за быстродействий и/или возможностей интеграции. Это распределяется в соответствии с лицензией, которая полезна и в и в коммерческих контекстах с открытым исходным кодом.
Броненосец, прежде всего, разрабатывается в NICTA (Австралия) с вкладами со всего мира.
Информация о Броненосце доступна по http://arma.sourceforge.net.