# SOLVR

Solv
Argument Types:
None
Result Type(s):
None
Invertible:
No
Valid In Expression:
No

This operation gets the value of EQ from the current directory or one of its parent and goes into a special mode where an equation stored in that symbol can be easily evaluated. Normally, the value of EQ should be an expression.

After executing this operation, the "Solvr" menu buttons is opened. The buttons which appear in this menu depends on the expression being manipulated. The set of symbols which appear in the expression are represented by buttons in the menu. However, if one of these symbols has a value associated with it which is itself an expression, it is then replaced with the symbols which appear in that expression.

As an example, imagine that the expression 'SIN(SQ(X)+Y)' is being manipulated. In this case, the symbols X and Y will appear as buttons in the menu. If the value of X is then set to 'A+B', the X button will disappear from the menu and two new buttons for A and B will instead appear. Also, if the value of X is then cleared, the A and B buttons will be removed and X will reappear.

If the expression does not contain a "=" operation, then a button will appear with the label "EXPR=". Otherwise, the buttons "LEFT=" and "RIGHT=" will appear.

Commonly, in this mode you will push values for the variables onto the stack. If a button for the variable X appears in the menu and you want to set X to 5, push 5 onto the stack and press the X button. The variable X will be set to that value from the stack. With values set for all variables, you can then press the "EXPR=" button to evaluate the expression for those variables. Alternatively if the expression contains a "=" operation, you can press the "LEFT=" or "RIGHT=" to evaluate the left or right side of the expression.

A root for a variable can also be searched in this mode. For an expression without an equal sign, a root for a variable is a real value for that variable for which the expression evaluates to zero. If the expression contains an "=" operation, it is treated like a subtraction and that expression is then used to search for a root.

To find a root for an expression of X, first set X to a value which you believe to be near a root. Then, press ■X. If the expression 'SQ(X)-2' is being manipulated, then the root we are searching for is square root of 2. This can be found by setting X to 2 which will be our guess where the root might be and then pressing ■X. After a short time, the root is pushed onto the stack and the calculator will pop up a notice to say it found a root. In this case, 1.41421356237 is pushed onto the stack. Also, X will have that value now.

Alternatively, you can set X to a complex value as your guess for the root. In this case, the real value of that complex value is used as the guess and the imaginary component is ignored. Also, a list of one, two or three real or complex values can be stored in the variable as our guess. This allows multiple guesses which can help the root finding algorithm to find the appropriate root. Ideally, the guesses will be on either side of the actual root.

In some cases, the algorithm may never find the root. In this case, press the "Attn" button on the calculator to interrupt its search.

If you set the variable to a list of three values, the search may result in finding a maximum or minimum value of the expression. To search for a maximum value, the lowest and highest guess must be on either side of the maximum and the middle guess must be closer to the maximum than the other two guesses. Similarly, the three guesses must contain the minimum. If the maximum or minimum is not in the range of the guesses, then the guesses will instead be used to find search for a root. When a max or min is found, the location of the maximum or minimum is pushed onto the stack and stored into the variable. Also, the calculator pops up a message to say what it found.