Welcome to the

MathU™ 3.1

RPN Scientific Calculator


IMPORTANT: If you do not see any images and are running Windows XP you need to extract the files from the .zip archive before viewing. Open the .zip file and select "Extract All Files".


What is MathU?

[Back to Top]

Thank you for evaluating MathU. MathU is a Reverse Polish Notation (RPN) scientific and financial calculator for the Palm OS based handheld computers. The calculator supports double precision accuracy and has 80 functions including 5 financial functions, 4 number bases and 8 statistical functions. There are 20 memory registers (two banks of 10 each). In addition, MathU supports graffiti input, copy and paste, and international number formats.

Personalize your copy of MathU. Choose from nine different keyboard color schemes (two for B&W devices).

Technical specifications

What is new in Version 3.1?

[Back to Top]

Version 3.1 adds:

Version 3.0 added:

Thanks to everyone who submitted suggestions!

System Requirements

[Back to Top]

MathU requires Palm OS 3.0 or higher and 240K of RAM.

MathU works on any handheld device that is running Palm OS 3.0 or higher including all devices from Palm, Inc. (Zire, Tungsten, Treo, and LifeDrive) as well as the Handspring Visors, the Sony CLIE, the HandEra, and the IBM Workpad. MathU has been enhanced to take advantage of the high resolution screens and non-square screens.


[Back to Top]

To install MathU simply unzip the archive you downloaded and use the install tool (or equivalent) to install MathU.prc on your Palm device. You might also consider assigning the calculator button to bring up MathU instead of the default calculator after syncing. To do this, go to the Prefs application, select Personal, and then Buttons. Select MathU from the list next to the button you wish to reassign.

If you have a Tungsten T3, also install the T3 DIA Compatibility PRC's. This will enable the non-square screen support on the Tungsten T3.

To uninstall MathU, simply delete MathU via the Palm applications screen.


[Back to Top]

MathU features a free 15 day trial. All the features of MathU are available during the trial. The only difference between the trial and a registered version is that the registration screen no longer displays on startup. After the 15 day trial, the five key (5) becomes disabled. If you decide that you like MathU, purchase a registration code to unlock it.

A registration code can be obtained by purchasing MathU from Creative Creek, LLC. You must provide the user name shown in the registration screen to obtain a valid code. The code will be e-mailed to you a few days after registration.

To register your software, select the Display->Registration menu item to bring up the registration screen.

Use graffiti (or the popup keyboard) to enter the registration code you received in the mail into the field following "Reg. code:" and tap OK. If the code you typed in is accepted, the screen will disappear and the MathU keyboard will be displayed. If you make a mistake in entering in the code, a dialog will indicate that the code wasn't valid and you will be given a chance to edit the code. If you wish to dismiss this dialog without entering a registration code, simply remove all the characters from the Reg. code field and tap OK.

If for any reason you have trouble registering your software please contact us via contact page.

Basic Operations

[Back to Top]

MathU is based on Reverse Polish Notation (RPN). RPN differs from standard mathematical notation in that the numbers to be operated on are pushed onto a stack and then executed upon by a function. Hence the operation

12.5 + 7

is keyed as

The enter key is used to separate the two values. Most buttons on MathU can access three functions. The function or number on the top of each button is accessed without shifts. The function just above the button is accessed by pressing the f-shift key before pressing the button. The f-shift indicator will light in the display when the f-shift is active. Similarly to access the functions on the front of the buttons use the g-shift key . The g-shift indicator will light in the display when the g-shift is active.

Most functions remember the last x register value used during a computation. This value can be accessed via the button.

MathU has a 16 element stack. The first four elements of this stack are referred to by the names x,y,z, and t.

The value of the x register is what is displayed.

MathU Walkthrough

(A guide to the MathU interface)


[Back to Top]

(main screen)

(main screen)


[Back to Top]

The preference screen is displayed when you choose Display->Preferences from the menu or when you tap the degree indicator on the screen (see walkthrough above).

Press OK to commit your changes. Press Cancel to leave them as they were. The More button brings up an additional preference screen.

Pressing Close on this dialog will not affect your current preferences until you press OK on the previous dialog.

Basic Functions

[Back to Top]

Change sign of mantissa or exponent.  
Start entering exponent  
Undo last character (or clear x register)  
Separate values and prepare x register to be overwritten

Support for non-square screens

If your device has a non-square screen, you can use MathU in portrait or landscape mode.

Portrait layout

Landscape layout

Simply close the input area to access these layouts.

Keyboard and Treo Support

[Back to Top]

MathU allows you to input numbers using Graffiti or by pressing keys on the Treo keyboard or an external keyboard. The characters 0 through 9, decimal, 'c', 'e' and the graffiti return character can be used instead of the numeric buttons, , , , and . The characters '+', '-', '*', '/' can be used instead of , , and . In hexadecimal mode, you must use Graffiti or the keyboard to enter the letters A through F.

