Система линейных уравнений в C++? [закрытый]

14
задан Archagon 19 March 2010 в 01:22
поделиться

4 ответа

Думаю, Эйген - это то, что вы ищете.

http://eigen.tuxfamily.org/index.php?title=Main_Page

Это библиотека только для заголовков и компилируется на многих компиляторах. Он даже использует экзотическую сборку для более быстрой математики.

На этой странице демонстрируется API линейного решателя.

http://eigen.tuxfamily.org/dox-2.0/TutorialAdvancedLinearAlgebra.html

В нем есть несколько решателей с простым API.

15
ответ дан 1 December 2019 в 09:12
поделиться

Boost есть некоторые основы линейной алгебры.

7
ответ дан 1 December 2019 в 09:12
поделиться

Вы можете использовать C++ привязку LAPACK. Быстрый поиск в Google выявил эту ссылку на некоторые библиотеки LAPACK для Windows. В зависимости от размера вашей системы все это может оказаться излишним.

5
ответ дан 1 December 2019 в 09:12
поделиться

Я большой поклонник Armadillo , но из-за конца страницы загрузки :

Windows

Разработка и тестирование Armadillo до сих пор выполнялись в основном на UNIX-подобных платформах, однако кода для конкретной платформы должно быть мало или вообще не должно быть . Хотя элементарные тесты проводились на компьютере с Windows, разработчикам интересно узнать, насколько хорошо Armadillo работает в более тщательных тестах.

Если у вас возникли проблемы с компилятором 'MS Visual C ++ 2008 Express Edition' (из-за его неполной поддержки стандарта C ++), вы можете { {1}} хотят попробовать следующие альтернативные бесплатные компиляторы:

  • Компилятор Intel C ++
  • GCC (часть MinGW)
  • GCC (часть CygWin)

Стоит попробовать так как это хорошо продуманная (и в основном шаблонная) библиотека.

Или попробуйте Eigen2 , в котором ваш компилятор указан как поддерживаемый.

Изменить: В ответ на комментарий, Armadillo не требует Lapack, но работает с ним лучше (и еще лучше с настроенным Blas):

Q: Какие еще библиотеки мне нужны в полной мере использовать Armadillo?
A: Armadillo может работать без внешних библиотек. Однако рекомендуется установить библиотеки LAPACK и ATLAS, чтобы получить дополнительную функциональность. Armadillo будет использовать процедуры ATLAS вместо LAPACK везде, где это возможно.

Q: Насколько хорошо Armadillo будет работать без LAPACK / ATLAS?
A: Базовые функции будут доступны (например, сложение и умножение матриц), но такие вещи, как разложение по собственным значениям, не будут.Умножение матриц (в основном для больших матриц) будет не таким быстрым.

2
ответ дан 1 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

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