Есть ли порт L-BFGS-B C?

Мои навыки Google не смогли найти ни одного.

Кто-нибудь слышал о какой-либо C-библиотеке для L-BFGS-B?

Я нашел libLBFGS. Но это порт L-BFGS, и мне нужен метод с ограниченными связями.

Я полагаю, я мог бы также попробовать перенести его с помощью f2c, но я никогда не делал этого раньше. У кого-нибудь есть опыт с этим?

1 ответ

О порте C

Согласно записи в Википедии для BFGS, порт L-BFGS-B был создан с использованием f2c, и они предоставляют ссылку.

Использование f2c

Если это не работает, вы можете использовать f2c для преобразования кода на языке Фортран в C. Для этого проще всего будет использовать что-то вроде Ubuntu (дистрибутив Linux), затем установить пакет f2c, если он не установлен, набрав:

sudo apt-get install f2c

тогда вы можете просмотреть документацию f2c, набрав:

man 1 f2c

Здесь есть справочная страница HTML для h2c, но, похоже, вы сможете заставить ее работать, просто набрав:

 f2c -Aa <your fortran file>

(это я, просто угадывая из файла)

альтернативы

В качестве альтернативы вы можете попробовать скомпилировать f2c под Win32 и сделать выше. Или, как сказал @VladimirF, вы можете создать библиотеку (DLL под Windows) и просто вызвать функцию из нее.

Другие вопросы по тегам