0% found this document useful (0 votes)
49 views12 pages

Step-by-Step Solution Possibilities in Different Computer Algebra Systems

This document compares how four computer algebra systems (DERIVE, Maple, Mathematica, MuPAD) handle step-by-step solutions to equations. It provides examples of one-step solutions to simple equations and examines capabilities for step-by-step solutions like showing intermediate steps, allowing the student to solve step-by-step with hints, or programming detailed step solutions. The document also surveys commands for algebraic manipulation and entering commands in each system.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views12 pages

Step-by-Step Solution Possibilities in Different Computer Algebra Systems

This document compares how four computer algebra systems (DERIVE, Maple, Mathematica, MuPAD) handle step-by-step solutions to equations. It provides examples of one-step solutions to simple equations and examines capabilities for step-by-step solutions like showing intermediate steps, allowing the student to solve step-by-step with hints, or programming detailed step solutions. The document also surveys commands for algebraic manipulation and entering commands in each system.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Step-by-Step Solution Possibilities in Different Computer Algebra Systems

Eno Tõnisson

University of Tartu
Estonia
E-mail: [email protected]

Introduction

The aim of my research is to compare different computer algebra systems, and specifically to find out how the
students could solve problems step-by-step using different computer algebra systems. The present paper
provides the preliminary comparison of some aspects related to step-by-step solution in DERIVE, Maple,
Mathematica, and MuPAD. The paper begins with examples of one-step solutions of equations. This is
followed by a cursory survey of useful commands, entering commands, programming etc. I hope that a more
detailed and complete review will be composed quite soon. Suggestions for complementing the comparison
are welcome.

It is necessary to know which concrete versions are under consideration. In alphabetical order:

DERIVE for Windows. Version 4.11 (1996)


Maple V Release 5. Student Version 5.00 (1998)
Mathematica for Students. Version 3.0 (1996)
MuPAD Light. Version 1.4.1 (1998)
Only pure systems (without additional packages, etc.) are under consideration.
I believe that there may be more (especially interface-sensitive) possibilities in MuPAD Pro than in MuPAD
Light.

My paper is not the first comparison, of course. I found several previous ones in the Internet. For example,

1. Michael Wester. A review of CAS mathematical capabilities. 1995


There are 131 short problems covering a broad range of symbolic mathematics.
http://math.unm.edu/~wester/cas/Paper.ps

(One of the profoundest comparisons is probably M. Wester's book Practical Guide to Computer Algebra
Systems.)

1
2. Laurent Bernardin. A Review of Symbolic Solvers. 1996
There are 80 problems (mainly equations, inequalities and systems).
http://www.inf.ethz.ch/personal/bernardi/solve/review-A4.ps

In our paper the problems under consideration are quite simple. But in case of school applications we cannot
accept wrong output (the message „I cannot solve“ could be acceptable).

One-step solutions
Before going to step-by-step solution, we study how computer algebra systems manage to solve various simple
equations in one step. My first examples in this paper are directly from school mathematics. The problems are
taken from the final examinations of grade 9 and 12 of Estonian schools.
Originally, the exercises are for solving without the aid of a computer algebra system. I try to use the SOLVE-
command of the abovementioned systems.

Example 1. It seems to be a quadratic equation, but actually it is a linear equation.

(4x-1)(x+3) =5x(0.8x+2)

DERIVE 3
Maple 3
Mathematica 3
MuPAD {-4611686018561605634.0, 2.75}
Comment. We teach the students to substitute received solution into the equation and reject the extraneous
solutions. Could the computer algebra programs do the same?

MuPAD *) has problems with exact operations with 0.8. Using 4/5 instead of 0.8 gives the correct answer.

Example 2.

2(a+2x) = ax+3 for x

2a − 3
DERIVE
a+4

2a − 3
Maple
4+a

2
3 − 2a
Mathematica −
4+a

2a − 3
MuPAD −
−a−4

