C библиотеки для математических операций с матрицами
Я знаю, что есть несколько оптимизированных алгоритмов для всех видов матричных разложений (QR-разложение, SVD,...), умножения и тому подобное. Тем не менее, я не мог найти хороший обзор. Для C++ в этом вопросе есть довольно полезная информация, но я ищу эти вещи в C.
3 ответа
Вы не упомянули, хотите ли вы иметь программное обеспечение с открытым исходным кодом или коммерческое программное обеспечение, поэтому вот список, содержащий оба:
- Научная библиотека GNU (GSL)
- Основные подпрограммы линейной алгебры (BLAS)
- Meschach
- Группа численных алгоритмов (NAG)
Был также этот предыдущий вопрос по этому вопросу.
Возможно, вы захотите взглянуть на BLAS и LAPACK. Они написаны на Фортране, но могут быть вызваны из C и являются в значительной степени стандартными библиотеками этого типа.
Большинство серьезных пакетов линейной алгебры, о которых я знаю (MATLAB, Octave, NumPy), построены с их использованием.
Возможно, научная библиотека GNU (GSL) будет интересна.
http://www.gnu.org/software/gsl/
Темы документации: http://www.gnu.org/software/gsl/manual/html_node/