On the Treo, the keyboard is automatically option-locked into numeric mode. Letters like 'e' that share space with the numbers can be accessed by pressing option before pressing the key. After each press, the keyboard will automatically return to numeric mode. Pressing the center of the 5-way is the same as .

When in hex mode, the keyboard is automatically locked into alpha mode in order to make entering A-F easier. To enter numbers, press option before each number or use the MathU keypad.

5-way Button Support

[Back to Top]

On devices with the 5-Way navigation button, the 5-way can be used to highlight and select the buttons on the keypad. When no buttons are highlighted, the 5-way up and down scrolls the stack.

International Number Formats

[Back to Top]

MathU honors the number format chosen in the Prefs application. If you find that MathU is displaying numbers using the wrong decimal or thousands separator, go to the Prefs application and choose Formats from the Popup menu. Choose the number format for your locale from the Numbers: popup.

For number formats that use the comma as the decimal separator, MathU displays instead of for the decimal button. Changing the number format affects the way values are displayed, copied, and interpreted during a paste.

Stack and Register Functions

[Back to Top]

MathU has 20 registers -- 10 primary registers and 10 secondary registers. The secondary registers are used to store values for the financial and statistical functions. The secondary registers can be used to store your own values but you must be careful not to use any financial or statistical functions if you do so.

The 10 primary registers are accessed by pressing or and then the register number through . To access the secondary registers (registers 10 through 19) press and then the register number through . Another way to access the secondary registers is to swap the primary and secondary registers with and then use or (without the ).

The stack, registers, and variables can be viewed by choosing Display->Registers from the menu or by tapping the key twice.

Choose OK to return to MathU. Tap on Register or Stack to see the values. Tap Hex, Dec, Oct, or Bin to view integer values stored in the registers in the chosen number base. Select an element in the list to place it into the x register.

Key Function Description Stack effect
n sto Store into register n. Specify n to access the secondary register (register 10+n)  
fn sto Store into financial register. fn can be , ,,, or .
n sto Add contents of x register to register n  
n sto Subtract contents of x register from register n  
n sto Multiply register n with contents of x register  
n sto Divide register n by contents of x register  
n rcl Recall from register n. Specify n to access the secondary register (register 10+n)
fn rcl Recall financial register. fn can be , ,,, or .
  Display the register, stack, and variables screen  
p<>s Swap primary and secondary banks of registers  
clreg Clear all registers  
x<>y Exchange x and y registers
lastx Recall last x value
clx Clear x register  
clstk Clear stack
scroll up button on Palm rollup Rotate stack contents up
scroll down button on Palm rolldown Rotate stack contents down
enter Push current value onto stack.
  drop Pop value off of stack
undo When entering a number undo the last character, otherwise clear the x register the same as clx.  

Scientific Functions

[Back to Top]

The unary functions operate on the value in the x register and replace it with the function result (f(x))

while the binary functions use the values in both the x and y registers and place the result in the x register.

Key Function Description Type
  f shift. Use to access functions above each button.  
  g shift. Use to access the functions at bottom of each button.  
  abs Absolute value unary
cbrt Cube root unary
  chop Round value to display precision unary
  mod Modulo (y - x * floor(y/x)) binary
pi Value of pi unary
ln Natural logarithm (base e) unary
ln1p ln(1 + x) more accurate for x near zero unary
log Base 10 logarithm unary
exp Exponential function unary
  expm1 exp(x) - 1 more accurate for x near zero unary
pow10 Ten to the x power unary
ytox y to the power of x binary
sq Square unary
sqrt Square root unary
inv Reciprocal unary
frac Fractional part unary
int Integer part unary
  floor largest integer smaller than or equal to x unary
  ceil smallest integer larger than or equal to x unary
  fact Factorial unary
% Percent (y * x) / 100 binary
% ch Percent change 100 * (x - y) / y binary

The int and frac functions round to 9 decimal digits before determining the integer and fractional parts. Under this definition frac is computed using the formula

frac(x) = x - int(x)

Most of the time this produces the desired results but does treat the input as if it only had 10 digits of accuracy. One of the ramifications of this is that the fractional part doesn't always have the same sign as x. Take for example the number 1.99999999964 (i.e. 2 - 36e-11). When displayed in MathU this number looks like it is 2.0. Because of the rounding int(x) is 2 (as expected) while frac(x) is -36e-10.

The ceil, round, and floor functions do not do this rounding and may be more appropriate to use if you need to take advantage of all 16 digits of accuracy that MathU maintains.

Trigonometric Functions

[Back to Top]

