Open jorgepiloto opened 3 years ago
I did not noticed but having a solver which does not require an iterative process breaks the current set of common arguments used by the different solvers. This is translated into not having as parameters the absolute tolerance atol
, relative one rtol
or the maximum number of iterations maxiter
!
In addition, the original routine developed by Thorne was published in "SERIES REVERSION/INVERSION OF LAMBERT'S TIME FUNCTION" who's DOI is https://doi.org/10.2514/6.1990-2886.
This article by Sharaf can be useful for computing the rest of the orbital parameters apart from the semi-major axis. A conversion to RV set will be required.
The mathematical symbols (Z)_i
are the so-called "Pochhamer symbols". Hopefully, SciPy implements those under the poch function 🎉
My local solution properly computes the A_array
, Q_matrix
upper triangular and B_array
. However, the series seems to be strongly dependent on the number of coefficients and even to diverge at some cases. In fact, Thorne published this paper about the series convergence.
I was not able to identify why the current implementation in #33 does not converge. Sadly, this will not be included in 0.2.
đź’» Solver request: thorne2004
The algorithm devised by James D. Thorne uses a series expansion to solve for the Lambert's problem. These approach breaks all the common steps for a Lambert's solver, meaning that it does not require an initial guess nor a numerical root finder. Different series are provided for different orbit types
đź“ť References
Vallado provides a pseudo-code in his "Fundamentals of Astrodynamics and Applications".