Every system gives an answer. The answers seem different but yet are all correct.

Example 3.
15 9 5
− =
x 2 − 4x − 5 x 2 − 5x x2 −1

Maple, Mathematica, and MuPAD give the right answer: -9. DERIVE returns the set: -9, ∞ , − ∞ Are the
extra infinities good or bad?

Examples 4, 5, 6.
Absolute value in equations
|7x - 15 | = 6

|2x2 - 5| = 3
|9 - 2·|5 - x|| = 13

These equations are easily solvable for every system.

Example 7. Two separated absolute values in the equation seem to provide a more complicated problem.

|x+2| + |x+1| = 3

DERIVE does not solve algebraically (output line: [|x + 2| + |x + 1| = 3]). If we use numerical solving, we get
0 or -3 according to bounds. Maple and Mathematica give the right answers: 0 and -3. The problem is too
complicated for MuPAD *). (Output line solve (abs(x + 1) + abs(x + 2) = 3)

3
Example 8.

3+ 5− x = x

DERIVE 4
Maple 4
Mathematica 4
MuPAD
1/2 1/2 1/2
solve(((5 - x) + 3) = x )

This equation is too complicated for MuPAD.

*) Comment
Frank Postel from MuPAD group wrote that the new version of MuPAD, which will be distributed in 2000
and is currently under development, solves the equations
(4x-1)(x+3) =5x(0.8x+2),
|x+2| + |x+1| = 3 (if we rewrite abs with sqrt notation solve(sqrt((x+2)^2)+sqrt((x+1)^2)=3); ),

3+ 5− x = x
[Postel 99].

Step-by-step solutions. Background.

Previous examples were one-step solutions, where we got the answer immediately. This, however, does not
provide good possibilities for the process of learning in some sense. The step-by-step solution seems to be a
way of using computer algebra systems more efficiently for learning. In the step-by-step solution the main
questions are: Who makes the steps? and How the steps are made? One of the possible lists of options is given
below. Various types could be useful in the concrete situation depending on the stage of the learning process.

• Computer algebra system solves the problem in one step as a black box.
The above examples illustrated this type.

4
• Computer algebra system gives detailed solution steps.
This type gives more information about the solving process to the student. It could be more complicated for
computer algebra system because the solving process has to be „human“. There are no commands of this kind
in computer algebra systems, someone (for example teacher) may program these possibilities for the specific
problem type.

• The student solves the problem step-by-step with the help of the computer
algebra system. (Some steps as white boxes, some as black boxes. [Buchberger 90])
Unlike the above types the student is active. Student must know what to do. Computer algebra system is used
for realization of the step chosen by the student.

• The student solves the problem step-by-step, and the computer algebra system
gives feedback, hints etc. (This type may actually be called ‘an intelligent tutorial system’ if the feedback and
hints are on the required level.)

Step-by-step approach in computer algebra systems.


At first, I tried to find information on the step-by-step solution in the help systems of computer algebra
systems. There are a couple of words about it in the Maple introduction to the student package. Mathematica
has a demo-file on the step-by-step differentiation, (similar to the example shown by Josef Böhm during his
presentation). There is the command Trace, but it does not work very well in solving equations.

Why computer algebra systems do not "want" to show steps? One reason for this is that they use other
algorithms than described in the school text-books, and the intermediate results may make no sense for human
beings.

5
Some possibilities related to step-by-step approach

It is necessary to be acquainted with various facilities for organizing step-by-step solution. A brief survey of
several aspects that concern step-by-step approach is given below.

Automatic simplification

We are concerned with showing the solving steps. In this sense, automatic simplification is an interesting
topic. If we enter an equation to the input line in Maple, Mathematica, or MuPAD, the automatic
simplification is done immediately.

Example 9.
Input line: 2x + 4x + 5x = 5

DERIVE 2x + 4x + 5x = 5
Maple 11x = 5
Mathematica 11x ==5
MuPAD 11x = 5

