Библиотека C++ для Массивов, Матрицы, Вектора и классических [закрытых] операций линейной алгебры

Управление версиями может иметь следующие преимущества:

  1. Откат всегда удобен, поскольку Вы упомянули
  2. С некоторыми, которых можно прикрепить предыдущую версию и убежать ее, не откатывая
  3. , Помогает препятствовать тому, чтобы два человека работали на странице одновременно, которая может вызвать несколько проблем

, Но с другой стороны она также имеет свои крушения, если Вы не выбираете хороший

8
задан fulmicoton 8 January 2010 в 15:46
поделиться

3 ответа

boost :: array , а также boost :: MultiArray . В Boost также есть неплохой пакет линейной алгебры под названием uBLAS

7
ответ дан 5 December 2019 в 14:03
поделиться

Также есть броненосец , который я использую в некоторых проектах. С их веб-сайта:

Armadillo - это библиотека линейной алгебры C ++ (матричная математика), направленная на хороший баланс между скоростью и легкостью использования. Целые числа, числа с плавающей запятой и также поддерживаются комплексные числа как подмножество тригонометрических и статистические функции. Различная матрица разложения обеспечиваются через дополнительная интеграция с LAPACK и Библиотеки ATLAS.

Применяется метод отложенной оценки (во время компиляции) для объединить несколько операций в одну и уменьшить (или исключить) потребность в временные. Это выполнено через рекурсивные шаблоны и шаблонное метапрограммирование.

Эта библиотека полезна, если C ++ был выбран в качестве языка выбора (из-за скорости и / или интеграции возможности), а не другой язык вроде Matlab® или Octave. Это распространяется по лицензии, которая полезно как в open-source, так и в коммерческий контекст.

Armadillo в основном разрабатывается в NICTA (Австралия), с вклад со всего мира.

3
ответ дан 5 December 2019 в 14:03
поделиться

Мы успешно использовали TNT в течение нескольких лет. Однако достаточно проблем, чтобы вместо этого двигаться в направлении решения, разработанного собственными силами. Двумя самыми большими недостатками для нас являются то, что

  • Массивы не являются потокобезопасными, даже для доступа на чтение, так как они используют нечитаемый безопасный счетчик ссылок.
  • Массивы вызывают всевозможные проблемы при написании const-correct кода.

Если это не проблема, то они достаточно удобны для многих распространенных задач с массивами.

2
ответ дан 5 December 2019 в 14:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: