Swiss Ephemeris / Nelder-Mead simplex

bachmeier via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Dec 22 12:46:21 PST 2014


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.


More information about the Digitalmars-d-announce mailing list