Re: Question about Simplify and related

*To*: mathgroup <mathgroup at yoda.ncsa.uiuc.edu>*Subject*: Re: Question about Simplify and related*From*: Harald Hanche-Olsen <hanche at imf.unit.no>*Date*: Fri, 25 Jan 91 17:54:25 +0100

Allan Hayes (HAY at leicester.ac.uk) wrote: AlgebraicRules[ , ] can be very useful in dealing with polynomial simplification. ... eqns = { c1^2 + s1^2 == 1, c2^2 + s2^2 == 1, c3^2 + s3^2 == 1 } vars = { c1,c2,c3,s1,s2,s3 } algRls = AlgebraicRules[ eqns, vars ] Indeed AlgebraicRules can be useful, but one rather infuriating (to me) feature of AlgebraicRules is its insistence that you name *every* variable in the expression you want to simplify, even if it is not itself involved in the simplification. For example: In[4]:= c2^3 c1^4 /. algRls (* this works fine *) 2 4 2 2 2 4 2 Out[4]= c2 - 2 c2 s1 + c2 s1 - c2 s2 + 2 c2 s1 s2 - c2 s1 s2 In[5]:= a c2^3 c1^4 /. algRls (* but this does not *) 4 3 General::newv: a c1 c2 involves variables not among {c1, c2, c3, s1, s2, s3} . 4 3 Out[5]= a c1 c2 Why is this so? The reason I find it infuriating is the logistical problems I run into if I have a huge expresseion with oodles ov variables and I just want to subject a few of those variables to algebraic simplification. Is there a way around this, other than keeping a long list of all variables in my problem? It would be nice if you could also have trancendental functions in there, i.e. Cos[c3^6] c2^4 /. algRls ought to yield Cos[(result of (c3^ /. algRls)] (result of (c2^4 /. algRls)). - Harald Hanche-Olsen <hanche at imf.unit.no> Division of Mathematical Sciences The Norwegian Institute of Technology N-7034 Trondheim, NORWAY