Many of the Calculator buttons are standard ones found in most of the other calculators and there is no need to explain them here. Elements that need an explanation are described below:
With purely numerical inputs the Calculator works just like any other RPN calculator: numerical operands are entered before operations, as described in the Introduction. Results, including partial results, are evaluated instantly and shown on the main display, while the full calculation history, or the stack, is shown on the top display. Plenty of examples are shown in the Formula Examples section.
Entering very small and very large numbers in scientific notation is easy. For example, the approximate Avogadro's number, 6.022 * 1023, can be entered as follows: the mantissa (6.022) first, followed by the "E" key, followed by the exponent (23): 6.022E23. You may wonder about sign rules regarding negative mantissas and negative exponents, right? There is no need to worry: after entering a number in scientific notation press the "+/-" key repetitively to obtain all possible sign combinations.
There is really no difference between entering numerical expressions and formulas - in place of numbers you just enter one of the six variables: u, v, w, x, y, and/or z. Naturally, formulas may feature multiple variables. See Formula Examples for more details. Frequently used formulas may be saved with the "Save" button; pressing it will open a new window where you can type formula description. It is recommended that you do so, since in time you may forget what the individual variables mean and what units are used.
The list of saved formulas may be displayed by pressing the "Load" button:
Tap on the formula row to load it into Calculator. Tapping the blue ">" button, in turn, will open formula description for editing. To delete a formula follow the established iPhone standard (e.g., in the Mail app): swipe a finger from right to left along the table row and a red "Delete" button will appear:
The RAD/DEG toggle button switches the units of arguments of trigonometric functions and the results of inverse trigonometric functions from radians to degrees, and back, respectively. As long as the DEG is on, the degree symbol ° is appended to the arguments of forward trigonometric functions, either numeric or algebraic, or names of the inverse functions. It is possible to mix radians and degrees in the same formula, when multiple trigonometric functions are used. For example:
In this example "u" and "12" are in degrees, while "v" is in radians. Similarly, outputs of the inverse trigonometric functions can be requested in either radians or degrees and mixed in the same formula. For example:
In the above, "asin" result is in radians while "acos" result is in degrees.
Standard copy and paste operations are very simple: The "Copy" button copies into a clipboard whatever is shown on the main display, either a number, or a variable, while the "Paste" button deposits contents of the clipboard back into the main display. The "Copy" button, however, performs additional tasks in the RUN mode - see below.
The "Run" button (10) turns on the RUN mode where repetitive evaluations of currently displayed formula are possible. It is inactive when a formula is not present. Only "+/-", blue, and green buttons are active in the RUN mode. RAD/DEG toggle has no effect - it should be used only during the formula programming! An input field covering irrelevant function and variable buttons opens for you to see the formula inputs and result. Type values of individual input variables, as prompted, using the numerical keys and confirm with "Enter":
The "Clear" button in the right lower corner prepares input of new variables. Old values are remembered, which is quite handy if you wish to keep some variables fixed - simply confirm the old values with "Enter".
The "Copy" button stores the last result in Calculator's clipboard, as usual, but it also stores the entire history of current calculations in the form of a tab-delimited table. The latter is stored in the system clipboard, so that you can paste the table into other applications, like Mail. After the first round, "Copy" stores the current formula, table headings, and the first result - each in a separate row of text. For example, copying and pasting the above example would result in the following table:
(2*10^(u+v-2*x)+10^(u-x))/(10^(u+v-2*x)+10^(u-x)+1)
u v x Result
9.6 4.28 7.4 0.99448796403287
In all the subsequent rounds of calculations, repeated copy operation stores the result in a new single row. For example, varying only the "v" variable in the above example would result in a table like the one below:
(2*10^(u+v-2*x)+10^(u-x))/(10^(u+v-2*x)+10^(u-x)+1)
u v x Result
9.6 4.28 7.4 0.99448796403287
9.6 4.88 7.4 0.99674078520208
9.6 5.48 7.4 1.00561022307019
9.6 6.08 7.4 1.03941805779272
9.6 6.68 7.4 1.15393376727099
Hitting the "C" key ends the RUN mode and returns Calculator to its normal state. The formula, however, is still preserved. It can be cleared out with a second press of the "C" button.
The "Graph" button (11) turns on the GRAPH mode in which currently displayed formula plots can be generated. It is inactive when a formula is not present. Entering GRAPH mode opens an input field similar to the one in the RUN mode, but the expected inputs are different. First, you must enter the minimum and maximum values for the abscissa (horizontal axis) of a graph. This is sufficient input for formulas featuring only a single variable - in this case the variable values become the abscissae while the function values form the ordinates (vertical axis). Plotting multivariate functions is a bit more complicated. First, you may want to plot varying only one variable at a time, while keeping all others fixed. For example, in the featured acid protonation formula you may want to vary only the "x" variable while freezing "u" and "v". In such a case, "x" becomes the abscissa defined by the "Min" and "Max" values. In the "zero point" entries you define values of the fixed variables, e.g. 9.6 for "u" and 4.28 for "v" ("x" should receive the value of 0):
It is the subsequent "directional vector" that tells the Calculator which variables are fixed and which should vary for plotting purposes. To keep "u" and "v" fixed you must enter 0 for each of the "du" and "dv" components, while "dx" should be set to 1 to indicate varying "x":
Second, what if you want to plot your function when some or all variables are changing? Well, it is possible, too. It is a good time to explain what the "zero point" and "directional vector" are all about. If you are scared of math, then you can stop right here. But if you are brave enough to keep on reading, then you will be rewarded with wonders of ray plotting in multiple dimensions. What is "ray plotting"? Imagine, e.g., the strength of the Earth's gravitational field in three dimensions of space. According to the famous Newton's law, it is inversely proportional to the squared distance (1/d2) from the Earth's center. Now imagine that you shine a laser beam ("ray") straight up - if you could fly up along this ray then you would feel the strength Earth's gravity diminishing according to the 1/d2 law. Similarly, ray plotting shows values of multivariate function - your formula - "felt" along a ray that you define in a multidimensional space. In general case, a ray, R, is a straight line defined by the following vector equation:
R = R0 + t * dR
If you are not familiar with vector notation, here is what the above means: R is the collection of your formula's current variables; for example R = (u, v, x) = a point in three-dimensional space. Similarly, R0 = (u0, v0, x0) = the zero point, and dR = (du, dv, dx) = the directional vector. That leaves the mysterious parameter "t" that multiplies the directional vector. Well, the "t" is now the abscissa controlled by the "Min" and "Max" range parameters. In our example, the above vector equation can be now written in terms of individual variables:
u = u0 + t * du
v = v0 + t * dv
x = x0 + t * dx
The concepts behind ray plotting now should become a bit more clear. By changing a single parameter parameter "t" you can vary all the formula variables simultaneously. u0, v0, and x0 are variable values when t=0 (i.e., at the origin of the graphing coordinate system). du, dv, and dx control the relative rate of change of respective variables. Makes sense, right? When du=0 and dv=0 the "u" and "v" variables are fixed at u0 and v0, respectively. When x0 and dx=1, then "x" becomes the abscissa: x=t.
There is one important detail to remember: Calculator always normalizes the directional vector dR before plotting - it divides each of the entered du, dv, ..., components by the vector's length, so that plots with different dR vectors are on the same scale. For example, if you entered dR = (1, 2, 2) the graphing routine normalizes it to dR = (1/3, 2/3, 2/3) because the initial vector length is the square root of 12 + 22 + 22 = 9. Clear?
There is nothing like a good example after a load of theory. A formula with no more than two variables can still be plotted with a 3D graphing software, such as Mac OS X's "Grapher". Below, is a surface plot of a simple function Z = sin(x) + 0.04*e0.55*y :
Looking on its contours from above, let's define 5 distinct directions:
The corresponding (unnormalized) directional vectors are given in parentheses. Let us set the zero point to (0,0). The (1,0) and (0,1) directions lead to the expected single-variable ("x" and "y", respectively) plots.
(1,0):
(0,1):
Here is what happens when both variables vary with equal rate in the (1,1) direction...
...and in the remaining two directions:
(2,1):
(1,2):
Graph mode lets you "feel" even very complex formulas in up to 6 dimensions by shooting rays in multiple directions and looking and the corresponding plots. Perhaps future releases of this app will lift this "6D" limitation.
Please consult "Graph Operations" and "Graph Settings" sections to learn how to manipulate graph display.