Кватернионы в CLAPACK или в альтернативной библиотеке кватернионов в стиле C - PullRequest
2 голосов
/ 01 ноября 2011

Я портирую набор пространственных вычислений во встроенную среду, которая по существу компилирует и запускает C-код.

Я заменил ряд функций линейной алгебры, которые ранее использовали VNL (шаблонная библиотека C ++, которая не будет работать на новой платформе), на CBLAS и CLAPACK. Их API (все параметры указатели, а не шаблоны) идеально подходит для того, что я делаю.

Однако загвоздка в том, что я не вижу функций, основанных на кватернионах, в Руководстве пользователя CLAPACK. Я пропускаю раздел и есть кватернионная поддержка где-нибудь? Если это так, пожалуйста, укажите мне на функции. В частности, я ищу обратное, умножение и преобразование в и из углов Эйлера и матриц 3х3.

Если в CLAPACK нет такой поддержки, есть ли другая библиотека с похожими характеристиками дизайна, которая работает с кватернионной математикой?

1 Ответ

2 голосов
/ 02 ноября 2011

Этот PDF, похоже, указывает на то, что кватернионная поддержка не была запланирована в LAPACK.Я полагаю, можно предположить, что CLAPACK будет таким же.

http://www.netlib.org/lapack/lawnspdf/lawn106.pdf

Я все еще не нашел замену или дополнительную библиотеку, которая поддерживает кватернионы.

РЕДАКТИРОВАТЬ:

Найдено CQRLib, библиотека кватернионов C ANSI.Он распределяет переменные по стеку (проблема в моей архитектуре), поэтому мне придется его рефакторинг.Но в остальном похоже, что должно работать.

http://cqrlib.sourceforge.net/

...