The trigonometric functions are sensitive to the angle mode: degrees, radians, or grads (deg, rad, or grd in the display where 360 degrees = 2 pi radians = 400 grads).

Set the angle mode using the Preferences dialog (available from the Display menu) or via the angle function. Except for atan2, these functions operate on the value in the x register and replace it with the function result (f(x)).

Key Function Description Type
sin Sine unary
cos Cosine unary
tan Tangent unary
acos Arccosine unary
asin Arcsine unary
atan Arctangent unary
  atan2 Two argument arctangent: same as atan(y/x) but in the correct quadrant binary
  sinh Hyperbolic sine unary
  cosh Hyperbolic cosine unary
  tanh Hyperbolic tangent unary
  asinh Hyperbolic arcsine unary
  acosh Hyperbolic arccosine unary
  atanh Hyperbolic arctangent unary
pi Pushes the value of pi (3.14159...) onto the stack.
  deg Radians to degrees conversion unary
  rad Degrees to radians conversion unary

Time Functions

MathU has three time functions

Polar Coordinates

MathU provides two functions to convert back and forth between Cartesian (rectangular) coordinates and polar coordinates. The relationship between polar coordinates and Cartesian coordinates is defined by the following picture and formula

x = R cos(theta)
y = R sin(theta)
R = sqrt(x2 + y2)
theta = atan2(y,x)
Key Function Description Effect on stack
R->P Convert from Cartesian coordinates to polar coordinates
P->R Convert from polar coordinates to Cartesian coordinates

Number Base Functions

[Back to Top]

MathU can display and compute with numbers in hexadecimal (base 16), octal (base 8), and binary (base 2) format as well as the default decimal (base 10) format. Non-decimal values are displayed with a subscript following them indicating the number base. The number base functions honor the wordsize set in the preference screen.

hexadecimal display
octal display
binary display

The functions hex, oct, bin, and dec convert values between bases and set the number base for further calculations and input. Use any combination of the numeric buttons and Graffiti to input non-decimal numbers. You must use graffiti to input the hexadecimal characters A through F since no buttons exist on the calculator for them. They do exist as program steps however.

Key Function Description
hex Convert x register to hexadecimal number base.
oct Convert x register to octal number base.
bin Convert x register to binary number base.
dec Convert x register to decimal number base.
  and Bitwise AND of x and y
  or Bitwise OR of x and y

Values outside the wordsize preference are wrapped (that is, the excess most significant bits are dropped) and are converted to an integer. The display will automatically switch to a smaller font when large numbers are viewed in oct or bin format. Large binary numbers may wrap on the display as well.

Modular Functions

[Back to Top]

A few functions behave differently when a non-decimal number base is chosen:

Key Function Description
  Two's complement. Replace x register with its two's complement (all bits inverted and 1 added)
Modular addition. Same as regular addition except that results that exceed the wordsize are wrapped.
Modular subtraction. Same as regular subtraction except that negative results are returned as two's complement numbers.
Modular multiplication. Same as regular multiplication except that results that exceed the wordsize are wrapped.
Modular division. Same as regular division except that results that exceed the wordsize are wrapped and any fractional remainder is discarded.

The other functions on the calculator can be applied to non-decimal numbers. However, if the result is not an integer that is in range, an error is displayed and the number base reverts to decimal. The value in the x register will be the result of the computation. Simply reapply the conversion routine to wrap and truncate the value to be in range.

Financial Functions

[Back to Top]

The financial functions are governed by the equation,

PV*(1+i)N + PMT/i*((1+i)N-1) + FV = 0

This equation is used when the annuity mode (BEGIN/END preference) is set to ordinary annuity (payments due at the end of the period ). When the annuity mode is annuity due (payments due at the beginning of the period ) then PMT in this equation is modified to be PMT * (1 + i).

The financial functions have two modes: input mode and calculation mode. MathU is in input mode if a number has been keyed into the calculator or any non-financial functions have been executed. Executing one of the main financial functions (, , , , or ) stores the displayed value in the associated financial register. MathU is in calculation mode after any financial functions have been executed and before any other functions that change the stack are executed. The result of a financial computation is pushed onto the stack:

Most of the time this should behave as you would expect. However, if for some reason MathU stores a value when you intended to compute one, simply execute the financial function again to obtain the desired result.

Key Function Description Details
N Number of periods Input mode: Store displayed value as N.

Calculation mode: Compute N.

interest Interest rate per period Input mode: Store displayed value as i (in percent).

Calculation mode: Solve for i. If the solver doesn't converge an error '-e-' will be displayed.

pmt Payment per period Input mode: Store displayed value as PMT.

Calculation mode: Compute PMT.

pv Present value Input mode: Store displayed value as PV.

Calculation mode: Compute PV.

fv Future value (or balloon) Input mode: Store displayed value as FV.

