(HP67) Barkers's Equation

12062019, 01:27 PM
Post: #1




(HP67) Barkers's Equation
An extract from An Efficient Method for Solving Barkers's Equation, British Astronomical Association, R. Meire, Journal of the British Astronomical Association, Vol. 95, NO.3/APR, P.113, 1985
"In a parabolic orbit, the true anomaly v (as a function of the time) can be obtained by solving a cubic equation for tan y, the socalled Barker equation. A modified method of solution is described and it is shown that this new form is very efficient from a computational point of view: it needs less program statements, is faster, and it has greater accuracy than the normally used trigonometric solution. … In programming this trigonometric method on a computer or on a calculator, a problem occurs with the cubic root in equation (6) if W < 0. We must include a conditional test in the program to solve this problem. As an example, Appendix A shows the program for an HP67 calculator, and it can be seen that the cubic root problem takes four additional steps. … Appendix B gives the program for the HP67 calculator. Although the trigonometric solution has a certain 'beauty', it cannot compete with this new solution (equation (12)) from a practical point of view." FULLY documented! BEST! SlideRule there are THREE pages to the article. Use the navigation links at the bottom to 'see' ALL three. The program listings are on page 115. 

12062019, 06:39 PM
(This post was last modified: 12072019 09:21 PM by Albert Chan.)
Post: #2




RE: (HP67) Barkers's Equation
Solving cubic with Cardano's formula, x³ + 3x  2W = 0
y = ³√(W + √(W²+1)) x = y  1/y Note: discriminant = W²+1 > 0, we have only 1 real root for x If W<0, y may be hit with subtraction cancellation. We can avoid catastrophic cancellation by solving x'³ + 3x'  2W = 0 x = sign(W) x', where sign(W) = 1 if W=W, else 1 Or, we can go for the big y. y = ³√(W + sign(W) √(W²+1)) = ³√(cot(cot^{1}(W)/2)) We still have the cancellation error issue when y ≈ 1 A better noniterative formula is to use hyperbolics. x = 2 sinh(sinh^{1}(W)/3) 

12072019, 09:39 PM
(This post was last modified: 01132020 02:57 AM by Albert Chan.)
Post: #3




RE: (HP67) Barkers's Equation
(12062019 06:39 PM)Albert Chan Wrote: y = ³√(W + sign(W) √(W²+1)) = ³√(cot(cot^{1}(W)/2)) Prove: let θ = cot^{1}(W), c = cot(θ/2) Half angle formula: cot(θ) = W = (c²1) / (2c) c²  2W c  1 = 0 → c = W ± √(W²+1) Since θ < pi/2, c has same sign of θ, which has same sign of W (assumed sign(0)=1) However, 2 roots of c have opposite sign. Matching c and W signs, we have: c = cot(cot^{1}(W)/2) = W + sign(W) √(W²+1) 

01312020, 03:38 PM
(This post was last modified: 01312020 03:41 PM by Albert Chan.)
Post: #4




RE: (HP67) Barkers's Equation
To complete the symmetry (again, assume sign(0)=1):
c²  2W c + 1 = 0 → c = W ± √(W²1) c = cot(csc^{1}(W)/2) = W + sign(W) √(W²1) Note: domain of csc^{1}(W) = sin^{1}(1/W) is W ≥ 1, otherwise c is a complex root. 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)