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

http://www.DrHuang.com/

http://www.DrHuang.net/

 

 

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

 


PART 1  User's Guide

 

1.   Introduction

1.1. What is DrMath

 

            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.

 

 

1.2.     Capabilities

 

            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.

 

 

 

1.3.  Shareware License

 

            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.

 

1.4  A List of Files in DrMath

 

---------------------------------------------------------------------------------------------------------------

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