RE: Mathematica 4.0 features
- To: mathgroup at smc.vnet.net
- Subject: [mg31431] RE: [mg31422] Mathematica 4.0 features
- From: "David Park" <djmp at earthlink.net>
- Date: Sat, 3 Nov 2001 18:25:08 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
This is the kind of thing that Mathematica is not naturally great at because it usually does a lot of automatic simplification. So if you do Factor[(a^3*b - a*b^3)/(a^3*b - 2*a^2*b^2 + a*b^3)] (a + b)/(a - b) you lose the intermediate steps. Ted Ersek and I have developed a package ExpressionManipulation, available at my web-site, which goes some way to permitting detailed manipulation of expressions. In this case, we have to put the expression in a HoldForm, and we also need an auxilary function to factor out a subexpression leaving the rest of the expression expanded. EvaluateAt is a routine which will apply and evaluate a function at specified positions within a held expression. Needs["Algebra`ExpressionManipulation`"] FactorOut[subexpr_][expr_] := subexpr (Simplify[expr/subexpr] // ExpandAll) Then we can evaluate step-by-step to obtain your intermediate expressions. The output looks much better in StandardForm. e1=HoldForm[(a^3*b - a*b^3)/(a^3*b - 2*a^2*b^2 + a*b^3)] EvaluateAt[{{1, 1}, {1, 2, 1}}, FactorOut[a*b]][%] EvaluateAt[{{1}}][%] EvaluateAt[{{1, 1}, {1, 2, 1}}, Factor][%] ReleaseHold[%] HoldForm[(a^3*b - a*b^3)/(a^3*b - 2*a^2*b^2 + a*b^3)] HoldForm[(a*b*(a^2 - b^2))/(a*b*(a^2 - 2*a*b + b^2))] HoldForm[(a^2 - b^2)/(a^2 - 2*a*b + b^2)] HoldForm[((a - b)*(a + b))/(a - b)^2] (a + b)/(a - b) I got the positions of the numerator and denominator by: posn = Position[e1, _Plus] e1 // ColorPositions[posn] {{1, 1}, {1, 2, 1}} ColorPositions is a package routine which colors and labels positions so one can check that the positions are the desired ones. David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ > From: DinCo [mailto:vladimir.oletic at ck.hinet.hr] To: mathgroup at smc.vnet.net > > Does Mathematica (version 4.0 or higher) have an ability to do the > calculations with symbols and to do just selected operations -for > an example > just to simplify (reduce) the algebric expressions and at the same time to > show all the steps that have been made (look at the example)? > > a^3b - ab^3 ab(a^2 - b^2) (a - b)(a +b) a + b > --------------------- = ---------------------- = --------------- = ------- > a^3b - 2a^2b^2 + ab^3 ab(a^2 - 2ab + b^2) (a - b)^2 a - b >