Ticket #38 (closed バグ報告: fixed)

Opened 9 years ago

Last modified 8 years ago

mist::brent::minimizationについて

Reported by: anonymous Owned by: ddeguchi
Priority: Milestone: 1.5
Component: Mist Version: 1.3.6
Keywords: Cc:

Description

mist/minimization.h 676行目 mist::brent::minimization 関数内の

if( std::abs( p ) < std::abs( 0.5 * q * r ) && p < q * ( a - x ) && p < q * ( b - x ) )

if( std::abs( p ) < std::abs( 0.5 * q * r ) && p > q * ( a - x ) && p < q * ( b - x ) )

ではないでしょうか? 元々の判定式では放物線補間結果が妥当な場合も黄金分割されるように思うのですが。

Change History

comment:1 Changed 9 years ago by ddeguchi

  • Owner changed from somebody to ddeguchi
  • Status changed from new to assigned

MISTの実装は,

Richard P. Brent, "Algorithms for Minimization Without Derivatives", DOVER PUBLICATIONS, Mineola, New York

をベースに行ったのですが,Numerical Recipesとでは判定が逆になっていますね.ちょっと良く考えてみたいと思います.今しばらくお待ちください.

comment:2 Changed 9 years ago by ddeguchi

Richard P. Brentのホームページを確認したところ,報告いただいた内容が間違いとして掲載されていました.[1163]で修正をコミットしましたので,最新のソースをSVN経由でダウンロードしてご利用ください.

報告いただき,ありがとうございました.

comment:3 Changed 8 years ago by ddeguchi

  • Status changed from assigned to closed
  • Resolution set to fixed
  • Milestone set to 1.5
Note: See TracTickets for help on using tickets.