Есть ли порт 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) и просто вызвать функцию из нее.