Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!zaphod.mps.ohio-state.edu!swrinde!ucsd!ucbvax!bloom-beacon!eru!luth!sunic!mcsun!hp4nl!charon!jurjen From: jurjen@cwi.nl (Jurjen NE Bos) Newsgroups: comp.sys.handhelds Subject: Re: The Solver Message-ID: <1993@charon.cwi.nl> Date: 23 Aug 90 08:20:36 GMT References: <3346@rwthinf.UUCP> Sender: news@cwi.nl Lines: 34 berg@cip-s03.informatik.rwth-aachen.de (AKA Solitair) writes: >Hello HP*8-hackers! Here I have a somewhat "high-level" question. >I don't know if this has been explained before, but does anybody have >the details on how the solver exactly works? >I mean what it exactly does with the initial guesses you give it, and >how it extrapolates? Maybe someone at HP could shed some light onto this? >(It should not be that classified, I guess :-) >-- The solver is an incredible complex program, and it works better and more complicated than any equivalent program I have ever seen before. I worked a little bit on figuring out what the solver does, and I found the following: It will use some tricks, that work about as stated below: Normally (if there is a sign change), it does the well-known secant method. If all three points have the same sign, take the the zero of the parabola that goes through those points; If this parabola does not have a zero, take the top; If the middle point does have a high absolute value, take the zero of the hyperbola through the three points; If a point is undefined, take the average between this point and the previous one; (And sometimes it does something else that I don't understand). As I recall, the programmer of this (wasn't that Bill Wickes Himself?) got a prize for this formidable piece of numeric programming art. -- | | "Never imagine yourself not to be otherwise than what | | Jurjen N.E. Bos | it might appear to others that what you were or might | | | have been was not otherwise than what you had been | | jurjen@cwi.nl | would have appeared to them to be otherwise." |