casio fx-4800p

An attractive slim design with a hard cover than opens like a book and is closed by a small latch. the keys are of sensible size and spacing. the display is a dot matrix 4 lines with 16 character across. it cannot draw graphs, but the 4 lines are useful when programming. Powered by 2 CR2032 lithium cells, of which one is the main power and the other the memory backup.

Accuracy is very good indeed with the machine working to 15 digits internally. for example sqrt(99) = 9.94987437106619 (need to coax out the internal 5).

The screen is 16x4 lines dot matrix display, each a 5x7 matrix. Unfortunately, this means there are gaps between the characters making the screen not suitable for graphing.

Despite the 16 char display, numbers are only shown to 10 figures. Which cannot be increased beyond 10 manually. It appears the 16 character display is to maintain the ability to display a 10 figure mantissa even when scientific. Only a two digit exponent is provided.

complex number are provided as free form expressions involving i. there is an i button. expressions can involve 1/x, sqrt, x^2, but unfortunately trigs, logs and powers are excluded (eg 2+sqrt(1+3i)/i). the multi-line display comes in handy at showing both real and complex parts to precision.

Numerical values (including complex) can be stored into memories A through Z. This works quite well and these variables can be used in free form expressions, although such variable names are limited to one letter. Unfortunately some of these variable memories are purloined for certain advanced functions such as stats, differentiation and integration. This is a bit of a shame as you have to remember which memories are unstable. The memories are retained whilst off, as is, of course, the program memory.

There is the usual casio trick of overlapping the memories with arrays, so that a[1] = b and a[2] = c, whilst b[-1] = a and so on, this can occasionally be useful in saving programming memory, since any constant array offset can be coded as a different letter at the expense of program confusion!

The program memory may be traded for more memory slots which must be accessed by array indices corresponding to letters after Z. Each new memory takes 10 bytes of storage. Starting from the default configuration of 4500 bytes and 26 memories.

there is a solve function that is easy to use. you enter a formula, store it in the solver then enter solve mode whereupon you are presented with the list of variables used by the formula. you can scroll through these, entering the known values and solving for the missing variable. this works a bit like the solvers on hp calculators. for a challenge i gave it the tvm equation, but it was unable to solve either example1 nor example2, and was unable to find fv to sufficient accuracy (it returned 331665.9956). these are, however, hard cases.

numerical integration and differentiation are present, but although fast, i was not able to persuade the integrator to spend more time improving its accuracy. see the torture test for results. it would not accept n>9 in int(fn, start, end, n) where it makes 2^n iterations.

There are 20 handy built in constants, based on an ISO 1992 standard. Some of these values have now slightly changed.

Differential Calculation (detail)

An expression in X, a value of X and a delta-step is input. The approximation for the derivative at that point is returned. It can also figure out the delta if omitted.

This is almost completely useless. It is clearly performed numerically in a way which would be much easier by hand. It also uses memories F,G,H. A useful implementation would never need input delta and figure out a good way to perform the derivative numerically.

Let's take an example:  at x=355/226. Putting this right into the calculator as , gives the answer 5.652661391e13. This is only correct to 2 digits, since , and

A simple, keyboard evaluation using h = 1e-10, x = 355/226 of (tan(x+h)-tan(x-h))/2/h =5.620891571e13 which is already 5 correct digits without too much effort.

So not impressed by the built in numeric differentiation.

where are matrices?

slightly surprising is the omission of matrices. a clear bonus for a unit with a large display and navigation keys. i expected something similar to the fx-5500l which has limited, but useful matrix support.

other omissions

a few miscellaneous features would also be nice. a dedicated quadratic equation solver (including complex roots) would be handy. some tvm features or an equation library.