home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1998 December
/
PCWorld_1998-12_cd.iso
/
software
/
servis
/
Ostatni
/
Kalk
/
ABOUT.TXT
next >
Wrap
Text File
|
1998-09-27
|
13KB
|
362 lines
KALKULATOR - ABOUT THE PROGRAM
=====================================
You can buy a decent scientific calculator in your drugstore for
$15 or less. Put it next to your computer's keyboard - and why
bother with any calculator program?
This means that a program of this kind, in order to be more than
just a gadget, has to have features you will not find in any
calculator. Here I will try to convince you that Kalkulator is
such an application, although, of course, ultimately you will be
the judge.
What follows is a brief listing of Kalkulator's features.
1. EXPRESSION EVALUATION
On most calculators (with a notable exception of some Sharp and
Casio models) an expression is being evaluated while you are
entering it. As soon as the next operand (numeric value) has been
entered, you do not see the previous one(s). Upon completion of
an expression, you cannot really see what went into it. If you
make (or suspect) an error, everything has to be re-entered from
the beginning.
In Kalkulator the whole expression is entered first in a notation
very much like that used on paper. Only when the expression has
been entered, you compute it. The expression stays there, and at
any moment you can review it, modify and recompute. More, you can
switch between six different expressions at a time (twenty-four
in the registered version).
More, Kalkulator allows you to enter expressions into dialog boxes
wherever a numerical input is expected. For example, you can plot
a function from Pi/3-A to Pi+2A without precomputing the graph
limits.
2. FUNCTION SET
Kalkulator has more functions that any competition I am aware of
(and, certainly, more than some "ultimate Windows calculators",
boasting "logarithms, power, pi and much more" - no, I am not
inventing this!):
- 39 standard functions: logarithmic and exponential (base e, 10
and 2), trigonometric and inverse, hyperbolic and inverse,
square, cube and corresponding roots, some handy utility
functions (like fractional part, absolute value etc.).
- 4 Euler (or related) functions: gamma, logarithmic gamma, beta,
combinations (the factorial operator is also provided)
- 44 statistical distribution functions for eight most commonly
used distributions; this includes left, right and central
distribution integrals and functions inverse to distribution
integrals (the latter, so commonly used in statistics, cannot be
found in any calculator, regardless of the price)
- 3 random generator functions (uniform, Normal, Poisson) to
perform statistical what-if calculations
- 3 conditional functions (e.g., "if the first argument is
negative, take the second one, else take the third")
- 3 mixed-unit entry functions: pounds/ounces, feet/inches,
hours/ minutes/seconds
- 12 user defined functions of one, two or three arguments
All these add up to more than 100 functions, computed, when only
possible, with not less than 18 decimal digits of accuracy
(although only 16 digits of the final result are displayed, and
for a good reason).
3. RESULT REFORMATTING
Any result can be displayed in a number of formats:
- Fixed- and floating point with a user-selectable number of
digits (you can also let the program decide)
- Whole part and fraction, e.g., "8 9/17"
- Pounds, ounces and a fraction, e.g. "3 7 9/16"
- Feet, inches and a fraction, similar to the above
- Degrees, minutes and seconds of angle
- Decimal degrees of angle, same for minutes or seconds
- Hours, minutes and seconds of time
4. VARIABLES
Results of calculations can be stored in variables (memories),
denoted as A..Z. These variables can then be used in other
expressions.
5. UNIT CONVERSION
Any calculation result can be converted between different
measurement units. Conversions for area, energy, force, length,
mass, power, pressure, speed, temperature, time and volume are
provided.
In addition, a number of physical constants have been defined in
the program. Possibly, not many users will need this feature,
but all it costs you is just the space for one button.
6. NUMERICAL OPERATIONS
Kalkulator will take a function typed in as an expression and
perform on it the following numerical operations:
- Numerical integration over a given interval
- Computing a derivative at a given point
- Computing a sum within given argument limits, with a given step
- Find a zero of the function, i.e. solve an equation f(x)=0
inside a given interval
If you do not need these operations, just ignore them: all they
take is another four small buttons at the bottom of the screen.
7. POLYNOMIAL ROOTS
Kalkulator computes roots (real or complex) of polynomial
equations with real coefficients, e.g. c0+c1*t+c3*t^2=0.
Equations up to the third degree (fourth in registered copies of
the program) can be solved.
8. SYSTEMS OF NON-LINEAR EQUATIONS
Kalkulator will solve, or at least attempt to solve, a system
of up to 9 simultaneous non-linear equations with the same
number of unknowns. The Newton-Raphson method is used and, for
well-behaved equations, 17 or 18 digit accuracy is provided.
9. FUNCTION OPTIMIZATION
Given a function of up to nine arguments, Kalkulator will search
for its extremum (minimum or maximum), starting from a given
initial guess. The robust downhill simplex algorithm is used here.
10. FUNCTION GRAPHS
A function defined as an expression can be plotted within a given
x-range; the y-range can be entered manually or computed and
rounded by the program. A number of functions can be plotted on
a single graph canvas, either one by one or simultaneously.
The plotting algorithms are quite smart, making necessary
adjustments to the local line curvature and being capable of
handling points or areas where the function is not computable.
You can invent a function formula to fool any plotting algorithm,
but Kalkulator's is more difficult to fool than most, at least
those I'm aware of.
There is a provision to add coordinate grid, and the graph can be
saved to the Windows clipboard for use in other programs.
11. STATISTICAL OPERATIONS
Kalkulator has a data buffer, capable of storing single data
values (X points) or 64 pairs of values (XY points). Simple
statistical and/on graphic operations can be performed on the
data:
- computing the population parameters: mean, variance, standard
deviation, minimum and maximum values, covariance (for XY points)
- drawing a data histogram (X points)
- drawing a scatter plot (XY points), computing linear or square
regression coefficients and adding the regression line to the
plot
- computing the "goodness of fit" statistics for data distribution
(chi-square, likelihood) or curvilinear regression (sum of squares
or of absolute values)
The data values and the computed parameters can then be used in
any Kalkulator expressions.
You can also define a formula to compute the X or Y values; this
formula may also refer to any points in the buffer.
[The registered version of Kalkulator adds some capabilities
here: the data buffer has the capacity of 6400/3200 data points,
and the program will do polynomial regression up to the ninth
degree. It also allows for saving the data to (or reading from)
an ASCII file.]
12. DATA POINT AND DISTRIBUTION FITTING
Kalkulator will fit tha data stored in the buffer with an
arbitrary function with up to nine free parameters.
- A population of values can be fitted with any distribution
density function using the chi-square or maximum likelihood
best fit definition
- A set of XY data points can be fitted with any curvilinear
regression function minimizing the sum of squared or absolute
deviations.
13. LINEAR ALGEBRA
Kalkulator performs elementary linear algebra operations:
vector and matrix arithmetic's, matrix inversion, solving
systems of simultaneous linear equations.
The elements of vectors and matrices can be also used as
components of arithmetic expressions in all other Kalkulator
operations.
14. COMPUTER MATH
A separate small panel serves as an add-on RPN computer math
calculator to perform arithmetic operations on integers of a
finite bit length (8, 16 or 32 bits) in various input/display
modes (binary, octal, hexadecimal, decimal). Unsigned and
signed (twos complement) modes are supported.
15. THE USER INTERFACE, LOOK AND FEEL
Too many programs throw in lots of features and a kitchen sink,
to the point when navigation through program features becomes
confusing (not to say irritating). In the case of Kalkulator the
major design principle was that the user should not be hampered
by the features he/she does not access.
This is, of course, a highly subjective issue, but Kalkulator at
least makes a honest attempt in this area. Many of the less-used
functions or operations are accessed from tabbed panels. When not
in use, only a tab reminds the user about their existence. The
buttons for more advanced operations (like, say, numerical
integration) can be hidden (which also saves you the valuable
screen space).
All operations, without a single exception, can be performed
without the mouse, using the keyboard only. This was done
primarily with laptop users in mind.
Another nice option allows to shrink Kalkulator vertically to not
much more than two lines of text - just enough space to enter the
expression and to see the result. You may find this feature handy
when using the program while working on some document. (Yes, cut
and paste operations are, of course, supported.)
Last but not least, two different display fonts are provided: one
suitable for the not-so-sharp CRT monitors, and another primarily
(but not only) for the super-sharp active matrix displays.
16. FAULT TOLERANCE
Kalkulator traps internally all user errors. If you attempt an
illegal operation, you will get just a message with the error
diagnostics.
For expression syntax errors, the input cursor will be placed at
the offending expression element, so that correcting the problem
is quite easy. (Compare this with the "E------" display you see
on the "regular" calculators.)
17. PERSISTENCE
When you exit the program, the current status of all operations
and the data is saved to a disk file. Next time you run the
program, you will be able to pick up from the place you left it.
You can also save or reload the program status at any time.
18. ON-LINE HELP
Yes, of course. Kalkulator comes with a standard Windows help
file, quite detailed and comprehensive. Good-looking, too.
THINGS KALKULATOR DOES NOT DO
- Calculations on complex numbers (except of those mentioned
in [8])
- Systems of differential equations
- Symbolic algebra
- Financial math (compound interest, pay-offs etc.)
- Programmability (loops, branching)
- Plotting two-, three- and n-dimensional surfaces
- Bessel functions, elliptic integrals
- Your homework
Depending on your response, some of these features may be
implemented in the future releases (some have been taken from
this list in the last two years); check my Web page every
two months or so. Some will, however, never make it into the
program: symbolic algebra, financial math, advanced plotting.
Many of these features (especially, symbolic algebra) are
implemented in the most impressive Texas Instruments TI-92
calculator (sold at $190 or so). I use it occasionally and I
recommend it very highly. If you are into more serious math,
you have to have a look at the TI-92. Still, as a software
engineer and applied mathematician, for most of my daily tasks
I prefer Kalkulator (don't trust me here as I wrote it; better
check for yourself).
ADDITIONAL NOTES
Kalkulator has been developed for about ten years:
the general concept and much of the user interface are
inherited from "El_Cal - an Elementary Calculator", quite popular
in the Atari ST environment (and still the most powerful program
of its kind; Kalkulator is only getting there). El_Cal has been
under permanent development between 1988 and 1993 (at that time
the ST could run circles around PC clones!).
The expression parser, graphing algorithms and a major part of
the internal program logic are the same as in Ex, a scientific
and engineering program for the HP LX Palmtop computers. This
program, released in 1993 and still being supported, became one
of the more popular pieces of software on the HP LX platform (at
least judging from the number of CompuServe downloads).
Finally, most of the numerical algorithms used in Kalkulator have
been developed and refined in the last 20 years or so, in the
course of my various home and job-related projects. Some of them,
in addition to being used in the programs mentioned above, might
already have affected your life, being a part of various U.S.
Government projects. (Although a physicist by education, I am
making my life as a software engineer.)
The only really new part of Kalkulator is the Windows user
interface. The rest of the program has been around.
###