Calculation mode: Compute FV.

clfin Clear financial registers and set payment period to the end (ordinary annuity).  

The sign of PMT and FV is dependent on the state of the cash flow convention preference. When you are not using the cash flow convention, the label for PMT and FV are followed by an asterisk: PMT*, FV*.

Cash Flow Convention

Financial problems can be thought of as a series of cash flows. For example a mortgage consists of a large positive cash flow (the loan amount) followed by a series of monthly negative cash flows (the payments) with possibly a final negative cash flow at the end (the balloon payment). The diagram below illustrates this situation.

Positive cash flows (amounts you receive) are shown as upward pointing arrows. Negative cash flows (amounts you pay) are shown as downward pointing arrows. The horizontal axis of the diagram is time, with time increasing to the right. The time between the equally spaced payments is called the period.

For the problem to be solvable with MathU, there must be at least one cash flow in each direction. It is always possible to add a present value or future value cash flow to meet this requirement. Think about your problem to determine which is more appropriate (see example 4 below).


Example 1: Suppose you are interested in determining the payment for a car loan of $18,500 at 7.25% interest for 5 years. The key strokes to solve this problem using MathU are
  1. to reset the financial registers (since the values in the registers are maintained between sessions with MathU it is a good idea to reset the financial registers before each use of the financial functions).
  2. to set the number of periods (in months)
  3. since the interest per month is 7.25/12 %
  4. to set the principal or present value of the loan
  5. to compute the payment per period (ans: $-368.51). The value is negative because the payments are made in the opposite cash flow direction from the principle cash flow. [If it makes more sense to you for the payment to be positive, unselect the "Use cash flow convention" preference.]

Example 2: What is the payment if you are willing to pay a balloon payment of $2,000 at the end of the loan?

  1. Set the value $-2,000 as the FV (balloon) for the loan. The value is negative because this is money you will pay out.
  2. to compute the new payment per period (ans: $-340.75)

Example 3: How much interest do you end up paying with the balloon payment?

  1. to compute the total payments minus the loan value
    (ans: $-3,945.17). Note that and had to be pressed twice since the first time stored the total payments into FV or PV.

Example 4: To compute the effective interest rate in an IRA account that you put $2000 into each year, you will need to enter the current value of the account as a positive future value (FV) even though you haven't sold the assets in the account. To make the example concrete, suppose that you started your IRA in 1985 with a $10,000 rollover and that the value in the account is $80,000 in the year 2001.

  1. to reset the financial registers
  2. to set the number of periods (in years)
  3. to set the starting value of the account. The value is negative since you added this value to the account with the rollover.
  4. to set the annual contribution.
  5. to set the current value of the account. The value is positive since this is the money you would receive if you sold all the assets in the account.
  6. to compute the effective annual rate of return in the account (ans: 6.39%)

Statistical Functions

[Back to Top]

The statistical functions accumulate sums based on the values in the x and y stack registers. These sums are used to compute the mean and standard deviation or can be accessed directly via and . Use to reset all the statistical registers to zero before accumulating sums. If you make a mistake keying in the x,y values and after pressing , re-key the errant values and press to remove them from the sums. The mean and standard deviation are computed as

with similar equations holding for the y component as well.

Key Function Description Effect on stack
stats+ Accumulate x,y

n is the number of sums accumulated so far.

stats- Remove x,y

n is the number of sums accumulated so far.

mean Mean
std Standard deviation
clstats Clear statistical registers  
  fact Factorial  
  rand Random number from 0 to 1.0 (uniformly distributed)  
% Percent
% ch Percent change

Legal Stuff

[Back to Top]

Although care has been taken to insure a bug-free program, Creative Creek, LLC makes no warranty whatsoever, either implied or expressed, as to the correct functioning of this software. When using this software, the user assumes all responsibility for any damages caused, directly or indirectly, by its use.

MathU is copyrighted. Copyright laws apply and the software shall be classified as proprietary material. The unregistered version may be given to your friends. If you want to include MathU on your web site or to distribute it in any way, please contact us via our contact page.

When you purchase MathU you are granted a non-exclusive, nontransferable license to use the software and documentation for use in accordance with this License. This License allows use of the software by a single user unless otherwise specified by the description provided at time of purchase.

MathU and Creative Creek are trademarks of Creative Creek, LLC. Palm, Palm OS, and HotSync are trademarks of Palm, Inc. or its subsidiaries.

Contacting Creative Creek

[Back to Top]

See the Creative Creek web site for up-to-date information about MathU. If you have questions, suggestions, bug reports, or you just want to tell us how you much you like MathU you can contact us on the web at http://www.creativecreek.com/.


Copyright © 1998-2007 by Creative Creek, LLC and Clay M. Thompson -- All rights reserved.

Last updated: 10-May-2007