GSL中的数值梯度发散

时间:2016-01-22 04:10:37

标签: c++ algorithm numerical-methods gsl minimization

我正在使用共轭梯度法

declare module "rmdir" {
    function rmdir(dir: string, options: any, callback: (err: any, dirs: Array<string>, files: Array<string>) => any): void;
    export = rmdir;
}
在GSL包中

以最小化函数f。这种方法需要衍生物,所以我通过两种方式传递了衍生物:

gsl_multimin_fdfminimizer_conjugate_fr

另一种不那么直接但速度更快的方式。这两个函数在所有变量中为渐变返回相同的值,最大精度为~10位。但是,当我使用后者运行最小化时,我没有达到最小值并且最小化器返回27:无法获得更好的结果。当使用dfun作为导数时,我会收敛到正确的最小值。

可能导致此行为的原因,以及我可以采取哪些措施来解决此问题?

0 个答案:

没有答案