Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
December 22, 2014 Swiss Ephemeris / Nelder-Mead simplex | ||||
---|---|---|---|---|
| ||||
Last one for a while, I think. I wish you all a very peaceful Christmas and New Year, and let's hope 2015 brings some more positive energy to the world. Links here: https://github.com/Laeeth/d_simplex https://github.com/Laeeth/d_swisseph 1. D bindings/wrappers for the swiss ephemeris http://www.astro.com/swisseph/swephinfo_e.htm "The SWISS EPHEMERIS is the high precision ephemeris developed by Astrodienst, largely based upon the DExxx ephemerides from NASA's JPL . The original release in 1997 was based on the DE405/406 ephemeris. Since release 2.00 in February 2014, it is based on the DE431 ephemeris released by JPL in September 2013". NB - Swiss Ephemeris is not free for commercial use. ==== 2. D port of simple Nelder-Mead simplex minimisation (written by Michael F. Hutt in original C version) here. With constraints. From Wiki: https://en.wikipedia.org/wiki/Nelder-Mead_method "The Nelder–Mead method or downhill simplex method or amoeba method is a commonly used nonlinear optimization technique, which is a well-defined numerical method for problems for which derivatives may not be known. However, the Nelder–Mead technique is a heuristic search method that can converge to non-stationary points[1] on problems that can be solved by alternative methods". ==== Links here: https://github.com/Laeeth/d_simplex https://github.com/Laeeth/d_swisseph |
December 22, 2014 Re: Swiss Ephemeris / Nelder-Mead simplex | ||||
---|---|---|---|---|
| ||||
Posted in reply to Laeeth Isharc | On Monday, 22 December 2014 at 08:43:56 UTC, Laeeth Isharc wrote: > Last one for a while, I think. I wish you all a very peaceful Christmas and New Year, and let's hope 2015 brings some more positive energy to the world. > > Links here: > https://github.com/Laeeth/d_simplex > https://github.com/Laeeth/d_swisseph > > > > 1. D bindings/wrappers for the swiss ephemeris > > http://www.astro.com/swisseph/swephinfo_e.htm > "The SWISS EPHEMERIS is the high precision ephemeris developed by Astrodienst, largely based upon the DExxx ephemerides from NASA's JPL . The original release in 1997 was based on the DE405/406 ephemeris. Since release 2.00 in February 2014, it is based on the DE431 ephemeris released by JPL in September 2013". > > NB - Swiss Ephemeris is not free for commercial use. > ==== > 2. D port of simple Nelder-Mead simplex minimisation (written by Michael F. Hutt in original C version) here. With constraints. From Wiki: > > https://en.wikipedia.org/wiki/Nelder-Mead_method > "The Nelder–Mead method or downhill simplex method or amoeba method is a commonly used nonlinear optimization technique, which is a well-defined numerical method for problems for which derivatives may not be known. However, the Nelder–Mead technique is a heuristic search method that can converge to non-stationary points[1] on problems that can be solved by alternative methods". > ==== > > Links here: > https://github.com/Laeeth/d_simplex > https://github.com/Laeeth/d_swisseph It's been ages since I read the paper, but there is a parallel version of Nelder-Mead that is supposed to give very large performance improvements, even when used on a single processor: http://www.cs.ucsb.edu/~kyleklein/publications/neldermead.pdf It is not difficult to implement. I may look into modifying your code to implement it when I get some time. |
December 22, 2014 Re: Swiss Ephemeris / Nelder-Mead simplex | ||||
---|---|---|---|---|
| ||||
Posted in reply to bachmeier | On Monday, 22 December 2014 at 20:46:23 UTC, bachmeier wrote:
> It's been ages since I read the paper, but there is a parallel version of Nelder-Mead that is supposed to give very large performance improvements, even when used on a single processor:
>
> http://www.cs.ucsb.edu/~kyleklein/publications/neldermead.pdf
>
> It is not difficult to implement. I may look into modifying your code to implement it when I get some time.
It will certainly also be advantageous to pass the functions as aliases, so that they can get inlined.
|
December 22, 2014 Re: Swiss Ephemeris / Nelder-Mead simplex | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marc Schütz | On Monday, 22 December 2014 at 21:39:08 UTC, Marc Schütz wrote:
> On Monday, 22 December 2014 at 20:46:23 UTC, bachmeier wrote:
>> It's been ages since I read the paper, but there is a parallel version of Nelder-Mead that is supposed to give very large performance improvements, even when used on a single processor:
>>
>> http://www.cs.ucsb.edu/~kyleklein/publications/neldermead.pdf
>>
>> It is not difficult to implement. I may look into modifying your code to implement it when I get some time.
>
> It will certainly also be advantageous to pass the functions as aliases, so that they can get inlined.
Thanks, Marc. I appreciate the pointer, and if you do have time to look at the code. I confess that it can't really be called my own implementation as I simply ported it to D. There is some more clever stuff within quantlib (c++ project), but I quite liked the idea of starting with this one as it is simple, and speed is not yet vital at this stage.
Laeeth.
|
April 13, 2016 Re: Swiss Ephemeris / Nelder-Mead simplex | ||||
---|---|---|---|---|
| ||||
Posted in reply to Laeeth Isharc | very nice post.. waleeed |
Copyright © 1999-2021 by the D Language Foundation