MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Expression manipulation

  • To: mathgroup at
  • Subject: [mg88813] Re: Expression manipulation
  • From: Cca <cca at>
  • Date: Sat, 17 May 2008 05:30:49 -0400 (EDT)
  • Reply-to: Cca <cca at>

Just for the record. Mathematica is much powerful than it appears to be. (Anyway, I hope J. Harrison is working to make notation manipulation easier.)

Some years ago I wrote a package (for Mathematica 5.0) that I called playEquation.

I used it to teach algebraic manipulation, first and second order equations and more. It worked extremely well for teaching. Extremely well. Believe-me: extremely well!!

The general idea is very simple: just select and press a button or simply press a button. Here is a simple example from a tutorial that I wrote (in portuguese).

(1) You start with the equation 3x-7==14 on input cell in your notebook.
(2) To solve the equation, you can add 7 to both members, or subtract -7 from both members. Suppose you wants the later. Then you just select -7 and press the button *-* buttom on the control palette.
(3) This is what happens in sucession:
* the pressed button is highlighted;
* a nice short "beep" is emited;
* the user selection (-7) goes to an input field and stays selected;
* the notebooks sizes (control palette and user notebook) are automatically adjusted to fit on the vertical according to the height of the selection (-7);
* a cell "Subtracting -7" is pasted below your input cell;
* and for a brief moment (1.5 seconds) the program shows another cell with a freezed intermediate step before evaluation):(3x-7)-(-7)==14-(-7)
* the freezed cell is then evaluated to 3x==21.

Finally you must divide by 3. So you select 3 and press the divide button. As before, the program beeps, the pressed button is marked, the user selection (3) goes to the input field, etc.,  and for a brief moment (1.5 seconds) the program shows  3x/3==21/3 (in TraditionalForm) and then this: x==7. Instead of selecting, you could also just type 1/3 in the input field and press the times button.

In order to solve a second degree equation/inequality, the user:
selects the variable to solve for, unless there is only one, in which case the program automatically identifies the variable. (In any case, the  variable goes to the input field.) However, this is not a mere Solve-like command. Instead, as in a normal class, the user will have to put his equation (by using the other buttons) in one of the following traditional forms:

a x^2+b x+c==0.

Only then the solve button will print the result carefully formatted as the user would see it in a traditional book.

You could also solve equations with radicals, inequalities, do some algebraic replacements of variables, customize your interface, create you own operations, etc.

Unfortunately, I stopped there. The package was not updated to Mathematica 5.2 or 6.


Carlos César de Araújo
Gregos & Troianos Educacional
Belo Horizonte, MG, Brasil
(31) 3283-1122

  • Prev by Date: Re: Re: Asking NonlinearRegression
  • Next by Date: Range of Use of Mathematica
  • Previous by thread: Re: Expression manipulation
  • Next by thread: Multiple clipboards