Best tool for verifying algebraic manipulations

739 Views Asked by At

Can anyone advise a tool that is very convenient for verifying algebraic manipulations step by step as I work. I too often waste hours dealing with a wrong formula because I missed a sign somewhere. I use Mathematica for this by doing things as follow... but have found it awkward.

eq3 := 2 E^((b - d) t) (b - d) == b*E^((b - d) t) - d

eq4 := eq3[[1]]/E^((b - d) t) == eq3[[2]]/E^((b - d) t)

The basic requirement of the tool is to catch trivial mistakes immediately.


Just to make sure I was clear on this, I'm looking for a tool to verify after the fact that steps I took are accurate, not to show me steps for solving something.

I'm actually quite familiar with Mathematica and use it a lot, I'm just looking for something that is oriented more towards convenience for verification rather than solving.

What I really want is something to increase my efficiency when I'm "exploring" on my own, so I don't have to spend so much time double and triple checking my work for trivial errors.

3

There are 3 best solutions below

0
On

You can try to use 'Trace'. Sometimes Wolfram Alpha has a button "Show steps" which shows the working. In general though, the answer is no as the algorithms used by computer algebra systems to evaluate expressions are usually different than the ones we use (in the case of Mathematica, they're also protected)

2
On

Are you familiar with Sage Notebook, online? It's also available as a download (online use and download both free). I don't know that it is easier to use than Mathematica, but I believe it has less steep of a learning curve compared to Mathematica. You can learn more about Sage here (documentation, manual, reference, etc.). When you register with Sage Notebook on-line, you create an account that allows you to save all your work online allowing you access to it anywhere you can get internet access.
More about Sage at Wikipedia.

Also, have you worked with WolframAlpha? Access site here. Good for quick checks!

I qualify the above with a word of caution, however. I encourage you to develop some comfort and confidence solving problems without computing assistance to check your work along the way; after all, you won't always have access to a computer program (e.g. on TESTS!)...And sometimes we really do learn best from our mistakes and by developing the capacity to assess our own work ("debugging", e.g.!)

I think I understand your thinking/approach; I'm just adding a word of caution so you do not to become too "dependent" on computer programs to verify your work!

EDIT

It occurred to me that evaluating equalities (e.g. step1 = step2) as boolean expressions might be one way to go? You could save time and effort, e.g. by evaluating step1 = step5, (or even "stepStart" = "stepFinish") and if false, back-tracking to to smaller intervals to find where you may have erred. (And if true, yay!) I'm guessing that could be done (evaluating boolean expressions: equalities, inequalities, etc.) with Mathematica. (Perhaps that's exactly what you were trying to convey in your post!) I know that I've used GAP (which is in Sage) in a similar manner: e.g. rather than relying too much on GAP (part of sage), I use boolean expressions to evaluate whether my conclusions are correct (true)...

0
On

I have found MATLAB's "Symbolic Toolbox" very helpful for this purpose and it is simple to use, with a very well written "Help".