DrMath
for Java
Online Computer Algebra
System
Dr.
Weiguang HUANG
DrHuang
Pty Ltd
124
Eastern Ave., Kingsford, Sydney, NSW 2032, Australia
Phone: (61 2) 9662 0516
E-mail: info@DrHuang.com, drHuang@mail.com
26 Aug.
2000
Copyright (C) 1990-2000
Contents
PART 1 User's Guide 7
1. Introduction. 7
1.1. What is
DrMath 7
1.2. Capabilities... 7
1.3. Shareware License......... 8
1.4 A List of Files in DrMath 8
2. Calculation.... 9
2.1. Exact Calculation..... 9
2.2. Discontinuity and One-sided Value 10
2.3. Undefined and Indeterminate Form 10
3. Simplification....... 11
3.1. Assuming Domain....... 12
3.2. Comparing and
Testing Numbers..... 13
4. Defining Functions, Procedures and Rules 13
4.1. Defining Functions..... 14
4.1.1. Defining Conditional Functions.......... 14
4.1.2. Defining Case Functions.......... 15
4.1.3. Defining Piece-wise Functions.......... 15
4.1.4. Defining Recursion Functions.......... 15
4.1.5. Defining Multi-Value Functions.......... 15
4.2. Defining Procedures.. 16
4.3. Defining Rules 16
5. Limits....... 17
5.1. One-sided Limits 17
5.2. Numeric Limits: NLim()....... 17
6. Differentiation....... 17
6.1. One-sided Derivatives. 18
6.2. Defining Derivatives. 18
7. Integration... 18
7.1. Indefinite
Integration... 18
7.2. Definite
Integration... 20
7.3. Numeric Integration: NInt() 21
8. Solving Equations... 21
8.1. Solving Algebraic
Equations... 21
8.2. Equation Solver: Solve()....... 21
8.3. Polynomial Solver: PSolve()..... 22
8.4. Numeric Solver: NSolve()..... 22
8.5. Solving Differential Equations... 23
8.6. Differential Solver: DSolve()..... 23
9. Sums and Products..... 23
9.1. Partial Sum 24
9.2. Infinite Sum 24
10. Series and
Polynomials 24
10.1. Series....... 24
10.2. Polynomials. 24
11. Lists and
Arrays, Vectors and Matrices 25
13. Conversion.. 25
13.1. Converting to Numbers..... 25
14. Getting Parts of Expression.. 25
14.1. Getting Type of Data 25
14.2. Getting Operators.... 25
14.3. Getting Operand....... 26
15. Graphics..... 26
15.1. Drawing Lines and Arcs 26
15.2. Plotting f(x).. 26
15.3. Plotting Parametric Functions x(t) and y(t)....... 26
15.4. Plotting f(t) in Polar Coordinates 27
15.5. Plotting Data 27
16. Learning from User 27
16.1. Learning Integrals from a Derivative... 27
16.2. Learning Complicated Integrals from a Simple
Integral....... 28
16.3. Learning Definite Integral from Indefinite
Integral....... 28
16.4. Learning
Complicated Derivatives from Simple Derivative... 28
16.5. Learning Integration from Algebra....... 29
16.6. Learning Complicated Algebra from Simple
Algebra....... 29
16.7. Learning versus Programming 29
PART 2 Programmer's Guide 31
17. Programming in DrMath....... 31
17.1. Data Types....... 31
17.1.1. Numbers.......... 31
17.1.2. Constants.......... 32
17.1.3. Variables.......... 32
17.1.4. Patterns 33
17.1.5. Functions, Procedures and Rules.. 34
17.1.5.1. Standard Mathematical Functions.......... 34
17.1.5.2. Calculus Functions.......... 35
17.1.5.3. Test Functions.......... 36
17.1.5.4. Miscellaneous Functions.......... 37
17.1.5.5. User-defined Functions.......... 37
17.1.5.6. Procedures........ 38
17.1.5.7. Rules.. 38
17.1.6. Equations.......... 38
17.1.7. Inequalities........ 39
17.2. Expressions 39
17.2.1. Operators.......... 39
17.2.1.1. Arithmetic Operators.......... 40
17.2.1.2. Relational Operators.......... 40
17.2.1.3. Logical Operators.......... 40
17.2.2. Function Calls... 40
17.3. Statements.. 41
17.3.1. Comment Statements........ 41
17.3.2. Evaluation Statements........ 41
17.3.3. Assignment Statements........ 41
17.3.4. Conditional.......... 42
17.3.5. Loop... 42
17.3.9. Sequence Statements........ 43
17.4. Libraries..... 43
17.5. Interface with Other Software 44
Part 3 Reference Guide 45
19. DrMathEnvironment: Windows and Menus....... 45
19.1. File Menu 45
19.1.1. Open.. 45
19.1.2. Import Data... 45
19.1.3. Save Input.......... 45
19.1.4. Save Output 45
19.1.5. Print... 45
19.1.6. Exit.... 45
19.2. Input Window....... 46
19.3. Run Menu 46
19.4. Graph Menu 46
19.5. Option Menu 46
20. Inside DrMath....... 47
20.1. Internal Structure..... 47
20.2. Internal Format....... 48
21. System Extension... 48
22. Keywords... 48
22.1. Keywords in Topic Order 48
22.2. Keywords in Alphabetical Order 52
22.3. Library Name 53
22.4. Glossary..... 54
23. References.. 64
DrMath
(former Visual Math) is an online symbolic math and computer algebra
system.
DrMath
is a computer algebra system that can perform exact, numeric, symbolic and
graphic computation. It manipulates complicated formulas and returns answers in
terms of symbols, formulas, exact numbers, tables and graph.
DrMath
is an expert system that is able to learn from user's input. If the user
only input one formula without writing any code, it will automatically learn
many problems related to this formula (eg. it learns many derivatives involving
an unknown function f(x) from one derivative).
DrMath
is a symbolic, numeric and graphics computing environment where you can set
up, run and document your calculation, draw your graph.
DrMath uses external functions as if standard functions since
the external functions in library are auto-loaded.
DrMath
is a programming language, in which you can define conditional, case,
piecewise, recursive, multi-value functions and procedures, derivatives,
integrals and rules.
It
runs on any machine that supports Java.
It
can provide analytical and numeric answers for:
* Differentiation: regular or higher order,
partial or total, mixed and implicit differentiation, one-sided derivatives.
* Integration: indefinite or definite
integration, multiple integration, infinity as a bound, parametric or iterated
implicit integration.
* Solution of equations: roots of a
polynomial, systems of algebraic or differential equations.
* Manipulation of expressions: simplification,
factoring or expansion, substitution, evaluation.
* Calculation: exact and floating-point
numeric computation of integer, rational, real and complex numbers in the range
from minus to plus infinity, even with different units.
* Limits: real, complex or one-sided limits,
indeterminate forms.
* Complex: calculation, functions,
derivatives, and integration.
* Sum and product: partial, finite or
infinite.
* Series.
Also included are:
* External functions in library as if standard
functions.
* Plot:
functions, polar, parametric, and data.
*
Procedural, conditional, iteration, recursive, functional, rule-based, logic,
pattern-matching and graphic programming.
It is
assumed that you agree the Shareware license, which you should register by
US$20 with author after 20 days or you should delete it.
Please
read all *.TXT files before running DrMath. Please copy-and-paste
examples in this document to practise. The printed document (100+ pages) is
available from author.
If
you get the DrMath on ZIP format (eg. .zip), you should unzip it with
parameter -d by
pkunzip -d vm32a c:\DrMath
If
you get the DrMath with the install file, you should install it by install
You
must provide the photocopy of your license or license number for upgrades.
If
you send the author your payment by cheque, money order or bank draft that must
be drawn in Australia, you will get the latest version. If you sign the license
(see the LICENSE.TXT file) and send it to the author, you will be a legal user
for upgrades. If you write a paper about this software on publication, you will
get a free upgrade.
---------------------------------------------------------------------------------------------------------------
In home directory DrMath:
DrMath.html HTML page to run applet.
DrMath.bat batch file to run this application.
DrMath.exe Windows application.
In directory VMath\library:
*.vm the auto loaded libraries (external
functions).
In directory DrMath\text:
DrMath.txt introduction of DrMath.
readme.txt the read-me file, this file should
be read first.
problem.txt problems that other software cannot
solve, but DrMath can do.
comment*.txt comments on DrMath.
statisti.txt the download statistics at FTP site
of garbo.uwasa.fi.
shareware.txt Shareware concept.
softwar