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