Live data from Hacker News

Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

arxiv.org

1–10 of 13 posts

Re: Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

#3
This is pretty notable isn't it? This is the first exact, non-series solution (?) of a very famous equation from orbital mechanics, that was first posed 400+ years ago.

https://en.wikipedia.org/wiki/Kepler%27s_equation

The work this builds on was discussed here (121 comments):

https://news.ycombinator.com/item?id=25375575

Re: Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

#5
I wonder how it happened that the inner loop here (https://github.com/oliverphilcox/Keplers-Goat-Herd/blob/3a0b...) with N_it=5 is 2 times slower than the inner loop here (https://github.com/oliverphilcox/Keplers-Goat-Herd/blob/3a0b...) with N_it=18. It doesn't look two times faster at all, and I've spent a lot of time optimizing numerical code. Is it possible that the compiler managed to vectorize the faster loop but not the slower one, or something like that? Or is it that specifically the divisions are too many and too expensive? Or the N_it-1 extra evaluations of sincos?

Re: Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

#6

This is pretty notable isn't it? This is the first exact, non-series solution (?) of a very famous equation from orbital mechanics, that was first posed 400+ years ago. https://en.wikipedia.org/wiki/Kepler%27s_equation The work this builds on was discussed here (121 comments): https://news.ycombinator.com/item?id=25375575

In numerical code the distinction between exact closed-form solutions and approximate solutions (through Newton's method and the like) is just not that meaningful. What determines speed is how much arithmetic you have to do, and it's quite possible to have a closed-form solution that is too cumbersome to evaluate compared to an approximate method. After all, approximate methods only have to converge to tolerance, nobody cares about exactness itself.

Re: Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

#7

This is pretty notable isn't it? This is the first exact, non-series solution (?) of a very famous equation from orbital mechanics, that was first posed 400+ years ago. https://en.wikipedia.org/wiki/Kepler%27s_equation The work this builds on was discussed here (121 comments): https://news.ycombinator.com/item?id=25375575

In numerical code the distinction between exact closed-form solutions and approximate solutions (through Newton's method and the like) is just not that meaningful. What determines speed is how much arithmetic you have to do, and it's quite possible to have a closed-form solution that is too cumbersome to evaluate compared to an approximate method. After all, approximate methods only have to converge to tolerance, nob…

Computational complexity seems like a useful frame for thinking about such distinctions. If you can calculate the state of a system at time t in O(log t), that's a lot like having a closed-form solution. On the other hand if the calculation takes O(t) time, then it seems much less like a closed-form solution and more like a step-by-step simulation.

Re: Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

#8

This is pretty notable isn't it? This is the first exact, non-series solution (?) of a very famous equation from orbital mechanics, that was first posed 400+ years ago. https://en.wikipedia.org/wiki/Kepler%27s_equation The work this builds on was discussed here (121 comments): https://news.ycombinator.com/item?id=25375575

In numerical code the distinction between exact closed-form solutions and approximate solutions (through Newton's method and the like) is just not that meaningful. What determines speed is how much arithmetic you have to do, and it's quite possible to have a closed-form solution that is too cumbersome to evaluate compared to an approximate method. After all, approximate methods only have to converge to tolerance, nob…

Yes, well put. I'd take it further - in numerical code there is no real distinction /at all/ between closed form vs iterative solutions. Every type of numerical code is subject to truncation error; an iterative method with few moving parts may systematically converge to a more accurate result than the direct expression of a closed-form solution.

It's quite interesting to delve into how special functions like `sin` and the like are actually implemented and the lengths people go to to make them "correctly rounded" (see, for example, crlibm). Even something as simple as linear interpolation between two floating point endpoints can be quite subtle if you want an implementation that is exactly correctly rounded and also fast.

Re: Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

#9

This is pretty notable isn't it? This is the first exact, non-series solution (?) of a very famous equation from orbital mechanics, that was first posed 400+ years ago. https://en.wikipedia.org/wiki/Kepler%27s_equation The work this builds on was discussed here (121 comments): https://news.ycombinator.com/item?id=25375575

In numerical code the distinction between exact closed-form solutions and approximate solutions (through Newton's method and the like) is just not that meaningful. What determines speed is how much arithmetic you have to do, and it's quite possible to have a closed-form solution that is too cumbersome to evaluate compared to an approximate method. After all, approximate methods only have to converge to tolerance, nob…

> In numerical code the distinction between exact closed-form solutions and approximate solutions (through Newton's method and the like) is just not that meaningful.

Not that meaningful indeed, until, as the abstract states, it outperforms existing series and root-finding solutions by a factor of at least 2. QED. QED.

Re: Kepler's Goat Herd: An Exact Solution for Elliptical Orbit Evolution

#10

This is pretty notable isn't it? This is the first exact, non-series solution (?) of a very famous equation from orbital mechanics, that was first posed 400+ years ago. https://en.wikipedia.org/wiki/Kepler%27s_equation The work this builds on was discussed here (121 comments): https://news.ycombinator.com/item?id=25375575

In numerical code the distinction between exact closed-form solutions and approximate solutions (through Newton's method and the like) is just not that meaningful. What determines speed is how much arithmetic you have to do, and it's quite possible to have a closed-form solution that is too cumbersome to evaluate compared to an approximate method. After all, approximate methods only have to converge to tolerance, nob…

This is something I wish they hammered into you more in school. Took a while for me to realize first you have to understand how good something needs to be, and then just do it at least that well.
Post reply on HN