It seems to be a very powerful idea. But for learning? It depends on the situation. The step could be done
automatically by the computer algebra system if the skill is already acquired by the student. If the idea is to
learn the skill, automatic simplification has bad influence on the learning process. We skip the basic skills, for
example the collecting of terms, in this example.

Example 10.

3x - 2 (2x - 5) = 2 (x + 3) - 8

DERIVE 3x - 2 (2x - 5) = 2 (x + 3) - 8
Maple -x + 10 = 2x - 2
Mathematica 3x - 2 (-5+2x) == -8 + 2 (3+x)
MuPAD 10 - x = 2x - 2

Maple and MuPAD automatically clear parentheses. Mathematica changes the order of terms.

6
Algebraic Commands

The tools for transformation of expressions and solving equations have an essential role in computer algebra
systems. All systems have nearly the same set of basic commands for algebraic manipulation.

I have already shown some examples of the application of the SOLVE-command. Every computer algebra
system has possibilities for application of simplification rules to an expression (Simplify), for expanding an
expression (Expand), for factorizing a polynomial (Factor).

Generally, these commands work as black boxes and their use in the step-by-step solving is limited.

The operations that make it possible to handle different parts of expression (equation) separately are extremely
useful for the realization of various algorithms. Maple and DERIVE have operation lhs (rhs) for selecting the
left (right) hand side of an expression.

In Mathematica, we have to use First and Last, and in MuPAD, op instead of lhs and rhs. It is also possible to
use operations Part (in Mathematica), op (in Maple and MuPAD), and TERMS (in DERIVE) for selecting
different parts of an expression.

Entering commands

Entering commands (as interface problems on the whole) is significant because it determines how the student
can use one or another possibility in reality. There are three ideologically different possibilities for using
commands:

• enter command in input line


solve(2*x=4)

• select command from menu

7
• select command from palette

Every computer algebra system provides the possibility to type the command in the input line. DERIVE has
the menu possibility and Mathematica has a palette system.

Subexpressions and order of operations

One key concept in the step-by-step solution is subexpression. Actually, we can roughly say that every step in
equation solving or the simplification of expression consist of selecting the subexpression, choosing the right
rule and application of the rule. It is natural to expect that the program copies the left and right wing of the
whole expression to the next line. We examine the possibilities to select a subexpression (with mouse) and to
apply a command to this subexpression. In DERIVE, only mathematically correct subexpressions are
available. In Maple and MuPAD, it is impossible to select a subexpression with mouse. In Mathematica, it is
2
possible to select various substrings. For example, we can select from x - 4x = 0 a correct subexpression.

By the use of FACTOR-command:

It is easy to find solutions: 0 and 4.

8
We can select a substring that is not a subexpression. It is easy to make this mistake because the expression

x 2 − 4 is a classical example of rule a 2 − b 2 = (a + b)(a − b) .

By the use of FACTOR-command Mathematica factors the substring and concatenates the result to x==0.

Further we get the right solution 0 and the wrong solutions 0, 2 and –2. And again the question rises, which
types of false steps must the student be able to make. Only mathematically correct steps?

Selecting of a subexpression is closely connected with the problem of the order of operations. Rein Prank has
experience in teaching the basic course on mathematical logic in the University of Tartu for several years. He
has used Program Formula Manipulation Assistant for his basic course on mathematical logic.

Rein Prank and his colleagues formulated the following law.


If student had violated a conversion rule then he is able to correct the mistake himself using his textbook or
lecture notes. But many students violate the order of operations and are then not able to correct the mistake.
[Prank 97, with examples]

Similar problems with the structure of expressions and the order of operations are in algebra.

Algebraic manipulation line-by-line

