1

我正在使用 fortran,但出现以下错误消息: undefined reference to `newuoa_h_' 有人知道如何在 fortran 中运行 NEWUOA_H(n,npt,x,rhobeg,rhoend,iprint,maxfun,w,mv) 吗?

谢谢

4

1 回答 1

1

您缺少的功能似乎otkpp优化库中。

您可能必须安装它,或者在列表中提取您需要的函数(有一个 C++ 包装器,但算法是用 Fortran 编写的)。

顺便说一句,如果您还使用 LMBM,Napsu Karmitsa 的网站(作者)上有一条不在 Google 群组中的说明:该软件可免费用于学术教学和研究目的,但我要求您至少参考其中一个如果你使用它,下面给出的参考资料”。我不知道谁写了 newuoa,但 otkpp 本身是在 GPLv3 下,它的作者 Seppo Pulkkinen 是 Karmitsa 监督下的学生(见这里)。

编辑

经过更多搜索,newuoa 似乎是由MJD Powell(优化领域著名的数值分析师)编写的,现已退休。源代码也在这里,用 Fortran 和 f2c 翻译。根据这个站点,fortran 代码是“完全免费的”。

于 2013-08-22T05:09:08.693 回答