From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24018 invoked by alias); 30 May 2006 10:13:01 -0000 Received: (qmail 24009 invoked by uid 22791); 30 May 2006 10:12:59 -0000 X-Spam-Check-By: sourceware.org Received: from network-theory.com (HELO mail.network-theory.co.uk) (66.199.228.187) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 30 May 2006 10:12:57 +0000 From: "Brian Gough" MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17528.28467.697515.554390@hp2.network-theory.co.uk> Date: Tue, 30 May 2006 10:14:00 -0000 To: James Bergstra Cc: gsl-discuss@sources.redhat.com Subject: Re: alternate multimin api In-Reply-To: <20060516005235.GA12658@aphex.iro.umontreal.ca> References: <20060516005235.GA12658@aphex.iro.umontreal.ca> Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org X-SW-Source: 2006-q2/txt/msg00077.txt.bz2 James Bergstra writes: > while (! m->giveup ) > { > minalgo_suggest(m); > if (m->want_y) > { > ... calculate m->test.y from m->test.x; > } This type of API is called 'reverse communication'. It is more flexible but traditionally hasn't been used as much due to the user having to provide more information (we have't used it in GSL). There are a number of ACM TOMS papers which discuss it. Having access to a reverse communication interface can be useful, as there are some types of problems which can only be solved that way. I'm looking at the linesearch in multimin at the moment to improve it so I'll keep this in mind. -- Brian Gough