From: Michael C. <mic...@ua...> - 2004-05-20 12:37:36
|
Hello all, I have made some significant changes in the ./main/optim directory. bfgs.m and bs_gradient.m have been replaced with bfgsmin.cc and numgradient.cc. The first change introduces interface incompatibilities, but the second has a common interface. There will be some errors in functions that call bfgs.m until the new interface and function name are adopted. There are also two new minimization routines: lbfgsmin.cc and samin.cc, that implement limited memory BFGS, and Simulated Annealing. There is also a celleval.cc, which is like leval.cc, but for cells. Perhaps this might be useful in contexts other that optimization. The motivation for the change is the greater speed and reliability of the new routines. I can post documentation if anyone is interested. I'm sorry for any inconveniences adapting interfaces might cause. I have kept snapshots of the replaced functions if anyone needs them. Regards, Michael |
From: Etienne G. <et...@cs...> - 2004-05-20 16:08:38
|
Hi all, On Thu, May 20, 2004 at 02:36:50PM +0200, Michael Creel wrote: # Hello all, # I have made some significant changes in the ./main/optim directory. # # bfgs.m and bs_gradient.m have been replaced with bfgsmin.cc and # numgradient.cc. The first change introduces interface incompatibilities, but # the second has a common interface. # # There will be some errors in functions that call bfgs.m until the new # interface and function name are adopted. I would have prefered to have bfgs and bfgsmin coexist for some time, i.e. until 'minimize' uses 'bfgsmin' and a warning message 'bfgs is obsolete and will be removed from future octave-forge releases' has amply warned users of 'bfgs' to do the switch. Is it still time to put back bfgs and dependencies? Just my 2c, Etienne # There are also two new minimization routines: lbfgsmin.cc and samin.cc, that # implement limited memory BFGS, and Simulated Annealing. # # There is also a celleval.cc, which is like leval.cc, but for cells. Perhaps # this might be useful in contexts other that optimization. # # The motivation for the change is the greater speed and reliability of the new # routines. I can post documentation if anyone is interested. # # I'm sorry for any inconveniences adapting interfaces might cause. I have kept # snapshots of the replaced functions if anyone needs them. # # Regards, Michael # # # ------------------------------------------------------- # This SF.Net email is sponsored by: Oracle 10g # Get certified on the hottest thing ever to hit the market... Oracle 10g. # Take an Oracle 10g class now, and we'll give you the exam FREE. # http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click # _______________________________________________ # Octave-dev mailing list # Oct...@li... # https://lists.sourceforge.net/lists/listinfo/octave-dev -- Etienne Grossmann ------ http://www.cs.uky.edu/~etienne |
From: Etienne G. <et...@cs...> - 2004-05-20 16:11:20
|
Hi again, my previous mail set aside, I approve entirely having a C++ implementation of bfgs. Cheers, Etienne On Thu, May 20, 2004 at 12:08:25PM -0400, Etienne Grossmann wrote: # # Hi all, # # On Thu, May 20, 2004 at 02:36:50PM +0200, Michael Creel wrote: # # Hello all, # # I have made some significant changes in the ./main/optim directory. # # # # bfgs.m and bs_gradient.m have been replaced with bfgsmin.cc and # # numgradient.cc. The first change introduces interface incompatibilities, but # # the second has a common interface. # # # # There will be some errors in functions that call bfgs.m until the new # # interface and function name are adopted. # # I would have prefered to have bfgs and bfgsmin coexist for some time, # i.e. until 'minimize' uses 'bfgsmin' and a warning message # # 'bfgs is obsolete and will be removed from future octave-forge releases' # # has amply warned users of 'bfgs' to do the switch. Is it still time to # put back bfgs and dependencies? # # Just my 2c, # # Etienne # # # There are also two new minimization routines: lbfgsmin.cc and samin.cc, that # # implement limited memory BFGS, and Simulated Annealing. # # # # There is also a celleval.cc, which is like leval.cc, but for cells. Perhaps # # this might be useful in contexts other that optimization. # # # # The motivation for the change is the greater speed and reliability of the new # # routines. I can post documentation if anyone is interested. # # # # I'm sorry for any inconveniences adapting interfaces might cause. I have kept # # snapshots of the replaced functions if anyone needs them. # # # # Regards, Michael # # # # # # ------------------------------------------------------- # # This SF.Net email is sponsored by: Oracle 10g # # Get certified on the hottest thing ever to hit the market... Oracle 10g. # # Take an Oracle 10g class now, and we'll give you the exam FREE. # # http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click # # _______________________________________________ # # Octave-dev mailing list # # Oct...@li... # # https://lists.sourceforge.net/lists/listinfo/octave-dev # # -- # Etienne Grossmann ------ http://www.cs.uky.edu/~etienne -- Etienne Grossmann ------ http://www.cs.uky.edu/~etienne |
From: Paul K. <pki...@us...> - 2004-05-20 22:42:37
|
On May 20, 2004, at 8:36 AM, Michael Creel wrote: > There is also a celleval.cc, which is like leval.cc, but for cells. > Perhaps > this might be useful in contexts other that optimization. Can you remind me again how celleval('f',x) differs from f(x{:})? Thanks, Paul Kienzle pki...@us... |
From: Michael C. <mic...@ua...> - 2004-05-21 08:53:20
|
On Thursday 20 May 2004 18:42, Paul Kienzle wrote: > On May 20, 2004, at 8:36 AM, Michael Creel wrote: > > There is also a celleval.cc, which is like leval.cc, but for cells. > > Perhaps > > this might be useful in contexts other that optimization. > > Can you remind me again how celleval('f',x) differs from f(x{:})? > You can use it inside an .oct function. See bfgsmin.cc for an example. If there is a more straightforward way to do this, I'd be happy to know about it. The problem inside bfgsmin is that we don't know how many arguments the function to be minimized has. So, they are all collected into a cell array, so that feval is called with the function name "celleval" and a single argument, which holds the name of the function to be evaluated and its arguments. Michael |
From: Michael C. <mic...@ua...> - 2004-05-21 09:02:51
Attachments:
bfgs.m
bs_gradient.m
|
On Thursday 20 May 2004 12:08, Etienne Grossmann wrote: > Hi all, > > On Thu, May 20, 2004 at 02:36:50PM +0200, Michael Creel wrote: > # Hello all, > # I have made some significant changes in the ./main/optim directory. > # > # bfgs.m and bs_gradient.m have been replaced with bfgsmin.cc and > # numgradient.cc. The first change introduces interface incompatibilities, > but # the second has a common interface. > # > # There will be some errors in functions that call bfgs.m until the new > # interface and function name are adopted. > > I would have prefered to have bfgs and bfgsmin coexist for some time, > i.e. until 'minimize' uses 'bfgsmin' and a warning message > > 'bfgs is obsolete and will be removed from future octave-forge releases' > > has amply warned users of 'bfgs' to do the switch. Is it still time to > put back bfgs and dependencies? > > Just my 2c, > > Etienne Hi Etienne and others, Well, they _have_ coexisted for quite some time, and we discussed replacing bfgs a few months ago. The reason I made the change now is that I learned that the new functions wouldn't go into new releases if they were in a 3rd level subdir. I'm attaching copies of the most recent versions of the replaced functions, and I won't touch them again if you decide to restore them, but I really think that modifying the other files would not be much work, and would help to get people to use routines which are both faster and more robust. It will also help to keep the optim directory from being overcrowded and confusing. I myself modified the test_min_1, 2, and 3 functions to make them use the new function, and it's not hard to do. Regards, Michael > > # There are also two new minimization routines: lbfgsmin.cc and samin.cc, > that # implement limited memory BFGS, and Simulated Annealing. > # > # There is also a celleval.cc, which is like leval.cc, but for cells. > Perhaps # this might be useful in contexts other that optimization. > # > # The motivation for the change is the greater speed and reliability of the > new # routines. I can post documentation if anyone is interested. > # > # I'm sorry for any inconveniences adapting interfaces might cause. I have > kept # snapshots of the replaced functions if anyone needs them. > # > # Regards, Michael > # > # > # ------------------------------------------------------- > # This SF.Net email is sponsored by: Oracle 10g > # Get certified on the hottest thing ever to hit the market... Oracle 10g. > # Take an Oracle 10g class now, and we'll give you the exam FREE. > # http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click > # _______________________________________________ > # Octave-dev mailing list > # Oct...@li... > # https://lists.sourceforge.net/lists/listinfo/octave-dev |