[comp.edu] SymbMath

huang@deakin.OZ.AU (W Huang) (02/18/91)

	As I am interested in symbolic and exact computation, I have written
my software, named SymbMath, to do symbolic and exact computation. I wish that 
I would find the financial aid for extending, developing and commercializing 
the software. Do you know who has any financial support for that ? I will give 
you my software for demonstration if you are interested.
Thank you.

Yours,
huang

E-mail address is huang@deakin.oz.au

----------------------------------------------------------------------------
			SymbMath


			by Weiguang HUANG
	Department of Chemistry, Deakin University, VIC. 3217, Australia

			1. Introduction
	SymbMath, an abbreviation for Symbolic Mathematics, is an expert
system that can solve symbolically mathematical problems. Symbolic 
mathematics is also called Computer Algebra, Symbolic Manipulation, 
Algebraic Manipulation, Symbolic Computation, or Algebraic Computation. 
SymbMath performs symbolic, formula as well as exact numeric computation. 
It can manipulate complicated formulas and return answers in terms of 
symbols, formulas and exact numbers, not just floating-point numbers. 
	There are a number of software for symbolic computation, e.g.
MACSYMA, Reduce, MAPLE, Mathematica, MicroCalc, etc. [1-3]. But MACSYMA 
runs on the special mainframe. Mathematica runs on the microcomputer 
Apple Macintosh with 4 MBytes of RAM. MicroCalc is available for IBM PC.
MicroCalc provides graphical or numerical answers, and recongises special 
symbols as constants (e.g. a, b, c, h) and variables (e.g. x, y, z), but 
outputs formula only for derivatives.
	SymbMath runs on IBM-PC under MS-DOS and accepts any symbol as 
constants or variables, output two-dimensional display.
	SymbMath is growing although it has the limit feature now.
	If you are interested or have any problem, please write to author.

			2. Capabilities
	Its capabilities include facilities to provide analytical or 
numerical answers for:
	1. differentiation: derivaties, high order derivaties, partial 
derivatives,
	2. integration: indefinite integration, definite integration, double 
integration, triple integration, multipble integration, infinite integration, 
parameter integration, iterated integration, line integration,
	3. solution of polynomial equation,
	4. manipulation of expressions: simplification, factorisation, 
expansion, substitution, evaluation,
	5. calculation: exact or floating-point numerical computation of the 
integer, fration, real and complex number, even with different units,
	6. the user-defining new functions, about 20 built-in mathematical 
standard functions,
	7. chemical calculation: calculation of the molecular weight by 
entering the symbols of the chemical elements,
	8. others such as greatest common divisor, limits, extrama, Taylor 
series, etc.
	SymbMath has on-line help, and allows users to edit the help file as 
they like.

			3. Programming
	It can be used as an interpreter, the program is run in a batch file.
For example, on the MS-DOS prompt, the program MYPRO.PRO runs as follows
A:\> SymbMath<MYPRO.PRO

			4. Exapmles
	Students can use SymbMath as an investigative tool to learn 
mathematical rules such as the differentiation and integration rules.
	In following examples, an expression beginning with
"->" is the input expression, and an expression without "->" is the output
expression, where "->" is the SymbMath prompt, similar to the MS-DOS 
prompt "A:\>".

			4.1 Chain Rule
	Example 1 : set f1=x^2+y^3, then put f1 into sin(f1)+cos(2*f1).
->f1=x^2+y^3

 2    3
x  + y
->z=sin(f1)+cos(2*f1)
->z
     2    3            2   3
sin(x  + y ) + cos(2 (x + y ))

	Exapmle 2: after example 1, differentiate the last function with 
respect to x.
->diff(#,x)

         2   3                2   3
2 x*cos(x + y ) - 4 x*sin(2 (x + y ))

where special symbol "#" stands for the last function, e.g. after example 
1, "#" is sin(x^2+y^3)+cos(2*(x^2+y^3)).

	Exapmle 3: save result to f2.
->f2=#

         2   3                2   3
2 x*cos(x + y ) - 4 x*sin(2 (x + y ))

			4.2 Integration
	Example 4: find the definite integral of y=exp(1-x) with respect to 
x taken from x=0 to x=infinity.
->inte(exp(1-x),x,0,inf)
e
	Example 5: find the line integral by


->x=2*t
->y=3*t
->z=4*t
->u=x+y
->v=x-y
->w=x+y+z
->inte(u*diff(u,t)+v*diff(v,t)+w*diff(w,t))

     2
107 t /2

			4.3 Calculation
	It can mainipulate units as well as numbers, be used as a symbolic
calculator, and do exact computation.
	SymbMath contains many built-in algorithms for performing numerical
calculations.
	Example 6:
->sin(pi/4)

 -1/2
2   
	Example 7: set units converter from minute to second units, then 
calcutae numbers with different units.
->minute=60*second
->v=2*meter/second
->t=2*minute
->d0=10*meter
->v*t+d0
250 meter

			4.4  User-defining Function and Evaluation
	Example 8: define a new function z=sqrt(x^+y^), then evaluate z when
x=1 and y=2, and when x=3 and y=4.
->z=sqrt(x^2+y^)
->subs(x=1,y=2,z)
sqrt(5)
->subs(x=3,y=4,z)
5
	Note that after evaluation, x and y should be cleared from memery by
x=x, y=y before differentiation of the new function. Otherwise all of x and 
y still are 3 and 4 until new values assigned.

			4.5 Solution of Equation
	Example 9: solve a+b*x+x^2=0, save the root to x, find the value of
x when a=3 and b=4.
->solve(a+b*x+x^2) 
x =  

              2     1/2                2     1/2
 -b/2 + ((b/2)  - a)   ,  -b/2 - ((b/2)  - a)
->x=#
->a=3,b=4,x
3, 4, -1, -3

			4.6 Chemical Calculation
	Example 10: calculate the weight percetage of the element C in the 
molecule CH4.
->chemical=on
->numerical=on
->C/(C+H*4)*100*%
74.868 %

			References
[1] Buchberger, B., Collins, G.E., and Loos, R., 1983, Computer Algebra
    (New York: Springer-Verlag), pp. 4-7.
[2] Oman, P., 1990, IEEE Software, Vol. 7, pp. 93-95, pp. 98.
[3] Calmet, J., 1987, Int. J. Math. Educ. Sci. Technol., Vol. 18, No. 5, 
    pp 663-680.