UltimaCalc is packed with features on many levels. Percentages, of course, and a large number of functions, including functions for calculating the slope of a line, and calculating definite integrals, as well as the usual trigonometric functions, hyperbolic functions, logarithms (natural, common, and base 2) and exponential. Also factorials, permutations and combinations.
UltimaCalc accepts expressions in mathematical form. Just enter the expression into the lower part of the display and hit the 'Enter' key. If the expression is valid, the result will be shown in the upper display box. UltimaCalc knows a wide range of mathematical functions, and you can also define your own functions.
You can have several expressions calculated together, one after the other, with only the value of the last one being displayed. This feature allows the storing of intermediate values, and is particularly useful when the same value is to be used more than once in an expression, or if you want to be able to conveniently change a value and repeat the calculation.
UltimaCalc Main Window
The first two actual-size images (on Windows XP) show UltimaCalc at its narrowest width, and with the window's title bar removed. With no title bar, the window can still be dragged, by clicking and dragging on the area to the right of the menus. The third image (on Windows Vista) shows the main window at a width great enough to show results to full precision. These three windows show the font at its largest setting. Notice that the background colour can be changed.
Some calculations generate more than one result. When this happens, UltimaCalc can show all of the results together in a separate window. The screen shot below shows various fractions which approximate the value of
pi. The button marked 'Copy' will copy the displayed text to the Windows clipboard so that it can be pasted into any program that accepts plain text.
The main window handles evaluation of expressions. Other windows can be opened to run special tools to do things like calculate standard deviation, calculate regression lines, fit data to curves, solve simultaneous nonlinear equations, find the minimum value of an expression, and so on.
UltimaCalc is very accurate. It calculates to around 38 digits of precision. UltimaCalc handles a huge range of numbers, ranging in magnitude from about 109800 down to about 10-9800. If the result of a calculation is smaller than the internal representation can handle, you will be warned. Other calculators would silently convert the number to 0, thereby throwing away all precision.
You can choose a wide range of formats for displaying the results. In automatic precision mode, the number of digits shown increases as you widen the window. A long string of digits is not very readable, so you can have them arranged in groups of three or five. Also, you will not usually need such high precision. UltimaCalc provides a choice of 8, 12 or 16 digits to be displayed. Changing the precision at which numbers are displayed has no effect on the accuracy of a calculation.
You can view a result as various fractions which represent the result to several different levels of accuracy. You can also show results in hexadecimal. Most calculators seem to assume that numbers shown in hexadecimal are always integers. This is not so, of course. The image shows the value of pi in hexadecimal, using commas to separate each group of digits.
Suffixes (unit multipliers)
UltimaCalc understands a range of suffixes that act as multipliers on a value. These suffixes are very useful for example in electronics with the display format set to 'Engineering'.
The image shows how to calculate the resonant frequency of a tuned circuit consisting of
a 25 picofarad capacitor with a 500 nanohenry inductor. The resonant frequency is about 45 Megahertz, shown to 8 digit precision.
Notice that the title bar has been removed to save space on the desktop, and the background colour has been changed to help the window stand out.
Apart from numerical calculations, UltimaCalc can calculate with dates. For example, it can tell you the date of Easter for any year after 1582, the year that the Gregorian calendar was introduced in Catholic countries to replace the old Julian calendar.
You can also calculate, for example, what date it will be in a given number of days or weeks (or even hours) from today, or from a particular date. You can also calculate Julian day numbers.
User-defined Variables, Constants, and Functions
As indicated in the image above, defining your own variables is simply a matter of entering a name followed by an equals sign, followed by an expression. A window can be opened to show all variables, constants and user-defined functions currently known. Constants are created from variables by marking them as such in this window, and this window allows you to easily define or edit your own functions. The variables, constants, and functions can all be saved together in a plain text file.
UltimaCalc knows a lot of prime numbers. The first time it runs, it will build a file of about a hundred thousand prime numbers. This only takes a few moments, and you will probably not notice it as the work is done in the background. If these are not enough for you, you can tell UltimaCalc to calculate up to more than two hundred million prime numbers for it to refer to.
It will not be holding all these numbers in precious computer memory (RAM). Instead, UltimaCalc only keeps in RAM the primes it thinks it may be needing, so the burden on the computer's RAM is negligible.
Non-linear Least Squares Fit
UltimaCalc can fit an arbitrary expression to a set of data. The following image shows a typical calculation. Assuming that each X-Y pair can be represented by the equation
y=a+b*(1-exp(-x/c))2, the question is, "What are the values of the variables
c which give the best fit?" To answer this, we need to start from a set of (guessed) initial values.
UltimaCalc has a wide range of options available. The following screen shot shows the window for specifying the format to be used for displaying numbers in the main window. For the full range of options, consult the help manual.
All calculations performed in UltimaCalc's main window can be automatically logged to a plain text log file of your choosing. This is true also of many of the specialised windows. However, sometimes you do not want to log every single calculation, particularly when these are done automatically as you are entering the data. In such cases, UltimaCalc only logs the calculations when you tell it to do so. This can save a great deal of clutter in the log file.