開始点 par から fn を最小化する汎用関数です。R の optim() と同等です。CG 以外は、R と同じ方法と同じ反復を用いるため、結果と評価回数も同じです。CG では、採択されたステップの後に、始点と採択された点を通る放物線の最小点を試します。一方、R の cgmin は常に中点を試します (そのため CG の経路、結果、評価回数は R と異なります)。
par
fn
optim()
const rosen = (x: number[]) => 100 * (x[1] - x[0] ** 2) ** 2 + (1 - x[0]) ** 2;optim([-1.2, 1], rosen).par; // [1.0002601387256695, 1.000505999303765]optim([-1.2, 1], rosen, { method: "BFGS" }).counts; // [118, 38] コピー
const rosen = (x: number[]) => 100 * (x[1] - x[0] ** 2) ** 2 + (1 - x[0]) ** 2;optim([-1.2, 1], rosen).par; // [1.0002601387256695, 1.000505999303765]optim([-1.2, 1], rosen, { method: "BFGS" }).counts; // [118, 38]
開始点
parからfnを最小化する汎用関数です。R のoptim()と同等です。CG 以外は、R と同じ方法と同じ反復を用いるため、結果と評価回数も同じです。CG では、採択されたステップの後に、始点と採択された点を通る放物線の最小点を試します。一方、R の cgmin は常に中点を試します (そのため CG の経路、結果、評価回数は R と異なります)。