Bernhard Kutzler has a nice example how to realize this kind of approach by the use of DERIVE, where the
student solves the problem step-by-step with the help of the computer algebra system [Kutzler 96]. There are
some steps as white boxes (student enters line: #1, #2, #4, #6) , some as black boxes (DERIVE computes: #3,
#5, #7).

#1 5·x - 6 = 2·x + 15
#2 (5·x - 6 = 2·x + 15) - 2·x
#3 3·x - 6 = 15
#4 (3·x - 6 = 15) + 6
#5 3·x = 21
#6 (3·x = 21) - 3
#7 3·x - 3 = 18

9
DERIVE has the possibilities to solve equations step-by-step in that way. The user tells what to do, and
DERIVE acts upon the commands. Let us take a look at other systems. In Maple, we may only multiply and
divide in this way. Mathematica and MuPAD do not provide that kind of possibility.

So we want to create tools for line-by-line solution. At first, we examine changing of the sides of an equation
with the aid of lhs and rhs operations.

Example 11.

equ := 2x - 6 = 7x + 8
rhs(equ) = lhs(equ)
DERIVE 7x + 8 = 2x - 6
Maple 7x + 8 = 2x - 6
Mathematica 8 + 7x == -6 + 2x (First, Last)
MuPAD 7x + 8 = 2x - 6 (op)

It is possible to compose a simple one-line procedure for changing sides


of an equation.

DERIVE
ChangeSide(equat):=rhs(equat)=lhs(equat)

Maple
ChangeSide:=proc(equat);
rhs(equat)=lhs(equat);
end;

Mathematica
ChandeSide[equat_]:=Last[equat]==First[equat]

10
MuPAD
ChangeSide:=proc(equat)
begin
op(equat,2)=op(equat,1);
end_proc;

A slightly more complicated procedure for adding an expression to both sides of an equation is given below.
DERIVE
ADDTOBOTHSIDES(equ, add) := LHS(equ) + add = RHS(equ) + add

We can program similar procedures in Maple, Mathematica, and MuPAD. We can compose a set of
procedures needed for the concrete type of an exercise. (There was a set of procedures in Mathematica shown
by Karl Fuchs and Alfred Dominik in ICTMT4 in Plymouth. [Fuchs & Dominik 99] contains the procedures
ChangeSides AddToBothSides, SubtractFromBothSides, etc., etc.)

Procedure solvestep

In the end of the paper I describe a possibility where computer algebra system gives detailed steps of solving a
linear equation.

We can use a procedure (named solvestep), which provides comments on what to do in the next step as well as
the result. It is possible to compose this procedure in Maple, Mathematica, and MuPAD. (The text of the
procedure is not shown here.)

Solvestep(3x - 2 (2x - 5) = 2 (x + 3) - 8)

Clear parentheses: 3x - 4x + 10 = 2x + 6 - 8
Combine like terms: -x + 10 = 2x - 2
Subtract 10 from both sides: -x = 2x - 12
Subtract 2x from both sides: -3x = -12
Divide both sides by -3: x = 4

Conclusion
It seems that computer algebra systems have rather good mathematical competence; however, they do not have
very good competence for step-by-step approach (yet?!). This paper provided a very brief overview of some
aspects related to step-by-step solution problems.

11
References
[Buchgerger 90] Bruno Buchberger. Should Students Learn Integration Rules? SIGSAM Bulletin, Vol 24, No
1, Jan 1990

[Fuchs & Dominik 99] Karl Fuchs, Alfred Dominik. MATHEMATICA palettes - a methodical way to
provoke students into using mathematical strategies. ICTMT 4. 1999.

[Kutzler 96] Bernhard Kutzler. Improving Mathematics Teaching with DERIVE. Chartwell-Bratt Ltd, 1996.

[Postel 99] Frank Postel. Private letters after Gösing conference. September 1999.

[Prank 97] Rein Prank. Good Diagnostics = Adequate Stepwise Solution Interface? ICTMT 3. http://euler.uni-
koblenz.de/ictmt3/cd-rom/pdf/prank.pdf 1997.

12

You might also like