Thorsten Pawletta, University of Wismar, Dep. of Mechanical-, Process-
and Environmental Eng.,
Interpreter for symbolic manipulation of mathematical
expressions
Author: Jens- Uwe Dolinsky (other
projects)
Students' group: I93
E-mail u.dolinsky@iname.com
Diese
Seite in Deutsch
Contents:
-
The features of the system
-
Conventions and usage
-
Some examples
-
Download:
-
Character- mode Executables for
-
Try the Java-
Version (Applet) of the interpreter (100% Pure Java)
The aim of this work was the development of a manipulator for mathematical
expressions, which is able to analyse the syntax and semantic of an expression
and to simplify or transform it with respect to general algebra rules.
In brief, the interpreter should have the characteristics of a simple computer
algebra system. Demanded and realised features were symbolic differentiation
and integration, but also numerical aspects were considered.
The main interest of the development was to achieve flexibility, functionality
with least program architecture and a simple adaptability to many different
calculation problems. An optimal representation or special visualisation
of the results of the calculations was not essential yet. But the author
has always an open ear for ideas or other opinions about suitable
extensions.
The project was programmed in C++.
The result is a platform independent interactive interpreter with the
ability to compute following operations:
-
Symbolic differentiation:
-
algebraic expressions can be derived with respect to any variables in any
order
-
partial derivations
-
Symbolic integration
-
definite and indefinite integration with respect to any variables
-
several different standard integrals are supported
-
integral tables from:
-
Wilhelm G?hler: H?here Mathematik.
Publisher: Deutscher Verlag fuer Grundstoffindustrie, Leipzig 1989
-
Numeric Calculations
-
- Supports the basic arithmetic operations on symbolic level, meaning
they are implemented as String manipulating functions rather than using
processor functions. Thus they can theoretically handle arbitrary long
numbers. However, the parser restricts the length of identifiers and
numbers to up to 80 digits.
- A float value of an arithmetic expression can be obtained by putting
it into an APPROX(...)- statement (see below).
-
factorial calculation
-
floating point calculations
- Taylor approximation
-
development of functions into the Taylor series on any position in any
order
- Fourier analysis
-
development of functions into the Fourier series in any intervals in any
order
- Equation solving
- solves linear and quadratic polynomial equations symbolically