Управление версиями может иметь следующие преимущества:
, Но с другой стороны она также имеет свои крушения, если Вы не выбираете хороший
boost :: array , а также boost :: MultiArray . В Boost также есть неплохой пакет линейной алгебры под названием uBLAS
Также есть броненосец , который я использую в некоторых проектах. С их веб-сайта:
Armadillo - это библиотека линейной алгебры C ++ (матричная математика), направленная на хороший баланс между скоростью и легкостью использования. Целые числа, числа с плавающей запятой и также поддерживаются комплексные числа как подмножество тригонометрических и статистические функции. Различная матрица разложения обеспечиваются через дополнительная интеграция с LAPACK и Библиотеки ATLAS.
Применяется метод отложенной оценки (во время компиляции) для объединить несколько операций в одну и уменьшить (или исключить) потребность в временные. Это выполнено через рекурсивные шаблоны и шаблонное метапрограммирование.
Эта библиотека полезна, если C ++ был выбран в качестве языка выбора (из-за скорости и / или интеграции возможности), а не другой язык вроде Matlab® или Octave. Это распространяется по лицензии, которая полезно как в open-source, так и в коммерческий контекст.
Armadillo в основном разрабатывается в NICTA (Австралия), с вклад со всего мира.
Мы успешно использовали TNT в течение нескольких лет. Однако достаточно проблем, чтобы вместо этого двигаться в направлении решения, разработанного собственными силами. Двумя самыми большими недостатками для нас являются то, что
Если это не проблема, то они достаточно удобны для многих распространенных задач с массивами.