Как использовать функцию eigs() в октаве 3.6.4 в Mac OS X
Я пытаюсь использовать набор инструментов, который использует функцию eigs() Matlab. Когда я запускаю это в Octave (3.6.4, установлен через Homebrew в Mac OS X), возвращается следующее:
error: eigs: not available in this version of Octave
Я нашел много потенциальных решений о том, как заставить программу ARPACK(-ng) работать с Octave. Я перепробовал больше методов, чем помню, но ни один из них не помог.
Кто-нибудь знает текущее состояние Octave с помощью функции eigs()? Возможно ли это, желательно с помощью пакетов в Homebrew?
Благодарю.
1 ответ
Я думаю, что вы имеете в виду тот факт, что в версии 3.6 Octave больше не поставляется с eigs и зависит от внешней библиотеки arpack. Из заметок о выпуске Octave:
Сводка важных видимых пользователю изменений для версии 3.6: --------------------------------------------------------- ... ** Библиотека ARPACK больше не распространяется с Octave. Если вам нужны функции eigs или svds, вы должны предоставить внешний ARPACK через менеджер пакетов или путем его компиляции сам. Если предварительно скомпилированный пакет не существует для вашей системы, Вы можете найти текущие источники ARPACK на http://forge.scilab.org/index.php/p/arpack-ng
Поэтому перед установкой Octave вам потребуется установить библиотеку arpack, которая будет видна Октаве. Для доморощенных это означает, что в / usr / local /.
Октава configure
Файл имеет логику обнаружения arpack и выглядит так, как будто он обнаружит arpack во время процесса сборки по умолчанию и выполнит сборку, если она есть. Таким образом, октава Homebrew должна поднять ее, если она установлена, даже без специальной поддержки в формуле.
В текущей версии homebrew-science нет формулы arpack, но есть открытый запрос на добавление: https://github.com/Homebrew/homebrew-science/pull/112. Перейдите туда и прокомментируйте, чтобы показать поддержку, и, возможно, это скоро будет объединено. Как только это произойдет, сделайте brew install libarpack; brew install octave
и ваша октава вполне может забрать eigs
, Если этого не произойдет, добавьте поддержку arpack.