HP 17bII+ Silver solver
09-14-2018, 09:20 PM
Post: #1
 pinkman Junior Member Posts: 30 Joined: Mar 2018
HP 17bII+ Silver solver
I'm very satisfied with my HP 17bII+ Silver, which I find very powerful, but also nice and not looking too complicated (no [f] and [g] functions on keys like the HP 12c or HP 35s that I used to use at work every day, but a really complete calculator except for trigs and complex numbers calculations).
So the 17BII+ is my new everyday calculator. I don't come back to arguments where a good (HP) calculator is a perfect complement or subsitute to Excel.

I chose the 17BII+ after having carefully studied the programs I use in my day to day work:
- price and costs calculations: can be modeled in the solver, with 4 or 5 equations and share vars
- margin calculations: built-in functions
- time value of money: built-in functions
- time functions: built-in functions
For the few moments I need trigs or complex calculations, I always have Free42 or a real 35s / 15c not really far from me.

After having rebuilt my work environment in the (so powerful) solver, I started to study the behavior of the solver, looking at loops (Σ function), conditional branchings (IF function), menu selection (S function), and the Get and Let functions (G(), L()).
I googled a lot and found an interesting pdf file about the Solvers of the 19B, 17B, 17BII and - according to the author, the 17BII+ Silver.
The file is here : http://www.mh-aerotools.de/hp/documents/...ET-LET.pdf

I tried a few equations in the "Using New and Old Values" chapter, pages 4 and following.
There I found lots of differences with my actual 17BII+ Silver, which I would like to share here with you.

For instance, the following equation found page 4:
Code:
 A=2*G(A)+B
should return increasing values of A, recursively. It does not. Instead of incrementing A, it affects B to A, and then does not do anything when calculating A.

In the next example found page 5:
Code:
 A=G(A)+1
A is set to 1, whatever the initial value is, and the number of calculations you do.

Then the equation :
Code:
 Q=L(A:A+1)    ; page 5
effectively increases A and Q, but 2 by 2.

I don't understand the first 2 cases. In the first one, A should be set to -B, not B, if not using the "old" value of A. In the second one, the solver does not use the "old" value, but it does not also solve the equation, as there is no defined solution.
In the last case, I understand that the equation is evaluated twice before finding an answer. So the old value is used there, but not the way I could expect.

I finally found one - and only one - way to use iterations in the solver, with the equation :
Code:
 G(A)+1=A
It calculates what I could define as A++ each time the equation is evaluated. Note that it sometimes does not, I still haven't found when and why.
Note that neither A=G(A)+1 or A=1+G(A) or G(A)+2=A works.

I'm not disappointed, as the solver is a really interesting and useful feature of the calculator, but I'm just surprised not having found more working cases of iterations, or a clear understanding of how the solver works.