nanograv / PINT

PINT is not TEMPO3 -- Software for high-precision pulsar timing
Other
118 stars 101 forks source link

Use a better algorithm to solve Kepler equation #1427

Open abhisrkckl opened 1 year ago

abhisrkckl commented 1 year ago

Right now the Kepler equation is solved using the Newton-Raphson method. https://github.com/nanograv/PINT/blob/18c643a9c698120d457813f1a61e91aa8c63473d/src/pint/models/stand_alone_psr_binaries/binary_generic.py#L350

There are faster (and no less accurate) methods for doing this. For example, Markley (1995) http://adsabs.harvard.edu/abs/1995CeMDA..63..101M

We should implement such a method instead of the Newton-Raphson method.

dlakaplan commented 1 year ago

This seems like a good student project

AkashA98 commented 1 year ago

I am quite interested in this stuff... If this is not time-sensitive, I can take this up...

scottransom commented 1 year ago

I think this is a fine project, but we should temper our expectations! I suspect that the current solver isn't even close to the bottleneck in any of our calculations. N-R usually converges in only a couple iterations except in high eccentricity cases, I believe.

dlakaplan commented 1 year ago

Yes, a more thorough analysis of where time is spent (which a few people have started but not finished) could be helpful to really focus us.

abhisrkckl commented 1 year ago

Here is an implementation of this https://pyastronomy.readthedocs.io/en/latest/pyaslDoc/aslDoc/keplerOrbitAPI.html